OSDN Git Service

bfd/
authorhjl <hjl>
Sat, 6 Jun 2009 22:39:24 +0000 (22:39 +0000)
committerhjl <hjl>
Sat, 6 Jun 2009 22:39:24 +0000 (22:39 +0000)
commit8b5d796669bc3c77766b0e32b90c5e6c74a638bd
tree7875e8152e6e876c6c6776db3dd2dd16e1643ed9
parentb9d6b115c197e54d6eb3f6786c640fefbb6d7b9b
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