bfd/
commitf4cafbd0d73b012a4ba25da223646ec9cc1565cb
authorH.J. Lu <hjl@lucon.org>
Mon, 1 Jun 2009 12:53:00 +0000 (1 12:53 +0000)
committerH.J. Lu <hjl@lucon.org>
Mon, 1 Jun 2009 12:53:00 +0000 (1 12:53 +0000)
treea5e5d6446e1f0dc586e50dfe4a02c07f02bcd3cd
parent8018bef94ffd01733d28ee1298ebf547bd93d241
bfd/

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

* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs.
(_bfd_elf_make_ifunc_reloc_section): Removed.
(_bfd_elf_is_ifunc_symbol): Likewise.
(_bfd_elf_create_static_ifunc_sections): New.

* elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC
symbol check to ...
(elf_link_add_object_symbols): Here.
(_bfd_elf_link_hash_hide_symbol): Don't clean plt on
STT_GNU_IFUNC symbol.
(elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol
if a STT_GNU_IFUNC symbol is referenced in a non-shared object.
(IFUNC_INFIX): Removed.
(get_ifunc_reloc_section_name): Likewise.
(_bfd_elf_make_ifunc_reloc_section): Likewise.
(_bfd_elf_is_ifunc_symbol): Likewise.
(_bfd_elf_create_static_ifunc_sections): New.

ld/

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

* scripttempl/elf.sc (PLT): Add "*(.iplt)".
(GOT): Add "*(.igot.plt)a" and "*(.igot)".
(GOTPLT): Add "*(.igot)".
(__rel_iplt_start): New.
(__rel_iplt_end): Likewise.
(__rela_iplt_start): Likewise.
(__rela_iplt_end): Likewise.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elflink.c
ld/ChangeLog
ld/scripttempl/elf.sc