aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-07-31 15:04:06 +0000
committerJakub Jelinek <jakub@redhat.com>2002-07-31 15:04:06 +0000
commitcd67d26656b0a34397fe0b6be4e9f3083e487eba (patch)
treed219219698c30d5a3d7782341e203dc7d60f7960 /bfd/elf32-i386.c
parentf7c33884fa544b222c98aee4a34c47686f62229f (diff)
downloadgdb-cd67d26656b0a34397fe0b6be4e9f3083e487eba.zip
gdb-cd67d26656b0a34397fe0b6be4e9f3083e487eba.tar.gz
gdb-cd67d26656b0a34397fe0b6be4e9f3083e487eba.tar.bz2
* elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r--bfd/elf32-i386.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 7f26fab..997bf37 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -809,6 +809,12 @@ elf_i386_copy_indirect_symbol (dir, ind)
eind->dyn_relocs = NULL;
}
+ if (ind->root.type == bfd_link_hash_indirect
+ && dir->got.refcount <= 0)
+ {
+ edir->tls_type = eind->tls_type;
+ eind->tls_type = GOT_UNKNOWN;
+ }
_bfd_elf_link_hash_copy_indirect (dir, ind);
}