OSDN Git Service

* elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
authorkazu <kazu>
Mon, 2 Oct 2006 22:52:19 +0000 (22:52 +0000)
committerkazu <kazu>
Mon, 2 Oct 2006 22:52:19 +0000 (22:52 +0000)
symbols from the --just-syms file.

bfd/ChangeLog
bfd/elflink.c

index dee86ea..9acdf86 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
+       symbols from the --just-syms file.
+
 2006-10-01  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for
index dde2843..1df583f 100644 (file)
@@ -832,6 +832,15 @@ _bfd_elf_merge_symbol (bfd *abfd,
   sec = *psec;
   bind = ELF_ST_BIND (sym->st_info);
 
+  /* Silently discard TLS symbols from --just-syms.  There's no way to
+     combine a static TLS block with a new TLS block for this executable.  */
+  if (ELF_ST_TYPE (sym->st_info) == STT_TLS
+      && sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
+    {
+      *skip = TRUE;
+      return TRUE;
+    }
+
   if (! bfd_is_und_section (sec))
     h = elf_link_hash_lookup (elf_hash_table (info), name, TRUE, FALSE, FALSE);
   else