COMMITTED: Add support for STT_IFUNC

Nick Clifton nickc@redhat.com
Tue Dec 23 09:08:00 GMT 2008
Hi Guys,

   I have to apologise to everyone.  I was obviously jumping the gun by 
applying this patch before the feature had been fully discussed and 
improved.  I do believe that the feature will make it into the ELF 
standard at some point, but I was premature in adding support for it to 
the binutils sources.

   I am going to check in the attached patch to remove the STT_IFUNC 
support, for now.  Assuming that it does become officially accepted at 
some point I will then re-add support for it.

Cheers
   Nick

bfd/ChangeLog
2008-12-23  Nick Clifton  <nickc@redhat.com>

	* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs
	field.
	(_bfd_elf_make_ifunc_reloc_section): Remove prototype.
	* elf.c (swap_out_syms): Remove STT_IFUNC support.
	(elf_find_function): Likewise.
	* elf32-arm.c (arm_elf_find_function): Likewise.
	(elf32_arm_adjust_dynamic_symbol): Likewise.
	(elf32_arm_swap_symbol_in): Likewise.
	(elf32_arm_is_function_type): Likewise.
	* elf32-i386.c (is_indirect_symbol): Delete.
	(elf_i386_check_relocs): Remove STT_IFUNC support.
	(allocate_dynrelocs): Likewise.
	(elf_i386_relocate_section): Likewise.
	* elf64-x86-64.c (is_indirect_symbol): Delete.
	(elf64_x86_64_check_relocs): Remove STT_IFUNC support.
	(allocate_dynrelocs): Likewise.
	(elf64_x86_64_relocate_section): Likewise.
	* elfcode.h (elf_slurp_symbol_table): Likewise.
	* elflink.c (_bfd_elf_adjust_symbol): Likewise.
	(get_ifunc_reloc_section_name): Delete.
	(_bfd_elf_make_ifunc_reloc_section): Delete.
	* syms.c (BSF_INDIRECT_FUNCTION): Delete.
	(bfd_print_symbol_vandf): Remove STT_IFUNC support.
	(bfd_decode_symclass): Likewise.
	* bfd-in2.h: Regenerate.

binutils/ChangeLog
2008-12-23  Nick Clifton  <nickc@redhat.com>

	* objdump.c (dump_reloc_set): Remove STT_IFUNC support.
	* readelf.c (dump_relocations): Likewise.
	(get_symbol_type): Likewise.
	* doc/binutils.texi: Likewise.

gas/ChangeLog
2008-12-23  Nick Clifton  <nickc@redhat.com>

	* NEWS :Remove mention of STT_IFUNC support.
	* config/obj-elf.c (obj_elf_type): Remove STT_IFUNC support.
	* doc/as.texinfo: Remove mention of STT_IFUNC support.

gas/testsuite/ChangeLog
2008-12-23  Nick Clifton  <nickc@redhat.com>

	* gas/elf/type.s: Remove test of STT_IFUNC support.
	* gas/elf/type.e: Update expected output.

include/elf/ChangeLog
2008-12-23  Nick Clifton  <nickc@redhat.com>

	* commmon.h (STT_IFUNC): Delete.

ld/ChangeLog
2008-12-23  Nick Clifton  <nickc@redhat.com>

	* NEWS: Remove mention of support for STT_IFUNC.

ld/testsuite/ChangeLog2008-12-23  Nick Clifton  <nickc@redhat.com>

	* ld-i386/i386.exp: Do not run ifunc test.
	* ld-i386/ifunc.s: Delete.
	* ld-i386/ifunc.d: Delete.
	* ld-x86-64/x86-64.exp: Do not run ifunc test.
	* ld-x86-64/ifunc.s: Delete.
	* ld-x86-64/ifunc.d: Delete.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: remove-ifunc.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20081223/0cc4938b/attachment.ksh>


More information about the Binutils mailing list