summaryrefslogtreecommitdiff
path: root/bfd/elf64-sh64.c
diff options
context:
space:
mode:
authorStephen Clarke <stephen.clarke@earthling.net>2002-08-16 18:40:54 +0000
committerStephen Clarke <stephen.clarke@earthling.net>2002-08-16 18:40:54 +0000
commitcc2f7d3d51f1cd8d6919a83e48c23cad1d022e21 (patch)
treea8f75372879e9f987595693b846e68cb7549c9bf /bfd/elf64-sh64.c
parent598f6183ae071e5c563b632db5e486dd5f4a7d56 (diff)
downloadbinutils-redhat-cc2f7d3d51f1cd8d6919a83e48c23cad1d022e21.tar.gz
* bfd/elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
symbols when looking for section referred to by a relocation. * bfd/elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
Diffstat (limited to 'bfd/elf64-sh64.c')
-rw-r--r--bfd/elf64-sh64.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c
index ba5df98ce1..b57cc0820b 100644
--- a/bfd/elf64-sh64.c
+++ b/bfd/elf64-sh64.c
@@ -2423,6 +2423,9 @@ sh_elf64_gc_mark_hook (sec, info, rel, h, sym)
break;
default:
+ while (h->root.type == bfd_link_hash_indirect
+ && h->root.u.i.link)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
switch (h->root.type)
{
case bfd_link_hash_defined: