aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;