2009-06-06 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 6 Jun 2009 11:48:11 +0000 (11:48 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 6 Jun 2009 11:48:11 +0000 (11:48 +0000)
commit710ab2870ffb401c7365ab594108cd9b1b46fcb9
treed5b2a398f8f58a8f8d0222669f0310922943ea62
parent9e93c730ef1f406e7205afce336d9c4f538c8100
2009-06-06  H.J. Lu  <hongjiu.lu@intel.com>

* elf32-i386.c (elf_i386_check_relocs): Make room for dynamic
relocation for R_386_32 against STT_GNU_IFUNC symbol when
building shared object.  Check info->executable instead of
!info->shared when setting non_got_ref.
(elf_i386_allocate_dynrelocs): Allocate dynamic relocation
for non-GOT reference of STT_GNU_IFUNC symbol in shared
object. Allocate GOT relocation agsinst STT_GNU_IFUNC
symbol if needed.
(elf_i386_relocate_section): Output dynamic relocation for
R_386_32 against STT_GNU_IFUNC symbol to get the real
function address when building shared object.
(elf_i386_finish_dynamic_symbol): Output R_386_GLOB_DAT
relocation for STT_GNU_IFUNC symbol in shared object.

* elf64-x86-64.c (elf64_x86_64_check_relocs): Make room for
dynamic relocation for R_X86_64_64 against STT_GNU_IFUNC
symbol when building shared object.  Check info->executable
instead of !info->shared when setting non_got_ref.
(elf64_x86_64_allocate_dynrelocs): Allocate dynamic relocation
for non-GOT reference of STT_GNU_IFUNC symbol in shared
library. Allocate GOT relocation agsinst STT_GNU_IFUNC symbol
if needed.
(elf64_x86_64_relocate_section): Output dynamic relocation
for R_X86_64_64 against STT_GNU_IFUNC symbol to get the real
function address when building shared object.
(elf64_x86_64_finish_dynamic_symbol): Output R_X86_64_GLOB_DAT
relocation for STT_GNU_IFUNC symbol in shared object.
bfd/ChangeLog
bfd/elf32-i386.c
bfd/elf64-x86-64.c
This page took 0.025289 seconds and 4 git commands to generate.