From nobody Sun Feb 8 16:41:30 2026 X-Original-To: dev-commits-src-main@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 4f8D9k6V9Gz6RRcX for ; Sun, 08 Feb 2026 16:41:30 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8D9k5wTQz3kCw for ; Sun, 08 Feb 2026 16:41:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770568890; 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=AbMr2xHQdYt/LmTKWR8lwGbA9YhkWFulFSVKqosH3Mc=; b=perqlbBDk+nU6VguHI5z35fUvwKz+IJCFg0n60y6GVkR+IbSY1+/D3JeTIjXI8lLpSn3R6 5597aXWfPERTtcsdxdumjm80etTeivh+ACsJ7MFUHeIsBSJaabarPAuKjiXQdOWUiZLHi5 wNzIHlM/w2sHG+W6fbM4KIG8VksU/MImB8Suo4QQvuL+LOGkgk5i7OKlwCGfcDeDPZdYyW pwA2mwL7xBTYI+/HE3IT6H82UmkSNbght5fTWfZE7WsRY5JE1n1DVAQ/fjZ33SFvCo3IMe 2wFEMJM46PWehEO5bHKi5etmdTzKMyDWxT0CtickAi8SZHZFPRf/svGW11PhJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770568890; a=rsa-sha256; cv=none; b=NCJ8r549X/UYOt3gBmsdtNAvAB6Uq0ftIfPGhKR6vAbjl1wMNAZsbhsm38G9t8M88WF2LX cdH+umIx+iqSmMGrgBhhBbuepuF2/W79Ed9Hp3Z/xXvc1ksZwph1Mg7HNVHAg9BBRp8EFh y7f5FZLu9ySXeRxRsdZmqfyw8OQ2nXwfKyTvXvIzJpMO+F7SOPiNcZ2niCIkZwdbPdCgeC 6ud3fUoyZ02B2CqmbOTwaDKqUOPE/WOiTm7oH7I1nUTgMvt4WkMwR+0BmWYo20c0XnGeNj 15QYJvn7O7eH2coXuxEjSLXsT+q2lZNfp8Yn2DyZFDu99KqzaqXnCFyVf2xArw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770568890; 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=AbMr2xHQdYt/LmTKWR8lwGbA9YhkWFulFSVKqosH3Mc=; b=OodthrkssiYjei7l7XJW442bZqraQMd3Grx3zGU+xpo+7b0f8577e97TfLVIGD9ns+Gmye Z//J9bY9W+7sWHROc3JP0j6kWALZdVvgSPqjK3AfLi0FQb9URNAuoT5KB7s0ahZg4UymuE h70pnXJHYqg+d2snBqPSipByrKQHBzyM9Z1y0kVcWu+rqdUtCD/sZUF8bjJJ5FiRHKTAtR cVK614gMDR/Q7sCDViNM5BeuKUmvebothMKtUpBu03FsRTAIGvCA0Sv4JsmPVQiaSjuSzS TtWnI5lDMjHDUNXOdzQ8xUY/moQbNtO8B9KI18PudwRblgPhCX/9ZZLvS+RoRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8D9k54RNzvMc for ; Sun, 08 Feb 2026 16:41:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fd44 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 16:41:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 5beaa1ee7595 - main - Revert "Additional icache paranoia: non-PLT relocations can modify the text segment." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5beaa1ee7595ce4a09ac4827ec3e3e2aa13a9f67 Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 16:41:30 +0000 Message-Id: <6988bcba.1fd44.a4a353b@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=5beaa1ee7595ce4a09ac4827ec3e3e2aa13a9f67 commit 5beaa1ee7595ce4a09ac4827ec3e3e2aa13a9f67 Author: Jessica Clarke AuthorDate: 2026-02-08 16:35:01 +0000 Commit: Jessica Clarke CommitDate: 2026-02-08 16:39:44 +0000 Revert "Additional icache paranoia: non-PLT relocations can modify the text segment." reloc_nonplt_object, and thus reloc_non_plt, only ever handles data relocations, so this paranoia is completely unfounded and only has the effect of significantly slowing down program startup for binaries with large amounts of code, like Clang. If this breaks any systems, that would likely be due to insufficient flushing in the pmap implementation for executable mappings, as this existing rtld behaviour would mask any such bugs. This reverts commit 4b51c69976fd84e93ec7695858375c8150c4fe61. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D54221 --- libexec/rtld-elf/powerpc/reloc.c | 13 ------------- libexec/rtld-elf/powerpc64/reloc.c | 13 ------------- 2 files changed, 26 deletions(-) diff --git a/libexec/rtld-elf/powerpc/reloc.c b/libexec/rtld-elf/powerpc/reloc.c index eb6f50c3c841..ea87088a7fbd 100644 --- a/libexec/rtld-elf/powerpc/reloc.c +++ b/libexec/rtld-elf/powerpc/reloc.c @@ -332,7 +332,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags, { const Elf_Rela *relalim; const Elf_Rela *rela; - const Elf_Phdr *phdr; SymCache *cache; int r = -1; @@ -361,18 +360,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags, done: if (cache != NULL) free(cache); - - /* - * Synchronize icache for executable segments in case we made - * any changes. - */ - for (phdr = obj->phdr; phdr < obj->phdr + obj->phnum; phdr++) { - if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_X) != 0) { - __syncicache(obj->relocbase + phdr->p_vaddr, - phdr->p_memsz); - } - } - return (r); } diff --git a/libexec/rtld-elf/powerpc64/reloc.c b/libexec/rtld-elf/powerpc64/reloc.c index a107da6b0a6a..bdc56f345678 100644 --- a/libexec/rtld-elf/powerpc64/reloc.c +++ b/libexec/rtld-elf/powerpc64/reloc.c @@ -327,7 +327,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags, { const Elf_Rela *relalim; const Elf_Rela *rela; - const Elf_Phdr *phdr; SymCache *cache; int bytes = obj->dynsymcount * sizeof(SymCache); int r = -1; @@ -359,18 +358,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags, done: if (cache) munmap(cache, bytes); - - /* - * Synchronize icache for executable segments in case we made - * any changes. - */ - for (phdr = obj->phdr; phdr < obj->phdr + obj->phnum; phdr++) { - if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_X) != 0) { - __syncicache(obj->relocbase + phdr->p_vaddr, - phdr->p_memsz); - } - } - return (r); }