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

* configure.in (elf): Add elf-ifunc.lo.

	* configure: Regenerated.
	* Makefile.in: Likewise.

	* elf-bfd.h (elf_link_hash_table): Add sgot, sgotplt,
	srelgot, splt, srelplt, igotplt, iplt, irelplt and irelifunc.

	* elf32-i386.c (elf_i386_link_hash_table): Remove sgot,
	sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
	irelifunc.
	(elf_i386_link_hash_table_create): Likewise.
	(elf_i386_create_dynamic_sections): Likewise.
	(elf_i386_check_relocs): Likewise.
	(elf_i386_allocate_dynrelocs): Likewise.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Likewise.
	(elf_i386_finish_dynamic_symbol): Likewise.
	(elf_i386_finish_dynamic_sections): Likewise.
	(elf_i386_create_got_section): Removed.

	* elf64-x86-64.c (elf64_x86_64_link_hash_table): Remove sgot,
	sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
	irelifunc.
	(elf64_x86_64_compute_jump_table_size): Updated.
	(elf64_x86_64_link_hash_table_create): Likewise.
	(elf64_x86_64_create_dynamic_sections): Likewise.
	(elf64_x86_64_check_relocs): Likewise.
	(elf64_x86_64_allocate_dynrelocs): Likewise.
	(elf64_x86_64_size_dynamic_sections): Likewise.
	(elf64_x86_64_relocate_section): Likewise.
	(elf64_x86_64_finish_dynamic_symbol): Likewise.
	(elf64_x86_64_finish_dynamic_sections): Likewise.
	(elf64_x86_64_create_got_section): Removed.

	* elflink.c (_bfd_elf_create_got_section): Use log_file_align
	for pointer alignment.  Set up section pointers.
	(_bfd_elf_create_dynamic_sections): Likewise.
	(_bfd_elf_create_ifunc_sections): Moved to ...
	* elf-ifunc.c: Here.  New.

	* Makefile.am (BFD32_BACKENDS): Add elf-ifunc.lo.
	(BFD32_BACKENDS_CFILES): Add elf-ifunc.c.
	Run "make dep-am".
This commit is contained in:
H.J. Lu
2009-06-16 13:41:10 +00:00
parent 671f4ed1aa
commit 6de2ae4a2a
10 changed files with 567 additions and 609 deletions

View File

@ -250,6 +250,7 @@ BFD32_BACKENDS = \
ecofflink.lo \
elf-attrs.lo \
elf-eh-frame.lo \
elf-ifunc.lo \
elf-m10200.lo \
elf-m10300.lo \
elf-strtab.lo \
@ -432,6 +433,7 @@ BFD32_BACKENDS_CFILES = \
ecofflink.c \
elf-attrs.c \
elf-eh-frame.c \
elf-ifunc.c \
elf-m10200.c \
elf-m10300.c \
elf-strtab.c \
@ -2046,6 +2048,18 @@ elf-eh-frame.lo: \
$(INCDIR)/filenames.h \
$(INCDIR)/hashtab.h \
elf-bfd.h
elf-ifunc.lo: \
elf-ifunc.c \
$(INCDIR)/bfdlink.h \
$(INCDIR)/elf/common.h \
$(INCDIR)/elf/external.h \
$(INCDIR)/elf/internal.h \
$(INCDIR)/filenames.h \
$(INCDIR)/hashtab.h \
$(INCDIR)/libiberty.h \
$(INCDIR)/objalloc.h \
$(INCDIR)/safe-ctype.h \
elf-bfd.h
elf-m10200.lo: \
elf-m10200.c \
$(INCDIR)/bfdlink.h \