Optimise PowerPC64 r2 adjusting stubs
authorAlan Modra <amodra@gmail.com>
Mon, 31 Aug 2015 08:25:14 +0000 (17:55 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 31 Aug 2015 13:24:23 +0000 (22:54 +0930)
commita7c4979727e13498b8d4d85c72ddf65611c532a9
treee7152549126160b21cf0e1fbdb67e7cf041a6b38
parent6f20ed8a6ba1a01fb356eea8ea45310ed8478a27
Optimise PowerPC64 r2 adjusting stubs

Sometimes these stubs don't need to change the low 16-bits of r2, so in
that case omit a useless addi r2,r2,0 insn.  Also, change the get_r2off
error return from 0 to -1 since 0 is a valid return for ELFv2 -R objects.

* elf64-ppc.c (get_r2off): Return -1 on error.
(ppc_build_one_stub): Adjust for get_r2off change.  Don't emit
addi r2,r2,0 on r2off stubs when the low 16-bit delta is zero.
(ppc_size_one_stub): Corresponding size changes for r2off stubs.
Add condition in test for -R objects.
bfd/ChangeLog
bfd/elf64-ppc.c