From b4f5b984e5e771e75cee43942e56455531a02e68 Mon Sep 17 00:00:00 2001 From: "Jose E. Marchesi" Date: Fri, 19 May 2017 23:45:29 -0700 Subject: [PATCH] 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 * objcopy.c (merge_gnu_build_notes): Remove workaround that prevented deleting relocations in duplicated notes in mips64 and sparc. --- binutils/ChangeLog | 6 ++++++ binutils/objcopy.c | 7 ------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 59e3bb3..60a199a 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2017-05-19 Jose E. Marchesi + + * 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 * testsuite/binutils-all/mips/mips-note-2.d: New test. diff --git a/binutils/objcopy.c b/binutils/objcopy.c index ccb5e12..42c7775 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -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; -- 2.7.4