public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils/, sys-devel/binutils/files/
Date: Fri,  1 May 2020 21:44:05 +0000 (UTC)	[thread overview]
Message-ID: <1588369438.de6868dc18e5f0a9471d357ab9906eef83a3149e.slyfox@gentoo> (raw)

commit:     de6868dc18e5f0a9471d357ab9906eef83a3149e
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Fri May  1 21:43:42 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri May  1 21:43:58 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de6868dc

sys-devel/binutils: fix RISC-V ld crash, bug #720280

It's a direct backport of upstream's a2714d6cca1f1c7
("PR25900, RISC-V: null pointer dereference")

Reported-by: David Michael
Closes: https://bugs.gentoo.org/720280
Bug: https://sourceware.org/PR25900
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-devel/binutils/binutils-2.34.ebuild            |  1 +
 .../binutils/files/binutils-2.34-riscv-SEGV.patch  | 40 ++++++++++++++++++++++
 2 files changed, 41 insertions(+)

diff --git a/sys-devel/binutils/binutils-2.34.ebuild b/sys-devel/binutils/binutils-2.34.ebuild
index 805c709df2a..40a250edf7b 100644
--- a/sys-devel/binutils/binutils-2.34.ebuild
+++ b/sys-devel/binutils/binutils-2.34.ebuild
@@ -86,6 +86,7 @@ RESTRICT="!test? ( test )"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-2.33-gcc-10.patch
+	"${FILESDIR}"/${PN}-2.34-riscv-SEGV.patch
 )
 
 MY_BUILDDIR=${WORKDIR}/build

diff --git a/sys-devel/binutils/files/binutils-2.34-riscv-SEGV.patch b/sys-devel/binutils/files/binutils-2.34-riscv-SEGV.patch
new file mode 100644
index 00000000000..ac70e504918
--- /dev/null
+++ b/sys-devel/binutils/files/binutils-2.34-riscv-SEGV.patch
@@ -0,0 +1,40 @@
+https://sourceware.org/PR25900
+https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=a2714d6cca1f1c7695f8dc84b49a4a51d1db86c8
+
+From a2714d6cca1f1c7695f8dc84b49a4a51d1db86c8 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Fri, 1 May 2020 15:32:00 +0930
+Subject: [PATCH] PR25900, RISC-V: null pointer dereference
+
+	PR 25900
+	* elfnn-riscv.c (_bfd_riscv_relax_section): Check root.type before
+	accessing root.u.def of symbols.  Also check root.u.def.section
+	is non-NULL.  Reverse tests so as to make the logic positive.
+
+--- a/bfd/elfnn-riscv.c
++++ b/bfd/elfnn-riscv.c
+@@ -4161,15 +4161,16 @@ _bfd_riscv_relax_section (bfd *abfd, asection *sec,
+ 	      symval = 0;
+ 	      sym_sec = bfd_und_section_ptr;
+ 	    }
+-	  else if (h->root.u.def.section->output_section == NULL
+-		   || (h->root.type != bfd_link_hash_defined
+-		       && h->root.type != bfd_link_hash_defweak))
+-	    continue;
+-	  else
++	  else if ((h->root.type == bfd_link_hash_defined
++		    || h->root.type == bfd_link_hash_defweak)
++		   && h->root.u.def.section != NULL
++		   && h->root.u.def.section->output_section != NULL)
+ 	    {
+ 	      symval = h->root.u.def.value;
+ 	      sym_sec = h->root.u.def.section;
+ 	    }
++	  else
++	    continue;
+ 
+ 	  if (h->type != STT_FUNC)
+ 	    reserve_size =
+-- 
+2.18.2
+


             reply	other threads:[~2020-05-01 21:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-01 21:44 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-05 22:21 [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils/, sys-devel/binutils/files/ James Le Cuirot
2024-01-06 11:48 James Le Cuirot
2023-10-01 14:09 James Le Cuirot
2021-05-15 22:31 Georgy Yakovlev
2021-04-20  8:08 Sergei Trofimovich
2017-11-03 21:08 Andreas Hüttel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1588369438.de6868dc18e5f0a9471d357ab9906eef83a3149e.slyfox@gentoo \
    --to=slyfox@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox