binutils-gdb/ld/testsuite
Will Newton 1419bbe571 aarch64: Add support for GNU indirect functions.
Add support for STT_GNU_IFUNC symbols to the AArch64 bfd backend. The tests
are ported from the ld-ifunc tests but are enabled for cross builds so can
be run easily without hardware or a simulator.

bfd/ChangeLog:

2013-10-03  Will Newton  <will.newton@linaro.org>

	* configure: Regenerate.
	* configure.in: Build elf-ifunc.o for AArch64.
	* elfnn-aarch64.c: Include objalloc.h.
	(elfNN_aarch64_local_htab_hash): New function.
	(elfNN_aarch64_local_htab_eq): New function.
	(elfNN_aarch64_get_local_sym_hash): New function.
	(elfNN_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
	symbol hash.
	(elfNN_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
	(elfNN_aarch64_final_link_relocate): Add sym argument.  Add support
	for handling STT_GNU_IFUNC symbols.
	(elfNN_aarch64_gc_sweep_hook): Add support for garbage collecting
	references to STT_GNU_IFUNC symbols.
	(elfNN_aarch64_adjust_dynamic_symbol): Add support for handling
	STT_GNU_IFUNC symbols.
	(elfNN_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
	symbols.  Ensure we don't increase plt.refcount from -1 to 0.
	(elfNN_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
	(elfNN_aarch64_is_function_type): Remove function.
	(elfNN_aarch64_allocate_dynrelocs): Handle STT_GNU_IFUNC symbols.
	(elfNN_aarch64_allocate_ifunc_dynrelocs): New function.
	(elfNN_aarch64_allocate_local_dynrelocs): New function.
	(elfNN_aarch64_allocate_local_ifunc_dynrelocs): New function.
	(elfNN_aarch64_size_dynamic_sections): Call
	elfNN_aarch64_allocate_local_dynrelocs.
	(elfNN_aarch64_create_small_pltn_entry): Add info argument.
	Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
	(elfNN_aarch64_finish_dynamic_symbol): Add support for handling
	STT_GNU_IFUNC symbols and .iplt.
	(elfNN_aarch64_finish_local_dynamic_symbol): New function.
	(elfNN_aarch64_finish_dynamic_sections): Call
	elfNN_aarch64_finish_local_dynamic_symbol.

ld/ChangeLog:

2013-10-03  Will Newton  <will.newton@linaro.org>

	* emulparams/aarch64elf.sh: Add IREL_IN_PLT.
	* emulparams/aarch64elf32.sh: Likewise.

ld/testsuite/ChangeLog:

2013-10-03  Will Newton  <will.newton@linaro.org>

	* ld-ifunc/ifunc.exp: Enable ifunc tests for AArch64.
	* ld-aarch64/aarch64-elf.exp: Run ifunc tests.
	* ld-aarch64/ifunc-1-local.d: New file.
	* ld-aarch64/ifunc-1-local.s: Likewise.
	* ld-aarch64/ifunc-1.d: Likewise.
	* ld-aarch64/ifunc-1.s: Likewise.
	* ld-aarch64/ifunc-10.d: Likewise.
	* ld-aarch64/ifunc-10.s: Likewise.
	* ld-aarch64/ifunc-11.d: Likewise.
	* ld-aarch64/ifunc-11.s: Likewise.
	* ld-aarch64/ifunc-12.d: Likewise.
	* ld-aarch64/ifunc-12.s: Likewise.
	* ld-aarch64/ifunc-13.d: Likewise.
	* ld-aarch64/ifunc-13a.s: Likewise.
	* ld-aarch64/ifunc-13b.s: Likewise.
	* ld-aarch64/ifunc-14a.d: Likewise.
	* ld-aarch64/ifunc-14a.s: Likewise.
	* ld-aarch64/ifunc-14b.d: Likewise.
	* ld-aarch64/ifunc-14b.s: Likewise.
	* ld-aarch64/ifunc-14c.d: Likewise.
	* ld-aarch64/ifunc-14c.s: Likewise.
	* ld-aarch64/ifunc-14d.d: Likewise.
	* ld-aarch64/ifunc-14e.d: Likewise.
	* ld-aarch64/ifunc-14f.d: Likewise.
	* ld-aarch64/ifunc-15.d: Likewise.
	* ld-aarch64/ifunc-15.s: Likewise.
	* ld-aarch64/ifunc-16.d: Likewise.
	* ld-aarch64/ifunc-16.s: Likewise.
	* ld-aarch64/ifunc-17a.d: Likewise.
	* ld-aarch64/ifunc-17a.s: Likewise.
	* ld-aarch64/ifunc-17b.d: Likewise.
	* ld-aarch64/ifunc-17b.s: Likewise.
	* ld-aarch64/ifunc-18a.d: Likewise.
	* ld-aarch64/ifunc-18a.s: Likewise.
	* ld-aarch64/ifunc-18b.d: Likewise.
	* ld-aarch64/ifunc-18b.s: Likewise.
	* ld-aarch64/ifunc-19a.d: Likewise.
	* ld-aarch64/ifunc-19a.s: Likewise.
	* ld-aarch64/ifunc-19b.d: Likewise.
	* ld-aarch64/ifunc-19b.s: Likewise.
	* ld-aarch64/ifunc-2-local.d: Likewise.
	* ld-aarch64/ifunc-2-local.s: Likewise.
	* ld-aarch64/ifunc-2.d: Likewise.
	* ld-aarch64/ifunc-2.s: Likewise.
	* ld-aarch64/ifunc-20.d: Likewise.
	* ld-aarch64/ifunc-20.s: Likewise.
	* ld-aarch64/ifunc-3.s: Likewise.
	* ld-aarch64/ifunc-3a.d: Likewise.
	* ld-aarch64/ifunc-3b.d: Likewise.
	* ld-aarch64/ifunc-4.d: Likewise.
	* ld-aarch64/ifunc-4.s: Likewise.
	* ld-aarch64/ifunc-4a.d: Likewise.
	* ld-aarch64/ifunc-5-local.s: Likewise.
	* ld-aarch64/ifunc-5.s: Likewise.
	* ld-aarch64/ifunc-5a-local.d: Likewise.
	* ld-aarch64/ifunc-5a.d: Likewise.
	* ld-aarch64/ifunc-5b-local.d: Likewise.
	* ld-aarch64/ifunc-5b.d: Likewise.
	* ld-aarch64/ifunc-5r-local.d: Likewise.
	* ld-aarch64/ifunc-6.s: Likewise.
	* ld-aarch64/ifunc-6a.d: Likewise.
	* ld-aarch64/ifunc-6b.d: Likewise.
	* ld-aarch64/ifunc-7.s: Likewise.
	* ld-aarch64/ifunc-7a.d: Likewise.
	* ld-aarch64/ifunc-7b.d: Likewise.
	* ld-aarch64/ifunc-7c.d: Likewise.
	* ld-aarch64/ifunc-8.d: Likewise.
	* ld-aarch64/ifunc-8a.s: Likewise.
	* ld-aarch64/ifunc-8b.s: Likewise.
	* ld-aarch64/ifunc-9.d: Likewise.
	* ld-aarch64/ifunc-9.s: Likewise.
2013-10-03 14:46:09 +00:00
..
config Add HOSTING_SCRT0 for PIE test 2013-01-19 19:36:37 +00:00
ld-aarch64 aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ld-alpha * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-arm ld/testsuite/ 2013-09-04 14:35:13 +00:00
ld-auto-import update copyright dates 2009-09-02 07:25:43 +00:00
ld-bootstrap 2011-12-03 David Daney <david.daney@cavium.com> 2011-12-03 17:13:02 +00:00
ld-cdtest update copyright dates 2009-09-02 07:25:43 +00:00
ld-checks update copyright dates 2009-09-02 07:25:43 +00:00
ld-cris * ld-cris/libdso-13.d: Adjust for --enable-new-dtags now 2013-01-31 09:55:23 +00:00
ld-crx update copyright dates 2009-09-02 07:25:43 +00:00
ld-cygwin update copyright dates 2009-09-02 07:25:43 +00:00
ld-d10v * ld-d10v/reloc-007.d: Don't error. 2010-09-23 11:55:47 +00:00
ld-discard bfd/ 2012-04-03 16:01:38 +00:00
ld-elf * dwarf.c (dwarf_vmatoa): Rename to dwarf_vmatoa_1 and add a 2013-09-12 09:14:47 +00:00
ld-elfcomm 2013-02-06 Sandra Loosemore <sandra@codesourcery.com> 2013-02-06 23:22:26 +00:00
ld-elfvers ld/testsuite/ChangeLog: 2013-03-20 12:46:27 +00:00
ld-elfvsb gas/testsuite/ChangeLog: 2013-03-15 17:55:03 +00:00
ld-elfweak * ld-elfvers/vers.exp: Add -Wl,--no-as-needed to all tests 2013-03-20 02:28:17 +00:00
ld-fastcall update copyright dates 2009-09-02 07:25:43 +00:00
ld-frv * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-gc * archures.c: Add some more MSP430 machine numbers. 2013-05-02 21:06:15 +00:00
ld-h8300 * elf32-h8300 (h8_relax_section): Add new relaxation of mov 2013-03-21 16:08:07 +00:00
ld-i386 Update x86 nacl tests for section alignment change 2013-06-04 16:08:51 +00:00
ld-ia64 * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-ifunc aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ld-libs * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-linkonce bfd/ 2012-04-03 16:01:38 +00:00
ld-m68hc11 2012-11-07 James Murray <jsm@jsm-net.demon.co.uk> 2012-11-07 20:35:02 +00:00
ld-m68k * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-mep Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-metag * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-mips-elf bfd/ 2013-09-24 22:15:38 +00:00
ld-misc * ld-gc/start.d: Exclude frv-*-linux*. 2011-02-10 07:24:06 +00:00
ld-mmix * ld-mmix/sec-1.d, ld-mmix/sec-3.d: Force end-of-section symbols 2012-09-09 16:31:12 +00:00
ld-mn10300 * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-nios2 2013-02-06 Sandra Loosemore <sandra@codesourcery.com> 2013-02-06 23:22:26 +00:00
ld-pe * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-pie * ld-pie/pie.exp: Remove extra braces. 2012-04-23 18:03:28 +00:00
ld-plugin PR ld/12982 2013-05-21 07:15:22 +00:00
ld-powerpc * ld-powerpc/powerpc.exp: Substitute for le in options_regsub(ld). 2013-08-22 07:34:28 +00:00
ld-s390 2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2013-07-05 09:51:00 +00:00
ld-scripts bfd/ 2013-08-26 19:27:25 +00:00
ld-selective * ld-elf/linkoncerdiff.d: Don't run for hppa64-hpux. 2012-02-14 01:02:04 +00:00
ld-sh * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-shared gas/testsuite/ChangeLog: 2013-03-15 17:55:03 +00:00
ld-size ld/testsuite/ 2013-06-04 19:24:10 +00:00
ld-sparc * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-spu ld/ 2012-06-15 15:13:41 +00:00
ld-srec * archures.c: Add some more MSP430 machine numbers. 2013-05-02 21:06:15 +00:00
ld-tic6x * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-tilegx * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-tilepro * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-undefined * archures.c: Add some more MSP430 machine numbers. 2013-05-02 21:06:15 +00:00
ld-unique Set unique_global only for definition 2013-02-22 01:20:48 +00:00
ld-v850 Add support for v850E2 and v850E2V3 2010-07-23 14:52:54 +00:00
ld-vax-elf * ld-vax-elf/export-class-call.dd: New test. 2013-07-27 22:28:29 +00:00
ld-versados update copyright dates 2009-09-02 07:25:43 +00:00
ld-vxworks Tolerate some whitespace differences in readelf output. 2009-09-23 03:12:28 +00:00
ld-x86-64 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
ld-xc16x * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-xstormy16 * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
ld-xtensa * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass 2013-02-19 01:10:06 +00:00
lib * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if G10 2013-08-09 10:40:04 +00:00
ChangeLog aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ChangeLog-2004 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2005 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2006 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2007 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2008 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2009 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2010 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2011 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2012 Rotate binutils ChangeLog for 2013 2013-01-02 17:06:32 +00:00
ChangeLog-9303 Add copyright notices 2012-12-10 12:48:03 +00:00