old-cross-binutils/ld/testsuite/ld-ifunc
H.J. Lu d1ed1c7d69 Handle local IFUNC symbols in shared object
Increment PLT reference count for locally defined local IFUNC symbols
in shared object since STT_GNU_IFUNC symbol must go through PLT even
if it is locally defined and undefined symbol may turn out to be a
STT_GNU_IFUNC symbol later.

bfd/

	PR ld/19784
	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
	count for locally defined local IFUNC symbols in shared object.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.

ld/

	PR ld/19784
	* testsuite/ld-i386/i386.exp: Remove pr19636-2e-nacl test.
	* testsuite/ld-i386/pr19636-2e-nacl.d: Moved to ...
	* testsuite/ld-i386/pr19636-2e.d: Here.  Remove notarget.
	* testsuite/ld-ifunc/ifunc.exp: Run PR ld/19784 tests.
	* testsuite/ld-ifunc/pass.out: New file.
	* testsuite/ld-ifunc/pr19784a.c: Likewise.
	* testsuite/ld-ifunc/pr19784b.c: Likewise.
	* testsuite/ld-ifunc/pr19784c.c: Likewise.
2016-03-08 09:42:16 -08:00
..
binutils.exp Copyright update for binutils 2016-01-01 23:00:01 +10:30
dummy.c Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
ifunc-1-local-x86.d Update IFUNC tests for x32 2016-02-17 13:05:06 -08:00
ifunc-1-local-x86.s bfd/ 2009-06-14 01:39:46 +00:00
ifunc-1-x86.d Update IFUNC tests for x32 2016-02-17 13:05:06 -08:00
ifunc-1-x86.s
ifunc-2-i386.d
ifunc-2-i386.s
ifunc-2-local-i386.d bfd/ 2009-06-14 01:39:46 +00:00
ifunc-2-local-i386.s bfd/ 2009-06-14 01:39:46 +00:00
ifunc-2-local-x86-64.d [x86-64] Omit dynamic sections symbols 2016-02-17 11:19:04 -08:00
ifunc-2-local-x86-64.s bfd/ 2009-06-14 01:39:46 +00:00
ifunc-2-x86-64.d [x86-64] Omit dynamic sections symbols 2016-02-17 11:19:04 -08:00
ifunc-2-x86-64.s
ifunc-3-x86.s
ifunc-3a-x86.d Update IFUNC tests for x32 2016-02-17 13:05:06 -08:00
ifunc-3b-x86.d
ifunc-4-local-x86.d bfd/ 2009-06-14 01:39:46 +00:00
ifunc-4-local-x86.s bfd/ 2009-06-14 01:39:46 +00:00
ifunc-4-x86.d
ifunc-4-x86.s
ifunc-4a-x86.d Don't return on STT_GNU_IFUNC symbol when stripping. 2009-11-09 14:37:16 +00:00
ifunc-5-i386.s
ifunc-5-local-i386.s bfd/ 2009-06-14 01:39:46 +00:00
ifunc-5-local-x86-64.s bfd/ 2009-06-14 01:39:46 +00:00
ifunc-5-x86-64.s
ifunc-5a-i386.d bfd/ 2009-06-02 17:31:42 +00:00
ifunc-5a-local-i386.d bfd/ 2009-06-14 01:39:46 +00:00
ifunc-5a-local-x86-64.d bfd/ 2009-06-14 01:39:46 +00:00
ifunc-5a-x86-64.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-5b-i386.d bfd/ 2009-06-02 17:31:42 +00:00
ifunc-5b-local-i386.d bfd/ 2009-06-14 01:39:46 +00:00
ifunc-5b-local-x86-64.d bfd/ 2009-06-14 01:39:46 +00:00
ifunc-5b-x86-64.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-5r-local-i386.d bfd/ 2009-07-16 14:23:12 +00:00
ifunc-5r-local-x86-64.d Add -mrelax-relocations= to x86 assembler 2016-02-03 08:25:15 -08:00
ifunc-6-i386.s bfd/ 2009-06-02 17:31:42 +00:00
ifunc-6-x86-64.s bfd/ 2009-06-02 17:31:42 +00:00
ifunc-6a-i386.d bfd/ 2009-06-02 17:31:42 +00:00
ifunc-6a-x86-64.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-6b-i386.d bfd/ 2009-06-02 17:31:42 +00:00
ifunc-6b-x86-64.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-7-i386.s bfd/ 2009-06-02 17:31:42 +00:00
ifunc-7-x86-64.s bfd/ 2009-06-02 17:31:42 +00:00
ifunc-7a-i386.d bfd/ 2009-06-02 17:31:42 +00:00
ifunc-7a-x86-64.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-7b-i386.d bfd/ 2009-06-02 17:31:42 +00:00
ifunc-7b-x86-64.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-8-i386.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-8-x86-64.d 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-8a-i386.s 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-8a-x86-64.s 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-8b-i386.s 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-8b-x86-64.s 2009-06-03 H.J. Lu <hongjiu.lu@intel.com> 2009-06-03 17:32:02 +00:00
ifunc-9-x86.d 2009-06-15 H.J. Lu <hongjiu.lu@intel.com> 2009-06-15 13:28:56 +00:00
ifunc-9-x86.s bfd/ 2009-06-14 22:13:30 +00:00
ifunc-10-i386.d Support garbage collection against STT_GNU_IFUNC symbols. 2010-07-13 16:59:14 +00:00
ifunc-10-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-10-x86-64.d Support garbage collection against STT_GNU_IFUNC symbols. 2010-07-13 16:59:14 +00:00
ifunc-10-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-11-i386.d Support garbage collection against STT_GNU_IFUNC symbols. 2010-07-13 16:59:14 +00:00
ifunc-11-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-11-x86-64.d Support garbage collection against STT_GNU_IFUNC symbols. 2010-07-13 16:59:14 +00:00
ifunc-11-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-i386.d Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-x86-64.d Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-13-i386.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
ifunc-13-x86-64.d Use .got.plt for IFUNC symbols if there are no GOT relocations. 2011-09-12 18:17:36 +00:00
ifunc-13a-i386.s * read.c (read_symbol_name): New function. Reads a symbol names. 2012-05-28 14:20:19 +00:00
ifunc-13a-x86-64.s Add missing "foo" after ".global" 2012-05-31 17:16:54 +00:00
ifunc-13b-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-13b-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-14a-i386.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14a-x86-64.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14a.s Skip local IFUNC symbols when checking dynamic relocs in read-only sections. 2011-04-21 22:25:39 +00:00
ifunc-14b-i386.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14b-x86-64.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14b.s Skip local IFUNC symbols when checking dynamic relocs in read-only sections. 2011-04-21 22:25:39 +00:00
ifunc-14c-i386.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14c-x86-64.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14c.s Properly adjust h->plt.refcount 2012-12-21 18:15:22 +00:00
ifunc-14d-i386.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14d-x86-64.d Check local IFUNC calls 2012-12-13 21:07:16 +00:00
ifunc-14e-i386.d Properly adjust h->plt.refcount 2012-12-21 18:15:22 +00:00
ifunc-14e-x86-64.d Properly adjust h->plt.refcount 2012-12-21 18:15:22 +00:00
ifunc-14f-i386.d Properly adjust h->plt.refcount 2012-12-21 18:15:22 +00:00
ifunc-14f-x86-64.d Properly adjust h->plt.refcount 2012-12-21 18:15:22 +00:00
ifunc-15-i386.d Use .got.plt for IFUNC symbols if there are no GOT relocations. 2011-09-12 18:17:36 +00:00
ifunc-15-i386.s * read.c (read_symbol_name): New function. Reads a symbol names. 2012-05-28 14:20:19 +00:00
ifunc-15-x86-64.d Use .got.plt for IFUNC symbols if there are no GOT relocations. 2011-09-12 18:17:36 +00:00
ifunc-15-x86-64.s Add missing "foo" after ".global" 2012-05-31 17:16:54 +00:00
ifunc-16-i386.d Put IRELATIVE relocations after JUMP_SLOT. 2011-10-21 15:13:37 +00:00
ifunc-16-x86-64.d Put IRELATIVE relocations after JUMP_SLOT. 2011-10-21 15:13:37 +00:00
ifunc-16-x86.s Put IRELATIVE relocations after JUMP_SLOT. 2011-10-21 15:13:37 +00:00
ifunc-17a-i386.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17a-x86-64.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17a.s Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17b-i386.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17b-x86-64.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17b.s Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-18a-i386.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-18a-x86-64.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-18a.s Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-18b-i386.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-18b-x86-64.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-18b.s Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-19a-i386.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-19a-x86-64.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-19a.s Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-19b-i386.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-19b-x86-64.d Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-19b.s Also check local IFUNC references 2012-12-16 20:31:08 +00:00
ifunc-20-i386.d Check regular reference without non-GOT reference 2013-04-15 21:16:18 +00:00
ifunc-20-x86-64.d Check regular reference without non-GOT reference 2013-04-15 21:16:18 +00:00
ifunc-20.s Check regular reference without non-GOT reference 2013-04-15 21:16:18 +00:00
ifunc-21-i386.d Optimize x86 GOT32X/GOTPCRELX relocations 2016-02-26 09:39:24 -08:00
ifunc-21-i386.s Add ifunc tests for call, jmp, add, test 2015-09-03 04:03:13 -07:00
ifunc-21-x86-64.d Optimize x86 GOT32X/GOTPCRELX relocations 2016-02-26 09:39:24 -08:00
ifunc-21-x86-64.s Add ifunc tests for call, jmp, add, test 2015-09-03 04:03:13 -07:00
ifunc-22-i386.d Optimize x86 GOT32X/GOTPCRELX relocations 2016-02-26 09:39:24 -08:00
ifunc-22-i386.s Add ifunc tests for call, jmp, add, test 2015-09-03 04:03:13 -07:00
ifunc-22-x86-64.d Optimize x86 GOT32X/GOTPCRELX relocations 2016-02-26 09:39:24 -08:00
ifunc-22-x86-64.s Add ifunc tests for call, jmp, add, test 2015-09-03 04:03:13 -07:00
ifunc-common-1.out Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-common-1a.c Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-common-1b.c Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-lib.c Add ifunc-main IFUNC tests 2014-11-20 10:49:46 -08:00
ifunc-main.c Always load function pointer into a stack variable 2014-11-20 11:29:45 -08:00
ifunc-main.out Add ifunc-main IFUNC tests 2014-11-20 10:49:46 -08:00
ifunc.exp Handle local IFUNC symbols in shared object 2016-03-08 09:42:16 -08:00
lib.c
pass.out Handle local IFUNC symbols in shared object 2016-03-08 09:42:16 -08:00
pr16467.out Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
pr16467a.c Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
pr16467a.map Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
pr16467b.c Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
pr16467b.map Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
pr16467c.c Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
pr17154-i386.d Properly match PLT entry against .got.plt relocation 2014-07-16 10:57:49 -07:00
pr17154-x86-64.d [x86-64] Omit dynamic sections symbols 2016-02-17 11:19:04 -08:00
pr17154-x86.s Properly match PLT entry against .got.plt relocation 2014-07-16 10:57:49 -07:00
pr18808.out Skip IFUNC relocations in debug sections 2015-08-11 12:59:11 -07:00
pr18808a.c Skip IFUNC relocations in debug sections 2015-08-11 12:59:11 -07:00
pr18808b.c Skip IFUNC relocations in debug sections 2015-08-11 12:59:11 -07:00
pr18841.out Return reloc_class_ifunc for reloc against IFUNC 2015-08-18 09:50:08 -07:00
pr18841a.c Return reloc_class_ifunc for reloc against IFUNC 2015-08-18 09:50:08 -07:00
pr18841b.c Return reloc_class_ifunc for reloc against IFUNC 2015-08-18 09:50:08 -07:00
pr18841c.c Add another test for PR ld/18841 2015-08-18 10:43:47 -07:00
pr19784a.c Handle local IFUNC symbols in shared object 2016-03-08 09:42:16 -08:00
pr19784b.c Handle local IFUNC symbols in shared object 2016-03-08 09:42:16 -08:00
pr19784c.c Handle local IFUNC symbols in shared object 2016-03-08 09:42:16 -08:00
prog.c
test-1.c bfd/ 2009-07-21 21:37:26 +00:00
test-2.c bfd/ 2009-07-21 21:37:26 +00:00