diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-07-31 15:04:06 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2002-07-31 15:04:06 +0000 |
commit | cd67d26656b0a34397fe0b6be4e9f3083e487eba (patch) | |
tree | d219219698c30d5a3d7782341e203dc7d60f7960 | |
parent | f7c33884fa544b222c98aee4a34c47686f62229f (diff) | |
download | gdb-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.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-i386.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7772a06..9052b64 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-07-31 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type + if _bfd_elf_link_hash_copy_indirect will swap got.refcount. + 2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au> * aoutx.h (aout_link_check_ar_symbols): Whether to include an 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); } |