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.
This commit is contained in:
Vladimir Radosavljevic 2017-01-23 17:18:00 -08:00 committed by Cary Coutant
parent c1f59f8ff9
commit 04bc2a2854
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,10 @@
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

View File

@ -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);