From 07f107f306e422497915e62f6c3d3d6d7b20e8e1 Mon Sep 17 00:00:00 2001 From: Will Newton Date: Mon, 9 Feb 2015 17:11:54 +0800 Subject: [PATCH] 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 PR gold/13321 * arm.cc (Target_arm::make_plt_section): Create an ARM state mapping symbol at the start of the PLT. --- gold/ChangeLog | 6 ++++++ gold/arm.cc | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/gold/ChangeLog b/gold/ChangeLog index 87900ad6ea7..17b7f44fb07 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2015-02-11 Will Newton + + 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 * testsuite/Makefile.am (two_file_shared_2_pic_1_test_DEPENDENCIES): diff --git a/gold/arm.cc b/gold/arm.cc index be2294c3e1b..f1d4fe930bb 100644 --- a/gold/arm.cc +++ b/gold/arm.cc @@ -7938,6 +7938,13 @@ Target_arm::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); } } -- 2.30.2