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:
parent
24482ca057
commit
1bae613c85
2 changed files with 6 additions and 1 deletions
|
@ -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>
|
2012-01-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* configure.ac: Check if -mcmodel=medium works.
|
* configure.ac: Check if -mcmodel=medium works.
|
||||||
|
|
|
@ -2476,7 +2476,8 @@ Target_x86_64<size>::Scan::global(Symbol_table* symtab,
|
||||||
target->copy_reloc(symtab, layout, object,
|
target->copy_reloc(symtab, layout, object,
|
||||||
data_shndx, output_section, gsym, reloc);
|
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->type() == elfcpp::STT_GNU_IFUNC
|
||||||
&& gsym->can_use_relative_reloc(false)
|
&& gsym->can_use_relative_reloc(false)
|
||||||
&& !gsym->is_from_dynobj()
|
&& !gsym->is_from_dynobj()
|
||||||
|
|
Loading…
Reference in a new issue