From cd7be95be223192ceea31c87ea1e7340387f401d Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Mon, 2 Oct 2006 22:52:19 +0000 Subject: * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS symbols from the --just-syms file. --- bfd/ChangeLog | 5 +++++ bfd/elflink.c | 9 +++++++++ 2 files changed, 14 insertions(+) (limited to 'bfd') 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 + + * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS + symbols from the --just-syms file. + 2006-10-01 Alan Modra * 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 -- cgit v1.1