PR ld/12614
authorAlan Modra <amodra@gmail.com>
Thu, 28 Apr 2011 15:29:42 +0000 (15:29 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 28 Apr 2011 15:29:42 +0000 (15:29 +0000)
* emultempl/pe.em (_after_open): Correctly check whether symbol is
in undef list.

ld/ChangeLog
ld/emultempl/pe.em

index dfbb582..a9c5ee4 100644 (file)
@@ -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.
index b8290b3..6369606 100644 (file)
@@ -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;
                      }
                  }