aboutsummaryrefslogtreecommitdiff
path: root/gold/arm.cc
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/arm.cc
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/arm.cc')
-rw-r--r--gold/arm.cc7
1 files changed, 7 insertions, 0 deletions
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);
}
}