binutils: remove sparc64/mips64 workaround in objcopy build notes merge code

This patch removes a workaround recently installed in objcopy that
avoided removing duplicated notes in targets for which the number of
internal relocations may be bigger than the number of external
relocations.  With the recent fixes in sparc64 and mips64, this
workaround is no longer necessary.

2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* objcopy.c (merge_gnu_build_notes): Remove workaround that
	prevented deleting relocations in duplicated notes in mips64 and
	sparc.
This commit is contained in:
Jose E. Marchesi 2017-05-19 23:45:29 -07:00
parent 43cc5389bc
commit b4f5b984e5
2 changed files with 6 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
* objcopy.c (merge_gnu_build_notes): Remove workaround that
prevented deleting relocations in duplicated notes in mips64 and
sparc.
2017-05-19 Maciej W. Rozycki <macro@imgtec.com>
* testsuite/binutils-all/mips/mips-note-2.d: New test.

View File

@ -2137,13 +2137,6 @@ merge_gnu_build_notes (bfd * abfd, asection * sec, bfd_size_type size, bfd_byte
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 ((unsigned long) relcount > sec->reloc_count)
goto done;
/* Eliminate the duplicates. */
new = new_contents = xmalloc (size);
for (pnote = pnotes, old = contents;