Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-7-0]: src/external/gpl3/binutils/dist/bfd Pull up following revis...
details: https://anonhg.NetBSD.org/src/rev/8510f93712a2
branches: netbsd-7-0
changeset: 801477:8510f93712a2
user: martin <martin%NetBSD.org@localhost>
date: Mon Apr 09 13:12:40 2018 +0000
description:
Pull up following revision(s) (requested by joerg in ticket #1595):
external/gpl3/binutils/dist/bfd/elflink.c: revision 1.14
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, 5 insertions(+), 2 deletions(-)
diffs (23 lines):
diff -r 567d6eead0d9 -r 8510f93712a2 external/gpl3/binutils/dist/bfd/elflink.c
--- a/external/gpl3/binutils/dist/bfd/elflink.c Thu Apr 05 11:54:36 2018 +0000
+++ b/external/gpl3/binutils/dist/bfd/elflink.c Mon Apr 09 13:12:40 2018 +0000
@@ -2528,14 +2528,17 @@
over to the real definition. */
if (h->u.weakdef != NULL)
{
+ 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 the real definition is defined by a regular object file,
don't do anything special. See the longer description in
_bfd_elf_adjust_dynamic_symbol, below. */
- if (h->u.weakdef->def_regular)
+ if (weakdef->def_regular)
h->u.weakdef = NULL;
else
{
- struct elf_link_hash_entry *weakdef = h->u.weakdef;
while (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