summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2011-04-28 15:29:41 +0000
committerAlan Modra <amodra@bigpond.net.au>2011-04-28 15:29:41 +0000
commitc947dcef8b58cdcf2998d4bfaea4567c43ce929b (patch)
tree1cfb6621180438c2a0060b44c673bde04f9f8092
parent7e164f38f3526f719b976190235d5c0181f3e61b (diff)
downloadbinutils-redhat-c947dcef8b58cdcf2998d4bfaea4567c43ce929b.tar.gz
PR ld/12614
* emultempl/pe.em (_after_open): Correctly check whether symbol is in undef list.
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/emultempl/pe.em6
2 files changed, 10 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index dfbb58219d..a9c5ee4360 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-28 Daniel C. Klauer <daniel.c.klauer@web.de>
+
+ PR ld/12614
+ * emultempl/pe.em (_after_open): Correctly check whether symbol is
+ in undef list.
+
2011-04-26 Kai Tietz <ktietz@redhat.com>
* scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index b8290b3435..6369606e2a 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -1590,8 +1590,10 @@ gld_${EMULATION_NAME}_after_open (void)
/* If the symbol in the stub section has no other
undefined references, exclude the stub section
from the final link. */
- if (blhe && (blhe->type == bfd_link_hash_defined)
- && (blhe->u.undef.next == NULL))
+ if (blhe != NULL
+ && blhe->type == bfd_link_hash_defined
+ && blhe->u.undef.next == NULL
+ && blhe != link_info.hash->undefs_tail)
stub_sec->flags |= SEC_EXCLUDE;
}
}