2005-09-06 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 7 Sep 2005 05:01:16 +0000 (05:01 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 7 Sep 2005 05:01:16 +0000 (05:01 +0000)
PR ld/1301
* elflink.c (_bfd_elf_merge_symbol): Don't check undefined
symbol introduced by "ld -u" for TLS.

bfd/ChangeLog
bfd/elflink.c

index 43668d5..4f4ae5a 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/1301
+       * elflink.c (_bfd_elf_merge_symbol): Don't check undefined
+       symbol introduced by "ld -u" for TLS.
+
 2005-09-02  Paul Brook  <paul@codesourcery.com>
 
        * libbdf.h: Regenerate.
index 4414f0d..b748516 100644 (file)
@@ -902,9 +902,11 @@ _bfd_elf_merge_symbol (bfd *abfd,
   else
     olddef = TRUE;
 
-  /* Check TLS symbol.  */
+  /* Check TLS symbol.  We don't check undefined symbol introduced by
+     "ld -u".  */
   if ((ELF_ST_TYPE (sym->st_info) == STT_TLS || h->type == STT_TLS)
-      && ELF_ST_TYPE (sym->st_info) != h->type)
+      && ELF_ST_TYPE (sym->st_info) != h->type
+      && oldbfd != NULL)
     {
       bfd *ntbfd, *tbfd;
       bfd_boolean ntdef, tdef;