Don't make PLT entry for R_X86_64_GOTPLT64
* x86_64.cc (Target_x86_64<size>::Scan::global): Don't make PLT entry for R_X86_64_GOTPLT64. (Target_x86_64<size>::Relocate::relocate): Update comments for R_X86_64_GOTPLT64.
This commit is contained in:
parent
355e210214
commit
e88ba8d569
2 changed files with 9 additions and 7 deletions
|
@ -1,3 +1,10 @@
|
|||
2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* x86_64.cc (Target_x86_64<size>::Scan::global): Don't make PLT
|
||||
entry for R_X86_64_GOTPLT64.
|
||||
(Target_x86_64<size>::Relocate::relocate): Update comments for
|
||||
R_X86_64_GOTPLT64.
|
||||
|
||||
2014-11-06 Evgeniy Dushistov <dushistov@mail.ru>
|
||||
|
||||
* plugin.cc: use lock to searialize calls of Plugin_manager::claim_file
|
||||
|
|
|
@ -2923,11 +2923,6 @@ Target_x86_64<size>::Scan::global(Symbol_table* symtab,
|
|||
}
|
||||
}
|
||||
}
|
||||
// For GOTPLT64, we also need a PLT entry (but only if the
|
||||
// symbol is not fully resolved).
|
||||
if (r_type == elfcpp::R_X86_64_GOTPLT64
|
||||
&& !gsym->final_value_is_known())
|
||||
target->make_plt_entry(symtab, layout, gsym);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -3454,9 +3449,9 @@ Target_x86_64<size>::Relocate::relocate(
|
|||
break;
|
||||
|
||||
case elfcpp::R_X86_64_GOT64:
|
||||
// The ABI doc says "Like GOT64, but indicates a PLT entry is needed."
|
||||
// Since we always add a PLT entry, this is equivalent.
|
||||
case elfcpp::R_X86_64_GOTPLT64:
|
||||
// R_X86_64_GOTPLT64 is obsolete and treated the the same as
|
||||
// GOT64.
|
||||
gold_assert(have_got_offset);
|
||||
Relocate_functions<size, false>::rela64(view, got_offset, addend);
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue