Index: bfd/elf32-openrisc.c |
diff --git a/bfd/elf32-openrisc.c b/bfd/elf32-openrisc.c |
index 2b002abcc73b8c8e559e605eac4f8c83d19b2dc6..496d2637791e9580a1c899c3a160a1d0b7cb8d06 100644 |
--- a/bfd/elf32-openrisc.c |
+++ b/bfd/elf32-openrisc.c |
@@ -365,12 +365,12 @@ openrisc_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); |
} |
if (sec != NULL && discarded_section (sec)) |
@@ -486,6 +486,10 @@ openrisc_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)) |