aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2006-10-02 22:52:19 +0000
committerKazu Hirata <kazu@codesourcery.com>2006-10-02 22:52:19 +0000
commitcd7be95be223192ceea31c87ea1e7340387f401d (patch)
tree8ff622541ca8baaa8f8e3a110ec4274dfd205edb /bfd
parent98c5f827eaee19319e3ee496481e67142086e131 (diff)
downloadgdb-cd7be95be223192ceea31c87ea1e7340387f401d.zip
gdb-cd7be95be223192ceea31c87ea1e7340387f401d.tar.gz
gdb-cd7be95be223192ceea31c87ea1e7340387f401d.tar.bz2
* elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
symbols from the --just-syms file.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index dee86ea..9acdf86 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/elflink.c b/bfd/elflink.c
index dde2843..1df583f 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -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