aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-mips.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2006-02-04 08:29:58 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2006-02-04 08:29:58 +0000
commit4005427f8676ad78c88b430fa25e1d179207cbf4 (patch)
treed556895326fe00b51acacc76b377a748bd5b1536 /bfd/elfxx-mips.c
parent2f2817dbdadb8ed4b2e201b63416157c72979cd5 (diff)
downloadgdb-4005427f8676ad78c88b430fa25e1d179207cbf4.zip
gdb-4005427f8676ad78c88b430fa25e1d179207cbf4.tar.gz
gdb-4005427f8676ad78c88b430fa25e1d179207cbf4.tar.bz2
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.
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r--bfd/elfxx-mips.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 99a0def..2675ee08 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;
}
}