[Proposed patch] Huge performance regression in ld -r since binutils >= 2.21
Alan Modra
amodra@gmail.com
Tue Nov 10 09:17:00 GMT 2015
More information about the Binutils mailing list
Tue Nov 10 09:17:00 GMT 2015
- Previous message (by thread): [Proposed patch] Huge performance regression in ld -r since binutils >= 2.21
- Next message (by thread): [Proposed patch] Huge performance regression in ld -r since binutils >= 2.21
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Nov 10, 2015 at 12:24:32AM -0800, H.J. Lu wrote: > 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. You deleted a comment line, and need to look at all the "continue" statements. I see one that must copy relocs, and more that should copy *or* you should remove the copying code at the end of the loop. To clarify, I decided to add what is dead code to the powerpc backend in case we ever remove relocs when !relocatable. The only copying that is really needed is this one: if (bfd_link_relocatable (info)) { if (wrel != rel) *wrel = *rel; continue; } and you need to add the missing VTINHERIT/VTENTRY copy.. -- Alan Modra Australia Development Lab, IBM
- Previous message (by thread): [Proposed patch] Huge performance regression in ld -r since binutils >= 2.21
- Next message (by thread): [Proposed patch] Huge performance regression in ld -r since binutils >= 2.21
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list