This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src ld/ChangeLog ld/NEWS gas/ChangeLog gas/NEW ...


CVSROOT:	/cvs/src
Module name:	src
Changes by:	nickc@sourceware.org	2009-04-30 15:47:14

Modified files:
	ld             : ChangeLog NEWS 
	gas            : ChangeLog NEWS 
	bfd            : ChangeLog bfd-in2.h elf-bfd.h elf.c 
	                 elf32-i386.c elf64-x86-64.c elfcode.h elflink.c 
	                 syms.c 
	include/elf    : ChangeLog common.h 
	elfcpp         : ChangeLog elfcpp.h 
	ld/testsuite   : ChangeLog 
	ld/testsuite/ld-checks: checks.exp 
	gas/testsuite/gas/elf: elf.exp section2.e-armelf type.e type.s 
	gas/config     : obj-elf.c tc-i386.c 
	gas/doc        : as.texinfo 
	binutils       : ChangeLog readelf.c 
Added files:
	ld/testsuite/ld-ifunc: ifunc.exp lib.c prog.c 
	gas/testsuite/gas/elf: type-noifunc.e type-noifunc.s 

Log message:
	include/elf
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* common.h (STT_GNU_IFUNC): Define.
	
	elfcpp
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* (enum STT): Add STT_GNU_IFUNC.
	
	gas
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* config/obj-elf.c (obj_elf_type): Add support for a
	gnu_indirect_function type.
	* config/tc-i386.c (tc_i386_fix_adjustable): Do not adjust fixups
	against indirect function symbols.
	* doc/as.texinfo (.type): Document the support for the
	gnu_indirect_function symbol type.
	* NEWS: Mention the new feature.
	
	gas/testsuite
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* gas/elf/elf.exp: Extend type test to include an ifunc symbol.
	Provide an alternative test for targets which do not support ifunc
	symbols.
	(type.s): Add entry for an ifunc symbol.
	(type.e): Add ifunc entry to expected symbol dump.
	(section2.e-armelf): Add  entry for ifunc symbol.
	(type-noifunc.s): New file.
	(type-noifunc.e): New file.
	
	bfd/
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs
	section pointer.
	(struct elf_obj_data): Add has_ifunc_symbols boolean.
	* elf.c (swap_out_syms): Convert BSF_GNU_INDIRECT_FUNCTION flags
	into a STT_GNU_IFUNC symbol type.
	(_bfd_elf_is_function_type): Accept STT_GNU_IFUNC as a function
	type.
	(_bfd_elf_set_osabi): Set the osasbi field to ELFOSABI_LINUX if
	the binary contains ifunc symbols.
	* elfcode.h (elf_slurp_symbol_table): Translate the STT_GNU_IFUNC
	symbol type into a BSF_GNU_INDIRECT_FUNCTION flag.
	* elf32-i386.c (is_indirect_function): New function.
	(elf_i386_check_relocs): Create an ifunc output section.
	(allocate_dynrelocs): Create dynamic relocs in the ifunc output
	section if necessary.
	(elf_i386_relocate_section): Emit a reloc against an ifunc symbol
	if necessary.
	(elf_i386_add_symbol_hook): New function. Set the
	has_ifunc_symbols field of the elf_obj_data structure if an ifunc
	symbol is encountered.
	(elf_backend_post_process_headers): Define.
	(elf_backend_add_symbol_hook): Define.
	(elf_i386_post_process_headers): Rename to
	elf_i388_fbsd_post_process_headers.
	* elf64-x86_64.c (IS_X86_64_PCREL_TYPE): New macro.
	(is_indirect_function): New function.
	(elf64_x86_64_check_relocs): Create an ifunc output section.
	(allocate_dynrelocs): Create dynamic relocs in the ifunc output
	section if necessary.
	(elf64_x86_64_relocate_section): Emit a reloc against an ifunc
	symbol if necessary.
	(elf_i386_add_symbol_hook): Set the has_ifunc_symbols field of the
	elf_obj_data structure if an ifunc symbol is encountered.
	(elf_backend_post_process_headers): Define.
	* elflink.c (_bfd_elf_adjust_dynamic_symbol): Always create a PLT
	if we have ifunc symbols to handle.
	(get_ifunc_reloc_section_name): New function.  Computes the name
	for an ifunc section.
	(_bfd_elf_make_ifunc_reloc_section): New function.  Creates a
	section to hold ifunc relocs.
	* syms.c (BSF_GNU_INDIRECT_FUNCTION): Define.
	(bfd_print_symbol_vandf): Handle ifunc symbols.
	(bfd_decode_symclass): Likewise.
	* bfd-in2.h: Regenerate.
	
	binutils
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* readelf.c (dump_relocations): Display a relocation against an
	ifunc symbol as if it were a function invocation.
	(get_symbol_type): Handle STT_GNU_IFUNC.
	
	ld
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* NEWS: Mention support for IFUNC symbols.
	
	ld/testsuite
	2009-04-30  Nick Clifton  <nickc@redhat.com>
	
	* ld-ifunc: New directory.
	* ld-ifunc/ifunc.exp: New file: Run the IFUNC tests.
	* ld-ifunc/prog.c: New file.
	* ld-ifunc/lib.c: New file.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/ChangeLog.diff?cvsroot=src&r1=1.1976&r2=1.1977
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/NEWS.diff?cvsroot=src&r1=1.102&r2=1.103
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&r1=1.3793&r2=1.3794
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/NEWS.diff?cvsroot=src&r1=1.104&r2=1.105
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.4573&r2=1.4574
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/bfd-in2.h.diff?cvsroot=src&r1=1.476&r2=1.477
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf-bfd.h.diff?cvsroot=src&r1=1.281&r2=1.282
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf.c.diff?cvsroot=src&r1=1.480&r2=1.481
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-i386.c.diff?cvsroot=src&r1=1.193&r2=1.194
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf64-x86-64.c.diff?cvsroot=src&r1=1.152&r2=1.153
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elfcode.h.diff?cvsroot=src&r1=1.93&r2=1.94
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elflink.c.diff?cvsroot=src&r1=1.334&r2=1.335
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/syms.c.diff?cvsroot=src&r1=1.50&r2=1.51
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/include/elf/ChangeLog.diff?cvsroot=src&r1=1.361&r2=1.362
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/include/elf/common.h.diff?cvsroot=src&r1=1.110&r2=1.111
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/elfcpp/ChangeLog.diff?cvsroot=src&r1=1.13&r2=1.14
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/elfcpp/elfcpp.h.diff?cvsroot=src&r1=1.21&r2=1.22
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1083&r2=1.1084
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-checks/checks.exp.diff?cvsroot=src&r1=1.12&r2=1.13
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc.exp.diff?cvsroot=src&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/lib.c.diff?cvsroot=src&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/prog.c.diff?cvsroot=src&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/elf/type-noifunc.e.diff?cvsroot=src&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/elf/type-noifunc.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/elf/elf.exp.diff?cvsroot=src&r1=1.49&r2=1.50
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/elf/section2.e-armelf.diff?cvsroot=src&r1=1.1&r2=1.2
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/elf/type.e.diff?cvsroot=src&r1=1.5&r2=1.6
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/elf/type.s.diff?cvsroot=src&r1=1.5&r2=1.6
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/config/obj-elf.c.diff?cvsroot=src&r1=1.112&r2=1.113
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/config/tc-i386.c.diff?cvsroot=src&r1=1.372&r2=1.373
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/doc/as.texinfo.diff?cvsroot=src&r1=1.200&r2=1.201
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/binutils/ChangeLog.diff?cvsroot=src&r1=1.1461&r2=1.1462
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/binutils/readelf.c.diff?cvsroot=src&r1=1.443&r2=1.444


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]