Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

src: Pull up following revision(s) (requested by joerg in ticket...



details:   https://anonhg.NetBSD.org/src/rev/c3a430a4dd45
branches:  netbsd-6
changeset: 317949:c3a430a4dd45
user:      martin <martin%NetBSD.org@localhost>
date:      Mon Apr 09 13:00:06 2018 +0000
description:
Pull up following revision(s) (requested by joerg in ticket #1543):

        external/gpl3/binutils/dist/bfd/elflink.c: revision 1.14 (patch)

When trying to decide the status of a weak symbol, resolve any
indirectness first. In the case of various Qt5 libraries, __bss_start
ends up with a Qt5 version, but it has to be resolved first to match the
actual (implicit) definition. This fixes the root cause of pkg/53089.

diffstat:

 external/gpl3/binutils/dist/bfd/elflink.c |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (17 lines):

diff -r 85c88979d579 -r c3a430a4dd45 external/gpl3/binutils/dist/bfd/elflink.c
--- a/external/gpl3/binutils/dist/bfd/elflink.c Thu Apr 05 11:35:08 2018 +0000
+++ b/external/gpl3/binutils/dist/bfd/elflink.c Mon Apr 09 13:00:06 2018 +0000
@@ -2528,9 +2528,10 @@
      over to the real definition.  */
   if (h->u.weakdef != NULL)
     {
-      struct elf_link_hash_entry *weakdef;
-
-      weakdef = h->u.weakdef;
+      struct elf_link_hash_entry *weakdef = h->u.weakdef;
+      while (weakdef->root.type == bfd_link_hash_indirect)
+        weakdef = (struct elf_link_hash_entry *) weakdef->root.u.i.link;
+
       if (h->root.type == bfd_link_hash_indirect)
        h = (struct elf_link_hash_entry *) h->root.u.i.link;
 



Home | Main Index | Thread Index | Old Index