diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-microblaze.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2373816..c574a9a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2017-10-17 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-microblaze.c (microblaze_elf_check_relocs): Check for + indirect and warning symbols. + 2017-10-17 Alan Modra <amodra@gmail.com> PR 22307 diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c index 1a69b6d..a54044f 100644 --- a/bfd/elf32-microblaze.c +++ b/bfd/elf32-microblaze.c @@ -2307,6 +2307,9 @@ microblaze_elf_check_relocs (bfd * abfd, 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; /* PR15323, ref flags aren't set for references in the same object. */ |