diff options
Diffstat (limited to 'gold/output.cc')
-rw-r--r-- | gold/output.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gold/output.cc b/gold/output.cc index 7ad8750aa36..f2890c87f8c 100644 --- a/gold/output.cc +++ b/gold/output.cc @@ -1367,6 +1367,7 @@ Output_data_group<size, big_endian>::do_write(Output_file* of) template<int got_size, bool big_endian> void Output_data_got<got_size, big_endian>::Got_entry::write( + Output_data_got_base* got, unsigned int got_indx, unsigned char* pov) const { @@ -1421,7 +1422,7 @@ Output_data_got<got_size, big_endian>::Got_entry::write( if (this->use_plt_or_tls_offset_ && gsym->type() == elfcpp::STT_TLS) val += parameters->target().tls_offset_for_global(gsym, - got_indx, + got, got_indx, this->addend_); } } @@ -1451,7 +1452,7 @@ Output_data_got<got_size, big_endian>::Got_entry::write( val = convert_types<Valtype, uint64_t>(lval); if (this->use_plt_or_tls_offset_ && is_tls) val += parameters->target().tls_offset_for_local(object, lsi, - got_indx, + got, got_indx, this->addend_); } } @@ -1699,7 +1700,7 @@ Output_data_got<got_size, big_endian>::do_write(Output_file* of) unsigned char* pov = oview; for (unsigned int i = 0; i < this->entries_.size(); ++i) { - this->entries_[i].write(i, pov); + this->entries_[i].write(this, i, pov); pov += add; } |