aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-sh.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
commit4972a8e93e2883384ab81158bd85c2d5f3e9ceb8 (patch)
tree19acb8c428d9fd4690c091c7e7ed10e0f878e32d /bfd/elf32-sh.c
parent2af287461fa71df02eb2c7379a2461b88bc1f81e (diff)
downloadgdb-4972a8e93e2883384ab81158bd85c2d5f3e9ceb8.zip
gdb-4972a8e93e2883384ab81158bd85c2d5f3e9ceb8.tar.gz
gdb-4972a8e93e2883384ab81158bd85c2d5f3e9ceb8.tar.bz2
* 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/elf32-sh.c')
-rw-r--r--bfd/elf32-sh.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 522b816..147483d 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -4872,6 +4872,11 @@ sh_elf_gc_mark_hook (sec, info, rel, h, sym)
break;
default:
+#ifdef INCLUDE_SHMEDIA
+ while (h->root.type == bfd_link_hash_indirect
+ && h->root.u.i.link)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+#endif
switch (h->root.type)
{
case bfd_link_hash_defined: