Support x32 IFUNC function pointer

2012-01-27  H.J. Lu  <hongjiu.lu@intel.com>

	* x86_64.cc (Scan::global): Support x32 IFUNC function pointer.
This commit is contained in:
H.J. Lu 2012-01-27 23:26:55 +00:00
parent 24482ca057
commit 1bae613c85
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2012-01-27 H.J. Lu <hongjiu.lu@intel.com>
* x86_64.cc (Scan::global): Support x32 IFUNC function pointer.
2012-01-27 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac: Check if -mcmodel=medium works.

View File

@ -2476,7 +2476,8 @@ Target_x86_64<size>::Scan::global(Symbol_table* symtab,
target->copy_reloc(symtab, layout, object,
data_shndx, output_section, gsym, reloc);
}
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->type() == elfcpp::STT_GNU_IFUNC
&& gsym->can_use_relative_reloc(false)
&& !gsym->is_from_dynobj()