Index: bfd/elf32-fr30.c |
diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c |
index fe7cf92152ce72cf6add72f3b172bc2d0bf615d4..a6ffda31e9d95c7c04e3bc3d93346870293a6f71 100644 |
--- a/bfd/elf32-fr30.c |
+++ b/bfd/elf32-fr30.c |
@@ -547,12 +547,12 @@ fr30_elf_relocate_section (bfd *output_bfd, |
} |
else |
{ |
- bfd_boolean unresolved_reloc, warned; |
+ bfd_boolean unresolved_reloc, warned, ignored; |
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, |
r_symndx, symtab_hdr, sym_hashes, |
h, sec, relocation, |
- unresolved_reloc, warned); |
+ unresolved_reloc, warned, ignored); |
name = h->root.root.string; |
} |
@@ -671,6 +671,10 @@ fr30_elf_check_relocs (bfd *abfd, |
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. */ |
+ h->root.non_ir_ref = 1; |
} |
switch (ELF32_R_TYPE (rel->r_info)) |