Index: bfd/elf64-mmix.c |
diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c |
index 3195075f008e7e08b3f1843c7895b7fc118673ef..c7e1c250d9b74858dd2b3f2c977733c7863828db 100644 |
--- a/bfd/elf64-mmix.c |
+++ b/bfd/elf64-mmix.c |
@@ -1413,12 +1413,13 @@ mmix_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, |
} |
else |
{ |
- bfd_boolean unresolved_reloc; |
+ bfd_boolean unresolved_reloc, ignored; |
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, |
r_symndx, symtab_hdr, sym_hashes, |
h, sec, relocation, |
- unresolved_reloc, undefined_signalled); |
+ unresolved_reloc, undefined_signalled, |
+ ignored); |
name = h->root.root.string; |
} |
@@ -2009,6 +2010,10 @@ mmix_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 (ELF64_R_TYPE (rel->r_info)) |