From nobody Mon May 13 20:17:24 2024 X-Original-To: dev-commits-src-branches@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 4VdW4N6zXcz5KtMM; Mon, 13 May 2024 20:17:24 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VdW4N5nNwz4kYy; Mon, 13 May 2024 20:17:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1715631444; 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=+y+SIjAU8JaD+63UFRJ82MNuaZL1VYZCjb/YDKTAwTQ=; b=o5QDp1CEoaBZ5g4FvMmMtqNktSwTm8YBBQQz7bNWanh+IaRgsI7HDSYrYWzPiPnsB6KSKC dBfRlAwmYPfjFWoS5lhgKwRkMhhSNgXAq/cvzgtkpj++RSdVMHuISqt9pbzXif1gvXYXHS xzJU3TVNliEE+vpseVA3J1LR8BqnKWnmFBpTqo0GBZ0bHZAlomfqlGeDc6dclJaFQm/4XI Nw0NvbD8lnUIWDEcEteFoqimd60fapX9AxM4W0w+Q6s1doxXRi4XJwQrmaHEvlTkDBSOOX WSMxc8P3jRpxqyHScEka2YQpsN1kTbydkv8nSFcqPb1uuvGONo4KdvmCBmYKoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1715631444; a=rsa-sha256; cv=none; b=cx5LzF725XnIgjpxqo0wrDg6N3uZ2rbSc1kmVcVII+PvaJq/ydSN8smec36NNQhUwwuJpj wqMOj1c4rNT149ukeFn1UegIu751hd/rUfIbIeZ0+xHFUtDlKerc7ooBvcK+4TJrPvHkHM xSuwAmQ7X5zuVcudsKxwn96etlVdTdhmwGa1NIr8OVGRgk6v9aCDua0x3SSYRM/pIYxqDF 2YZ2enm97xqNNRg4tLOB+4409N9Hh526QokAeZgYZH5BvdRYeoYQ31hIIrLAadLeIa+hvQ m/drB4wMMDNd4rC/HYcS+9+EPa+Oe2rWt+icIc0DR5Gicv5LQFqrSL3kIdeAtQ== 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=1715631444; 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=+y+SIjAU8JaD+63UFRJ82MNuaZL1VYZCjb/YDKTAwTQ=; b=JjBN9szuCgbc2uxN7qj/qncU7OA/CEpn2r4ksqZRMr2UQIFscqyTyIM3ucwPey6oFHn8Iw k4t8hpmzA2ZlmMakLjJAAxLsCDUJyZdavxMNr2qp7tmjp/RBmqSsYURjRPk+OtljfJRBiI TaR82FbKXhZZ5xni6TfS2inY7jplDpGBAd6r8bjpMl83aKYERgL7YSc7KNMbfuNsQIpYmt nS9Hr2c1MTSYXOYD2ha9vBy7VX2JqRoM9VS7hMAjVG6gK1ZDE2vMmP/sD6GdV/8ooTY2hF IURdqv23HiMaLmFb4vn4T/8qF6sGyYJhE00/0VZhWkjUuKBdU/K8CitjnEwGaA== 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 4VdW4N5GZrz12bG; Mon, 13 May 2024 20:17:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 44DKHOJj019804; Mon, 13 May 2024 20:17:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 44DKHOk8019801; Mon, 13 May 2024 20:17:24 GMT (envelope-from git) Date: Mon, 13 May 2024 20:17:24 GMT Message-Id: <202405132017.44DKHOk8019801@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mike Karels Subject: git: 8f0bd08e9869 - stable/14 - lld: work around elftoolchain bug which causes bloated RISCV binaries List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: karels X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8f0bd08e9869ac1e6ad1f0f9c3964a76457cbce1 Auto-Submitted: auto-generated The branch stable/14 has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=8f0bd08e9869ac1e6ad1f0f9c3964a76457cbce1 commit 8f0bd08e9869ac1e6ad1f0f9c3964a76457cbce1 Author: Dimitry Andric AuthorDate: 2024-02-14 19:41:09 +0000 Commit: Mike Karels CommitDate: 2024-05-13 20:09:29 +0000 lld: work around elftoolchain bug which causes bloated RISCV binaries The elftoolchain strip(1) command appears to have trouble with the new .riscv.attributes sections being added by lld 17 to RISCV binaries. This causes huge 'holes' in the files, making them larger than necessary. Since nothing in the base system uses the new section yet, patch lld to leave it out for now. Direct commit to stable/13, since this intended to go into the 13.3 release, while the elftoolchain bug is being investigated. Cherry-pick to stable/14 from stable/13 for the 14.1 release; the bug has not been fixed yet. Hopefully it will be fixed (or the code replaced) in time for 14.2. When that happens, this can be reverted. Reported by: karels Submitted by: jrtc27 (cherry picked from commit 42ceb92e6a544fa0956eb660b3c16e38189acf20) --- contrib/llvm-project/lld/ELF/Writer.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/llvm-project/lld/ELF/Writer.cpp b/contrib/llvm-project/lld/ELF/Writer.cpp index 8a08b0fcc90d..0c1bd27bb1fe 100644 --- a/contrib/llvm-project/lld/ELF/Writer.cpp +++ b/contrib/llvm-project/lld/ELF/Writer.cpp @@ -2148,9 +2148,13 @@ template void Writer::finalizeSections() { addPhdrForSection(part, SHT_MIPS_OPTIONS, PT_MIPS_OPTIONS, PF_R); addPhdrForSection(part, SHT_MIPS_ABIFLAGS, PT_MIPS_ABIFLAGS, PF_R); } +#if 0 + // XXX: This stops elftoolchain strip adjusting .riscv.attributes, + // leaving large holes in binaries. if (config->emachine == EM_RISCV) addPhdrForSection(part, SHT_RISCV_ATTRIBUTES, PT_RISCV_ATTRIBUTES, PF_R); +#endif } Out::programHeaders->size = sizeof(Elf_Phdr) * mainPart->phdrs.size();