aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-08-03 16:45:25 +0930
committerAlan Modra <amodra@gmail.com>2018-08-05 10:33:07 +0930
commit3f6ff4799bc50e6030bb707b2b2b525fcfdd2216 (patch)
tree6eeb00a174a088a64b750e882fc7ddf370a8e34b
parent1a6204c9a73d10fe65c0b0b54d542cf73d156a56 (diff)
downloadgdb-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/ChangeLog4
-rw-r--r--bfd/elf64-ppc.c4
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/testsuite/ld-powerpc/elfv2exe.d4
-rw-r--r--ld/testsuite/ld-powerpc/tocopt6.d8
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