From nobody Thu Jun 12 19:31:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJCLp1mS6z5yJFr; Thu, 12 Jun 2025 19:31:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJCLp0N70z3Lmw; Thu, 12 Jun 2025 19:31:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749756674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cx5Jnvbc4vkevDCrpOUEzVni45RzLqx0ZrdpUA0neJA=; b=szLMc9SDtzp9x0yOwlYwSYOsPTIjCcErKd2JkUoEODN7zRhhVByG+J/F0/fhhOyNHlca+v WR5miTVhDKEePToOhH/TF+gXBeQUw2nITqL4XNMK8dgdphPcTVVuyHQcmzSMb5XCnPHXNz ZSSrynAu9Tkkflj+Zd29Mm64mLiuzqRvGTcSMwznibr/VvvGuwP++puXNzekb2mmO6jbTc 2LJxBdOZ+mqOW5MRsxxJdP0yfNNcrfWZYXeh0FlRmr17oZ+2IoB8Z/HSbwfvxAr8dCwy7s SBKdr3UZQZbZgLNbj1yOkN6Vtm5zDkn8yEIGHUZiEFj5BWLZasfoZi5t5cgchQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749756674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cx5Jnvbc4vkevDCrpOUEzVni45RzLqx0ZrdpUA0neJA=; b=Ck/SamC57rrT8EO6rqBZiRR1p9XJEWaChXdp1HQOnxWv0xhzD6yvArGW8LWDWsE91z2m7f vfGV5PIx9JE15Bs81C1ksZ8XQGQOFCqHA4DeoVtStGKrMUhBtj1YDy47+QuPWz2p3jQmrt GtnAfD/vpI4DLV+PKFhai+T2uZwN+pjp6zUTyZrKVZjPnA9Dx8RvYqbnq4dF6QJGxX0Wrn 7B6dNKu5eBMEKkTKNjT9fj/gkWaQKgIkSp5zcj5JU9qPOSh/yuMHKMrhXT6no9eZ5m13Ui c6XZnvhtLI3bUCXEHB3wsOOX23QfRkDtkEJVKYWdBMW7ZbhE6HPvNdIUuEedcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749756674; a=rsa-sha256; cv=none; b=tmXkcSY6gFvYm8XdhL7EryP5hGK2LyqBj0zZCUCA3GvVGT5zBtiQGpPDf2gpAFwPMwdp9L QgSEc85m06C+MjFZyJOKxI1pnRuFMXKt4OAYtYlmq+a4979kNXGrjR59R3erQcilDqX1yy nt86rVfGxkGchUJggZqi2w9uNMJ78JblFKary04UjG6idvtXjtvLqZsvQWaSGNcoq56mLp aeBB0Bszg/Xp3hCC3/E9NJgXNCyQlKCgJfZ+z4wWLxj4gIvMRaOTHrd7gwWs1lzrdaX6Ie VdIu7r2Piw/SHKeemt1yHJFIomi7V4QLbwHZB8pGeWaAQYNaChtpp0/Z+n+UfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJCLn74bjz8mn; Thu, 12 Jun 2025 19:31:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55CJVDws032881; Thu, 12 Jun 2025 19:31:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CJVDI1032878; Thu, 12 Jun 2025 19:31:13 GMT (envelope-from git) Date: Thu, 12 Jun 2025 19:31:13 GMT Message-Id: <202506121931.55CJVDI1032878@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f1830ad9e727 - stable/14 - rtld amd64: extend osrel check to enable tlsbase op on stable/14 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f1830ad9e727f990d0124e89d9a9f7cd759d42a6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f1830ad9e727f990d0124e89d9a9f7cd759d42a6 commit f1830ad9e727f990d0124e89d9a9f7cd759d42a6 Author: Konstantin Belousov AuthorDate: 2025-06-12 19:29:19 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 19:29:19 +0000 rtld amd64: extend osrel check to enable tlsbase op on stable/14 This is a direct commit to stable/14. Reported by: Mark Millard Sponsored by: The FreeBSD Foundation --- libexec/rtld-elf/amd64/reloc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libexec/rtld-elf/amd64/reloc.c b/libexec/rtld-elf/amd64/reloc.c index 74693d35ba1d..e46f6bc2e9b5 100644 --- a/libexec/rtld-elf/amd64/reloc.c +++ b/libexec/rtld-elf/amd64/reloc.c @@ -519,6 +519,8 @@ void allocate_initial_tls(Obj_Entry *objs) { void *addr; + int osrel; + /* * Fix the size of the static TLS block by using the maximum @@ -533,7 +535,9 @@ allocate_initial_tls(Obj_Entry *objs) * This does not use _tcb_set() as it calls amd64_set_tlsbase() * which is an ifunc and rtld must not use ifuncs. */ - if (__getosreldate() >= P_OSREL_TLSBASE) + osrel = __getosreldate(); + if (osrel >= P_OSREL_TLSBASE || + (P_OSREL_MAJOR(osrel) == 14 && osrel >= 1403502)) sysarch(AMD64_SET_TLSBASE, &addr); else if (__getosreldate() >= P_OSREL_WRFSBASE && (cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0)