This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]