From 9e4ecac3f2e75194bc3d6db373a96089f5e1a046 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sat, 4 Feb 2006 08:29:58 +0000 Subject: [PATCH] bfd/ * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol has already been assigned a GOT index, copy that index to the current hash table entry. ld/testsuite/ * ld-mips-elf/tls-hidden2a.s, ld-mips-elf/tls-hidden2b.s, * ld/testsuite/ld-mips-elf/tls-hidden2.d, * ld/testsuite/ld-mips-elf/tls-hidden2-got.d: New test. * ld-mips-elf/mips-elf.exp: Run it. --- bfd/ChangeLog | 6 ++++++ bfd/elfxx-mips.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5bd1e341ac..f2ca17dcf4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2006-02-04 Richard Sandiford + + * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol + has already been assigned a GOT index, copy that index to the + current hash table entry. + 2006-02-01 Eric Botcazou * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 99a0def3b9..2675ee08a1 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -2994,7 +2994,10 @@ mips_elf_initialize_tls_index (void **entryp, void *p) if (g->next == NULL) { if (entry->d.h->tls_type & GOT_TLS_OFFSET_DONE) - return 1; + { + entry->gotidx = entry->d.h->tls_got_offset; + return 1; + } entry->d.h->tls_type |= GOT_TLS_OFFSET_DONE; } } -- 2.11.0