[Proposed patch] Huge performance regression in ld -r since binutils >= 2.21

H.J. Lu hjl.tools@gmail.com
Tue Nov 10 08:24:00 GMT 2015


On Mon, Nov 9, 2015 at 10:51 PM, Alan Modra <amodra@gmail.com> wrote:
> On Mon, Nov 09, 2015 at 10:04:42AM +0100, Romain Geissler wrote:
>> Indeed, much better idea. I will use your patch and apply it to x86/64 as
>> well.
>
> On checking I found I'd made a mistake in the previous patch, so
> decided to go with the safer approach of copying relocs at the end of
> the loop.  Also, I'm not renaming "rel" to "rrel".
>
>         * elf64-ppc.c (ppc64_elf_relocate_section): Use read and write
>         pointers to reloc array, rather than memmove when deleting a
>         reloc.  Don't use RELOC_AGAINST_DISCARDED_SECTION.  Adjust
>         reloc counts at end of loop.
>         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
>

I checked in a similar, but a little different, patch to fix i386 and
x86-64.


-- 
H.J.



More information about the Binutils mailing list