aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-04-28 15:29:42 +0000
committerAlan Modra <amodra@gmail.com>2011-04-28 15:29:42 +0000
commite0605dbe1c363beecab0c44d6a384c0592d15d93 (patch)
tree061bf822b1056518dc4bde03f5b27090ffaf44f4 /ld
parent0827f9a64f165682062f2dbf37579d797bb01f9d (diff)
downloadfsf-binutils-gdb-e0605dbe1c363beecab0c44d6a384c0592d15d93.zip
fsf-binutils-gdb-e0605dbe1c363beecab0c44d6a384c0592d15d93.tar.gz
fsf-binutils-gdb-e0605dbe1c363beecab0c44d6a384c0592d15d93.tar.bz2
PR ld/12614
* emultempl/pe.em (_after_open): Correctly check whether symbol is in undef list.
Diffstat (limited to 'ld')
-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 dfbb582..a9c5ee4 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 b8290b3..6369606 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;
}
}