summaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2012-12-10 11:30:57 +0000
committerAlan Modra <amodra@bigpond.net.au>2012-12-10 11:30:57 +0000
commitda4be5b6b550e3622ea30813db8cafeac85e1573 (patch)
tree0fad16809ab2f142a54ffac9baac50da39761cf1 /gold
parentf7d91aefc7a1242b7518ffd07b490f1cee5829be (diff)
downloadbinutils-redhat-da4be5b6b550e3622ea30813db8cafeac85e1573.tar.gz
* powerpc.cc (Powerpc_relobj::Powerpc_relobj): Init has14_ and
stub_table_. (Target_powerpc::Branch_info::make_stub): Don't omit addend.
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog6
-rw-r--r--gold/powerpc.cc4
2 files changed, 9 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 4ccde1692e..6db642c1ea 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,9 @@
+2012-12-10 Alan Modra <amodra@gmail.com>
+
+ * powerpc.cc (Powerpc_relobj::Powerpc_relobj): Init has14_ and
+ stub_table_.
+ (Target_powerpc::Branch_info::make_stub): Don't omit addend.
+
2012-12-07 Roland McGrath <mcgrathr@google.com>
* testsuite/binary_unittest.cc (Sized_binary_test):
diff --git a/gold/powerpc.cc b/gold/powerpc.cc
index 3d54577c62..896e8ab21a 100644
--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -71,7 +71,8 @@ public:
Powerpc_relobj(const std::string& name, Input_file* input_file, off_t offset,
const typename elfcpp::Ehdr<size, big_endian>& ehdr)
: Sized_relobj_file<size, big_endian>(name, input_file, offset, ehdr),
- special_(0), opd_valid_(false), opd_ent_(), access_from_map_()
+ special_(0), opd_valid_(false),
+ opd_ent_(), access_from_map_(), has14_(), stub_table_()
{ }
~Powerpc_relobj()
@@ -2067,6 +2068,7 @@ Target_powerpc<size, big_endian>::Branch_info::make_stub(
return;
to = symval.value(this->object_, 0);
}
+ to += this->addend_;
if (stub_table == NULL)
stub_table = this->object_->stub_table(this->shndx_);
gold_assert(stub_table != NULL);