diff options
author | Michael Hudson-Doyle <michael.hudson@canonical.com> | 2020-11-16 14:20:23 +1300 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-11-17 20:59:53 +1030 |
commit | f1e05b19786669d29d59f48f26bc06ad67c221e2 (patch) | |
tree | fb70221841be78153d4b777219323142f2036344 /gold | |
parent | 7cc340055d3993a25ded914aef88f784f16d46bc (diff) | |
download | gdb-f1e05b19786669d29d59f48f26bc06ad67c221e2.zip gdb-f1e05b19786669d29d59f48f26bc06ad67c221e2.tar.gz gdb-f1e05b19786669d29d59f48f26bc06ad67c221e2.tar.bz2 |
[GOLD] fix jump to long branch on powerpc
PR 26902
* powerpc.cc (Relocate::relocate): Do not include local entry
offset of target function when computing the address of a stub.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 6 | ||||
-rw-r--r-- | gold/powerpc.cc | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index cb2ad72..937bb28 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2020-11-16 Michael Hudson-Doyle <michael.hudson@canonical.com> + + PR 26902 + * powerpc.cc (Relocate::relocate): Do not include local entry + offset of target function when computing the address of a stub. + 2020-11-08 H.J. Lu <hongjiu.lu@intel.com> PR gold/26200 diff --git a/gold/powerpc.cc b/gold/powerpc.cc index b0d6a74..fcbe71f 100644 --- a/gold/powerpc.cc +++ b/gold/powerpc.cc @@ -11094,8 +11094,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate( + ent->off_); if (size == 64 && r_type != elfcpp::R_PPC64_REL24_NOTOC) - value += (elfcpp::ppc64_decode_local_entry(ent->other_) - + ent->tocoff_); + value += ent->tocoff_; } has_stub_value = true; } |