X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2Foutput.cc;h=b72bd8d47681d6ee4a4750bdf82ff8d7a74b66e0;hb=67181c72fbaad59e5793cf6bcb8d12d7d211c817;hp=b9cfafd9cd2b18f4d405c788a15e776c4f9a16dd;hpb=5e44ecb338cc222e3033b72fe63e67054b942eed;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/output.cc b/gold/output.cc index b9cfafd9cd..b72bd8d476 100644 --- a/gold/output.cc +++ b/gold/output.cc @@ -1347,7 +1347,7 @@ Output_data_got::Got_entry::write(unsigned char* pov) const // RELATIVE relocation. Symbol* gsym = this->u_.gsym; if (this->use_plt_offset_ && gsym->has_plt_offset()) - val = (parameters->target().plt_section_for_global(gsym)->address() + val = (parameters->target().plt_address_for_global(gsym) + gsym->plt_offset()); else { @@ -1381,9 +1381,9 @@ Output_data_got::Got_entry::write(unsigned char* pov) const val = symval->value(this->u_.object, 0); else { - const Output_data* plt = - parameters->target().plt_section_for_local(object, lsi); - val = plt->address() + object->local_plt_offset(lsi); + uint64_t plt_address = + parameters->target().plt_address_for_local(object, lsi); + val = plt_address + object->local_plt_offset(lsi); } } break;