aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2005-09-07 05:01:16 +0000
committerH.J. Lu <hjl.tools@gmail.com>2005-09-07 05:01:16 +0000
commit68f49ba3355656a7050c2e50ba1e3f359207c51c (patch)
tree6fe45c1a294745eaf6004310cdd9a423aeaae6c7
parent2016dfccf9e58f56dd244634a89b308a816e91bf (diff)
downloadbinutils-68f49ba3355656a7050c2e50ba1e3f359207c51c.zip
binutils-68f49ba3355656a7050c2e50ba1e3f359207c51c.tar.gz
binutils-68f49ba3355656a7050c2e50ba1e3f359207c51c.tar.bz2
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elflink.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 43668d5..4f4ae5a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 4414f0d..b748516 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -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;