diff options
author | Alan Modra <amodra@gmail.com> | 2018-08-03 16:45:25 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-08-05 10:33:07 +0930 |
commit | 3f6ff4799bc50e6030bb707b2b2b525fcfdd2216 (patch) | |
tree | 6eeb00a174a088a64b750e882fc7ddf370a8e34b | |
parent | 1a6204c9a73d10fe65c0b0b54d542cf73d156a56 (diff) | |
download | gdb-3f6ff4799bc50e6030bb707b2b2b525fcfdd2216.zip gdb-3f6ff4799bc50e6030bb707b2b2b525fcfdd2216.tar.gz gdb-3f6ff4799bc50e6030bb707b2b2b525fcfdd2216.tar.bz2 |
Lose _r2off in powerpc64 stub names
Not a lot is conveyed by putting _r2off in a stub symbol that can't be
seen by inspecting the stub code or the toc restoring instruction
immediately after a call via such a stub. Also, we don't distinguish
plt_call stub symbols from plt_call_r2save stub symbols, so this patch
makes long branch and plt branch stub symbols consistent with that
decision.
bfd/
* elf64-ppc.c (ppc_build_one_stub): Lose "_r2off" in stub symbols.
ld/
* testsuite/ld-powerpc/elfv2exe.d: Adjust for stub symbol change.
* testsuite/ld-powerpc/tocopt6.d: Likewise.
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/elf64-ppc.c | 4 | ||||
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/elfv2exe.d | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/tocopt6.d | 8 |
5 files changed, 17 insertions, 8 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ec4077f..e23f747 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2018-08-05 Alan Modra <amodra@gmail.com> + + * elf64-ppc.c (ppc_build_one_stub): Lose "_r2off" in stub symbols. + 2018-08-02 Jim Wilson <jimw@sifive.com> * elfnn-riscv.c (riscv_elf_create_dynamic_sections): For .tdata.dyn, diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index b59a505..634e537 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -11513,9 +11513,9 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) size_t len1, len2; char *name; const char *const stub_str[] = { "long_branch", - "long_branch_r2off", + "long_branch", + "plt_branch", "plt_branch", - "plt_branch_r2off", "plt_call", "plt_call" }; diff --git a/ld/ChangeLog b/ld/ChangeLog index d1a15df..b32879d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2018-08-05 Alan Modra <amodra@gmail.com> + + * testsuite/ld-powerpc/elfv2exe.d: Adjust for stub symbol change. + * testsuite/ld-powerpc/tocopt6.d: Likewise. + 2018-08-03 H.J. Lu <hongjiu.lu@intel.com> * testsuite/ld-x86-64/property-x86-3.s: Use ".p2align 2" to diff --git a/ld/testsuite/ld-powerpc/elfv2exe.d b/ld/testsuite/ld-powerpc/elfv2exe.d index d08e600..a02a3ff 100644 --- a/ld/testsuite/ld-powerpc/elfv2exe.d +++ b/ld/testsuite/ld-powerpc/elfv2exe.d @@ -19,7 +19,7 @@ Disassembly of section \.text: .*: (7d 89 03 a6|a6 03 89 7d) mtctr r12 .*: (4e 80 04 20|20 04 80 4e) bctr -0+100000e0 <.*\.long_branch_r2off\.f5>: +0+100000e0 <.*\.long_branch\.f5>: .*: (f8 41 00 18|18 00 41 f8) std r2,24\(r1\) .*: (48 00 00 6c|6c 00 00 48) b .* <f5> \.\.\. @@ -39,7 +39,7 @@ Disassembly of section \.text: .*: (60 00 00 00|00 00 00 60) nop .*: (4b .. .. ..|.. .. .. 4b) bl .*\.plt_branch\.f4> .*: (60 00 00 00|00 00 00 60) nop -.*: (4b .. .. ..|.. .. .. 4b) bl .*\.long_branch_r2off\.f5> +.*: (4b .. .. ..|.. .. .. 4b) bl .*\.long_branch\.f5> .*: (e8 41 00 18|18 00 41 e8) ld r2,24\(r1\) .*: (e8 01 00 30|30 00 01 e8) ld r0,48\(r1\) .*: (38 21 00 20|20 00 21 38) addi r1,r1,32 diff --git a/ld/testsuite/ld-powerpc/tocopt6.d b/ld/testsuite/ld-powerpc/tocopt6.d index a34fec1..27ca0d0 100644 --- a/ld/testsuite/ld-powerpc/tocopt6.d +++ b/ld/testsuite/ld-powerpc/tocopt6.d @@ -1,12 +1,12 @@ #... -.* bl .*<.*long_branch_r2off\.f1> +.* bl .*<.*long_branch\.f1> .* ld *r2,40\(r1\) -.* bl .*<.*long_branch_r2off\.f2> +.* bl .*<.*long_branch\.f2> .* ld *r2,40\(r1\) .* bl .*<\.f3> .* nop -.* bl .*<.*long_branch_r2off\.g2> +.* bl .*<.*long_branch\.g2> .* ld *r2,40\(r1\) -.* bl .*<.*long_branch_r2off\.in23> +.* bl .*<.*long_branch\.in23> .* ld *r2,40\(r1\) #pass |