aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hudson-Doyle <michael.hudson@canonical.com>2020-11-16 14:20:23 +1300
committerAlan Modra <amodra@gmail.com>2020-11-17 20:59:53 +1030
commitf1e05b19786669d29d59f48f26bc06ad67c221e2 (patch)
treefb70221841be78153d4b777219323142f2036344
parent7cc340055d3993a25ded914aef88f784f16d46bc (diff)
downloadgdb-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.
-rw-r--r--gold/ChangeLog6
-rw-r--r--gold/powerpc.cc3
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;
}