* objcopy.c (merge_gnu_build_notes): Disable merge if there are
more internal relocs than external relocs.
+2017-05-02 Nick Clifton <nickc@redhat.com>
+
+ * objcopy.c (merge_gnu_build_notes): Disable merge if there are
+ more internal relocs than external relocs.
+
2017-05-02 Maciej W. Rozycki <macro@imgtec.com>
* testsuite/binutils-all/mips/mips16-undecoded.d: Adjust the
relcount = 0;
}
+ /* A few targets (eg MIPS, SPARC) create multiple internal relocs to
+ represent a single external reloc. Unfortunately the current BFD
+ API does not handle deleting relocs in such situations very well
+ and so it is unsafe to proceed. */
+ if (relcount > sec->reloc_count)
+ goto done;
+
/* Eliminate the duplicates. */
new = new_contents = xmalloc (size);
for (pnote = pnotes, old = contents;