aboutsummaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
authorWill Newton <will.newton@linaro.org>2015-02-09 17:11:54 +0800
committerWill Newton <will.newton@linaro.org>2015-02-11 15:18:59 +0800
commit07f107f306e422497915e62f6c3d3d6d7b20e8e1 (patch)
tree021f7956a4ebdf10ccc32add07213841546b91ce /gold
parent7e60a48ee004387aefcef48391ec93af203c6369 (diff)
downloadgdb-07f107f306e422497915e62f6c3d3d6d7b20e8e1.zip
gdb-07f107f306e422497915e62f6c3d3d6d7b20e8e1.tar.gz
gdb-07f107f306e422497915e62f6c3d3d6d7b20e8e1.tar.bz2
gold/arm.cc: Output mapping symbol for PLT code
Output an ARM state mapping symbol at the start of the PLT. With the current code objdump will fail to disassemble the PLT that gold creates. gold/ChangeLog: 2015-02-11 Will Newton <will.newton@linaro.org> PR gold/13321 * arm.cc (Target_arm::make_plt_section): Create an ARM state mapping symbol at the start of the PLT.
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog6
-rw-r--r--gold/arm.cc7
2 files changed, 13 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 87900ad..17b7f44 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-11 Will Newton <will.newton@linaro.org>
+
+ PR gold/13321
+ * arm.cc (Target_arm::make_plt_section): Create an ARM
+ state mapping symbol at the start of the PLT.
+
2015-02-09 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/Makefile.am (two_file_shared_2_pic_1_test_DEPENDENCIES):
diff --git a/gold/arm.cc b/gold/arm.cc
index be2294c..f1d4fe9 100644
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -7938,6 +7938,13 @@ Target_arm<big_endian>::make_plt_section(
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR),
this->plt_, ORDER_PLT, false);
+ symtab->define_in_output_data("$a", NULL,
+ Symbol_table::PREDEFINED,
+ this->plt_,
+ 0, 0, elfcpp::STT_NOTYPE,
+ elfcpp::STB_LOCAL,
+ elfcpp::STV_DEFAULT, 0,
+ false, false);
}
}