From nobody Tue Apr 25 15:23:09 2023 X-Original-To: dev-commits-ports-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 4Q5Qk55Ycqz47KT0; Tue, 25 Apr 2023 15:23:09 +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 4Q5Qk54ljdz3jXb; Tue, 25 Apr 2023 15:23:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436189; 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=fgVtGkUjIplgI3z6r9Y7ma/qAafTtPQAYkXS7hs6BaY=; b=NWyZvDVscv7tE+VccjjibI55/ruzJoVUs811vUhktFCjv8+77bbg41bIbuU/U+lQzGhVjD 5Pu0YEpoia6J7bQ/W+jPt4IoOyogDiOl4fHRSVEH2ErrPRj8F0dV64pBQZJ5uxZ6hLpqU7 iLR6EZQ6umABHxovLWFgVKj4NPouz6nRAiNH9cwxs/R109LX08YC/xFAAevd95WWZTXopr aEzaecn4Sy6wl8m60tS46FtnWYAy8X3jGeoxyilncZaA95qCBs//55pDoglPNFHHlqpIFz gZ4Gg261wtMFrC+eHUnW8xvYsX6cgya7hdAoMj/L06/U2ups/bqMGTCuaIRRpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436189; 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=fgVtGkUjIplgI3z6r9Y7ma/qAafTtPQAYkXS7hs6BaY=; b=KhsMtiEh5DhD4xCqU4huyjdj1uEuMmrBb0U+bXKgUqgKAnCwmUEcbGHC6Y5d2cychO70Bb gQ6C8x9cYBswNXpeKu5MoHEhtBCY0TPLASvx5J5770j2/kFyqZfhR+6iA9r8zdEPdIfwGI mym3fXboHylAxDxJ1tVAL7/qoLBDyMj+KLlULXC95gaPEFuxTR4dqUvL5/45pu+GlvCxI4 hCDRomZzs5OsVpA7nH1PTVEUHfMXTzcVSvMSkjCKSK5QoECegQ0MbmrkQES4dfumFtH3y6 fMBTrdSq2RT/WbP5brG4ZK80/q7nAQy8Brix6Pwk4snJGGno6BUsHN7qUOuZFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682436189; a=rsa-sha256; cv=none; b=tBwrGTJOTn28kYIWkp/OWF4hT3eWMizWaAIFcAG+uKZjYihmnEa42atLziZgJmFHRD+pCf ZyNnxUP23UchTi39EjE4e440hdTUfnT05744vGmTaqSWwQMEO461CTImegujeOUrNmHE87 9pj49zyQFExM/sEWGjSunkkOYXDHh8tJZ/qmk/+no11dpJfwjJbh5VKxwAuotti6RnLJcA j1+X8o98636IyOMjxAy1NRdJ6MYlQzA6W6AgfNrCrUyvpuxgku0eIBVg1bSBI/hUiWR5PB kqCNbsuuvQczIRVA8iAj7a+9AcXPXwI+LRA4jKWERendBp5uLWK7sLlu+DmL1A== 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 4Q5Qk53pCdz1CNR; Tue, 25 Apr 2023 15:23:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33PFN9df029160; Tue, 25 Apr 2023 15:23:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PFN97O029159; Tue, 25 Apr 2023 15:23:09 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:23:09 GMT Message-Id: <202304251523.33PFN97O029159@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Cy Schubert Subject: git: 8098bf5371cf - 2023Q2 - devel/binutils: Setting sh_link for SHT_REL/SHT_RELA List-Id: Commits to the quarterly branches of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-branches@freebsd.org X-BeenThere: dev-commits-ports-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: ports X-Git-Refname: refs/heads/2023Q2 X-Git-Reftype: branch X-Git-Commit: 8098bf5371cf0eac0d3039aedfe2b7d90c4ad1b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch 2023Q2 has been updated by cy: URL: https://cgit.FreeBSD.org/ports/commit/?id=8098bf5371cf0eac0d3039aedfe2b7d90c4ad1b5 commit 8098bf5371cf0eac0d3039aedfe2b7d90c4ad1b5 Author: Emanuel Haupt AuthorDate: 2023-04-25 14:05:48 +0000 Commit: Cy Schubert CommitDate: 2023-04-25 15:22:48 +0000 devel/binutils: Setting sh_link for SHT_REL/SHT_RELA Import upstream commit 6b958fe36b7: It's wrong to have an alloc reloc section trying to use a non-alloc symbol table. * elf.c (assign_section_numbers ): Correct comment. Always set sh_link to .dynsym for alloc reloc sections and to .symtab for non-alloc. This also fixes strip when using llvm-strip, i.e. when base built with WITH_LLVM_BINUTILS. PR: 271061, see also: 270961, 270960 Reported by: Emanuel Haupt Approved by: cy Obtained from: Upstream commit 6b958fe36b7 (cherry picked from commit 898053f9100240f305a2bc6d49998a13728d3a71) --- devel/binutils/Makefile | 2 +- devel/binutils/files/patch-bfd_elf.c | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/devel/binutils/Makefile b/devel/binutils/Makefile index a468d736263d..f33baaa17357 100644 --- a/devel/binutils/Makefile +++ b/devel/binutils/Makefile @@ -1,6 +1,6 @@ PORTNAME= binutils DISTVERSION= 2.40 -PORTREVISION= 2 +PORTREVISION= 3 PORTEPOCH?= 1 CATEGORIES?= devel MASTER_SITES= SOURCEWARE/binutils/releases diff --git a/devel/binutils/files/patch-bfd_elf.c b/devel/binutils/files/patch-bfd_elf.c new file mode 100644 index 000000000000..7f27ebb80a10 --- /dev/null +++ b/devel/binutils/files/patch-bfd_elf.c @@ -0,0 +1,39 @@ +--- bfd/elf.c.orig 2023-01-14 00:00:00 UTC ++++ bfd/elf.c +@@ -3870,21 +3870,23 @@ assign_section_numbers (bfd *abfd, struct bfd_link_inf + { + case SHT_REL: + case SHT_RELA: +- /* A reloc section which we are treating as a normal BFD +- section. sh_link is the section index of the symbol +- table. sh_info is the section index of the section to +- which the relocation entries apply. We assume that an +- allocated reloc section uses the dynamic symbol table +- if there is one. Otherwise we guess the normal symbol +- table. FIXME: How can we be sure? */ +- if (d->this_hdr.sh_link == 0 && (sec->flags & SEC_ALLOC) != 0) ++ /* sh_link is the section index of the symbol table. ++ sh_info is the section index of the section to which the ++ relocation entries apply. */ ++ if (d->this_hdr.sh_link == 0) + { +- s = bfd_get_section_by_name (abfd, ".dynsym"); +- if (s != NULL) +- d->this_hdr.sh_link = elf_section_data (s)->this_idx; ++ /* FIXME maybe: If this is a reloc section which we are ++ treating as a normal section then we likely should ++ not be assuming its sh_link is .dynsym or .symtab. */ ++ if ((sec->flags & SEC_ALLOC) != 0) ++ { ++ s = bfd_get_section_by_name (abfd, ".dynsym"); ++ if (s != NULL) ++ d->this_hdr.sh_link = elf_section_data (s)->this_idx; ++ } ++ else ++ d->this_hdr.sh_link = elf_onesymtab (abfd); + } +- if (d->this_hdr.sh_link == 0) +- d->this_hdr.sh_link = elf_onesymtab (abfd); + + s = elf_get_reloc_section (sec); + if (s != NULL)