diff options
author | Alan Modra <amodra@gmail.com> | 2015-11-09 15:03:29 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-11-10 17:14:41 +1030 |
commit | c316a17c40e44e8798b34ff84130904f2e7a53de (patch) | |
tree | c63c9eb998140c10abb05c3533f64dc99b6b9c88 /include | |
parent | 1057567ea711d80f9937653179b06507827d5819 (diff) | |
download | gdb-c316a17c40e44e8798b34ff84130904f2e7a53de.zip gdb-c316a17c40e44e8798b34ff84130904f2e7a53de.tar.gz gdb-c316a17c40e44e8798b34ff84130904f2e7a53de.tar.bz2 |
Fix performance regression due to ld -r memmove
The idea here is that instead of using memmove to shuffle the relocs
array every time one is deleted, to add a "wrel" pointer and copy from
rel[0] to wrel[0] as we go.
* 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.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions