aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-02-05 07:12:48 +1030
committerAlan Modra <amodra@gmail.com>2020-02-05 07:12:48 +1030
commit6df4c9c2ff42d2f932bc737a13c50faa4e3aefcd (patch)
tree2c1ecc669541609360c5344d0cb50172bcc35d09
parentc3b149eb7697b376df1b3a47d0102afda389ee6d (diff)
downloadfsf-binutils-gdb-6df4c9c2ff42d2f932bc737a13c50faa4e3aefcd.zip
fsf-binutils-gdb-6df4c9c2ff42d2f932bc737a13c50faa4e3aefcd.tar.gz
fsf-binutils-gdb-6df4c9c2ff42d2f932bc737a13c50faa4e3aefcd.tar.bz2
Re: Support fusion for ELFv2 stubs
git commit 397998fc32a3 changed the stubs but not the comments. * elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf64-ppc.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ebe9344..25b6387 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-05 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.
+
2020-02-04 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_relocate_section): After applying
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index b3f8f6b..2bc0f9d 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -2817,8 +2817,8 @@ must_be_dyn_reloc (struct bfd_link_info *info,
ppc_stub_plt_branch:
Similar to the above, but a 24 bit branch in the stub section won't
reach its destination.
- . addis %r11,%r2,xxx@toc@ha
- . ld %r12,xxx@toc@l(%r11)
+ . addis %r12,%r2,xxx@toc@ha
+ . ld %r12,xxx@toc@l(%r12)
. mtctr %r12
. bctr
@@ -2844,8 +2844,8 @@ must_be_dyn_reloc (struct bfd_link_info *info,
A ppc_stub_plt_branch with an r2 offset looks like:
. std %r2,40(%r1)
- . addis %r11,%r2,xxx@toc@ha
- . ld %r12,xxx@toc@l(%r11)
+ . addis %r12,%r2,xxx@toc@ha
+ . ld %r12,xxx@toc@l(%r12)
. addis %r2,%r2,off@ha
. addi %r2,%r2,off@l
. mtctr %r12