Index: bfd/elf32-mcore.c |
diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c |
index 288394f783e6bbbbd37da52aed0eed6d4ecb925d..8eb74c5acaa4f0bd6fd70adf1275700810f094bd 100644 |
--- a/bfd/elf32-mcore.c |
+++ b/bfd/elf32-mcore.c |
@@ -458,12 +458,12 @@ mcore_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)) |
@@ -613,6 +613,10 @@ mcore_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)) |