bfd/
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 6 Jun 2009 22:39:25 +0000 (22:39 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 6 Jun 2009 22:39:25 +0000 (22:39 +0000)
commit2a81c24ab145893771d1d64f204af5f864b67f2e
tree6ad54f8da71960f9ffb53e31e300d04bcac06e88
parent0e7c7f11f471e3350d50c08fda8e3ddf055940f2
bfd/

2009-06-06  H.J. Lu  <hongjiu.lu@intel.com>

* elf32-i386.c (elf_i386_link_hash_table): Add irelifunc.
(elf_i386_link_hash_table_create): Initialize irelifunc.
(elf_i386_check_relocs): Updated.  Set up irelifunc for
shared objects.
(elf_i386_allocate_dynrelocs): Use irelifunc for dynamic
relocation for non-GOT reference of STT_GNU_IFUNC symbol in
shared objects.
(elf_i386_relocate_section): Likewise.

* elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc.
(elf64_x86_64_link_hash_table_create): Initialize irelifunc.
(elf64_x86_64_check_relocs): Updated.  Set up irelifunc for
shared objects.
(elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic
relocation for non-GOT reference of STT_GNU_IFUNC symbol in
shared objects.
(elf64_x86_64_relocate_section): Likewise.

* elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to
...
(_bfd_elf_create_ifunc_sections): This.

* elflink.c (_bfd_elf_create_static_ifunc_sections): Renamd to
...
(_bfd_elf_create_ifunc_sections): This.  Create .rel[a].ifunc
for shared objects.

ld/

2009-06-06  H.J. Lu  <hongjiu.lu@intel.com>

* scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf32-i386.c
bfd/elf64-x86-64.c
bfd/elflink.c
ld/ChangeLog
ld/scripttempl/elf.sc