aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-01-30 18:18:17 +0000
committerIan Lance Taylor <ian@airs.com>1996-01-30 18:18:17 +0000
commitcf5138e388552d449e47b7b32bfed73e2643d951 (patch)
tree0c5fb0d125e0cfa756506baee154d5b7532c91f8 /bfd/elf32-i386.c
parent0e6f2f82d2ff41c6cd97b811c586842ac3945a28 (diff)
downloadgdb-cf5138e388552d449e47b7b32bfed73e2643d951.zip
gdb-cf5138e388552d449e47b7b32bfed73e2643d951.tar.gz
gdb-cf5138e388552d449e47b7b32bfed73e2643d951.tar.bz2
* elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
warning symbols correctly. * elf32-i386.c (elf_i386_relocate_section): Likewise. * elf32-m68k.c (elf_m68k_relocate_section): Likewise. * elf32-mips.c (mips_elf_relocate_section): Likewise. * elf32-ppc.c (ppc_elf_relocate_section): Likewise. * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r--bfd/elf32-i386.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index cb2a3dc..9ee5966 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -902,6 +902,9 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section,
else
{
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
if (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
{