Use relative relocation for R_X86_64_32 on x32

2013-09-03  Pavel Chupin  <pavel.v.chupin@intel.com>

	PR gold/15927
	* x86_64.cc (Target_x86_64<size>::Scan::global): Use relative
	relocation for R_X86_64_32 on x32.
This commit is contained in:
H.J. Lu 2013-09-03 17:38:57 +00:00
parent 07107ca6f9
commit b14016f0b2
2 changed files with 8 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2013-09-03 Pavel Chupin <pavel.v.chupin@intel.com>
PR gold/15927
* x86_64.cc (Target_x86_64<size>::Scan::global): Use relative
relocation for R_X86_64_32 on x32.
2013-08-27 Roland McGrath <mcgrathr@google.com>
* output.cc (Output_segment::set_section_addresses): Take new

View file

@ -2742,7 +2742,8 @@ Target_x86_64<size>::Scan::global(Symbol_table* symtab,
reloc.get_r_offset(),
reloc.get_r_addend());
}
else if (r_type == elfcpp::R_X86_64_64
else if (((size == 64 && r_type == elfcpp::R_X86_64_64)
|| (size == 32 && r_type == elfcpp::R_X86_64_32))
&& gsym->can_use_relative_reloc(false))
{
Reloc_section* rela_dyn = target->rela_dyn_section(layout);