From b7213666d6035713c3a2786ee418085e07cb3cca Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 17 Oct 2017 17:15:02 -0700 Subject: microblaze: Check for indirect and warning symbols Relocations against indirect and warning symbols should be applied to real symbols. * elf32-microblaze.c (microblaze_elf_check_relocs): Check for indirect and warning symbols. --- bfd/elf32-microblaze.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bfd/elf32-microblaze.c') diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c index 1a69b6da72..a54044fdb3 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. */ -- cgit v1.2.3