This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Make the sh_info field of .rel.plt point to .plt (MIPS).
- From: Cary Coutant <ccoutant at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 24 Jan 2017 01:19:48 -0000
- Subject: [binutils-gdb] Make the sh_info field of .rel.plt point to .plt (MIPS).
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=04bc2a285435a82c45e3417906374307eafacd90
commit 04bc2a285435a82c45e3417906374307eafacd90
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date: Mon Jan 23 17:18:00 2017 -0800
Make the sh_info field of .rel.plt point to .plt (MIPS).
gold/
* mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
type.
(Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
point to .plt.
Diff:
---
gold/ChangeLog | 7 +++++++
gold/mips.cc | 6 +++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/gold/ChangeLog b/gold/ChangeLog
index c074564..d98ff0b 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,12 @@
2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
+ * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
+ type.
+ (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
+ point to .plt.
+
+2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
+
PR gold/21054
* mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
to the dynamic symbol table if it is forced to local visibility.
diff --git a/gold/mips.cc b/gold/mips.cc
index ca3dd00..56af570 100644
--- a/gold/mips.cc
+++ b/gold/mips.cc
@@ -2475,7 +2475,7 @@ class Mips_output_data_plt : public Output_section_data
add_entry(Mips_symbol<size>* gsym, unsigned int r_type);
// Return the .rel.plt section data.
- const Reloc_section*
+ Reloc_section*
rel_plt() const
{ return this->rel_; }
@@ -8521,6 +8521,10 @@ Target_mips<size, big_endian>::make_plt_entry(Symbol_table* symtab,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR),
this->plt_, ORDER_PLT, false);
+
+ // Make the sh_info field of .rel.plt point to .plt.
+ Output_section* rel_plt_os = this->plt_->rel_plt()->output_section();
+ rel_plt_os->set_info_section(this->plt_->output_section());
}
this->plt_->add_entry(gsym, r_type);