old-cross-binutils/ld/testsuite/ld-x86-64
H.J. Lu 144bed8d4d Properly match PLT entry against .got.plt relocation
Relocations against .got.plt section may not be in the same order as
entries in PLT section.  It is incorrect to assume that the Ith reloction
index against .got.plt section always maps to the (I + 1)th entry in PLT
section.  This patch matches the .got.plt relocation offset/index in PLT
entry against the index in .got.plt relocation table.  It only checks
R_*_JUMP_SLOT and R_*_IRELATIVE relocations.  It ignores R_*_TLS_DESC
and R_*_TLSDESC relocations since they have different PLT entries.

bfd/

	PR binutils/17154
	* elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
	and R_*_IRELATIVE relocation offset with PLT entry.
	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
	(elf_x86_64_plt_sym_val_offset_plt_bnd): New.
	(elf_x86_64_get_synthetic_symtab): Use it.

ld/testsuite/

	PR binutils/17154
	* ld-ifunc/pr17154-i386.d: New file.
	* ld-ifunc/pr17154-x86-64.d: Likewise.
	* ld-ifunc/pr17154-x86.s: Likewise.
	* ld-x86-64/bnd-ifunc-2.d: Likewise.
	* ld-x86-64/bnd-ifunc-2.s: Likewise.
	* ld-x86-64/mpx.exp: Run bnd-ifunc-2.
	* ld-x86-64/tlsdesc-nacl.pd: Updated.
	* ld-x86-64/tlsdesc.pd: Likewise.
2014-07-16 10:57:49 -07:00
..
32bit.s * ld-x86-64/x86-64.exp: Add test of linking mixed 32-bit and 2012-01-05 15:17:18 +00:00
64bit.s * ld-x86-64/x86-64.exp: Add test of linking mixed 32-bit and 2012-01-05 15:17:18 +00:00
abs-k1om.d Add initial Intel K1OM support. 2011-07-22 20:22:38 +00:00
abs-l1om.d bfd/ 2012-04-03 16:01:38 +00:00
abs.d
bnd-branch-1.d Add bnd-branch-1 test 2013-11-21 04:53:05 -08:00
bnd-branch-1.s Add bnd-branch-1 test 2013-11-21 04:53:05 -08:00
bnd-ifunc-1.d Create the second PLT for BND relocations 2014-02-19 11:48:23 -08:00
bnd-ifunc-1.s Create the second PLT for BND relocations 2014-02-19 11:48:23 -08:00
bnd-ifunc-2.d Properly match PLT entry against .got.plt relocation 2014-07-16 10:57:49 -07:00
bnd-ifunc-2.s Properly match PLT entry against .got.plt relocation 2014-07-16 10:57:49 -07:00
bnd-plt-1.d Create the second PLT for BND relocations 2014-02-19 11:48:23 -08:00
compressed1.d Add testcases for PR ld/11817. 2010-07-15 00:42:23 +00:00
compressed1.s Add testcases for PR ld/11817. 2010-07-15 00:42:23 +00:00
discarded1.d Check if .got.plt section is discarded before using it. 2010-08-13 20:50:27 +00:00
discarded1.s Check if .got.plt section is discarded before using it. 2010-08-13 20:50:27 +00:00
discarded1.t Check if .got.plt section is discarded before using it. 2010-08-13 20:50:27 +00:00
dummy.s Don't allow mixing x64_32 with x86_64. 2011-01-03 18:16:46 +00:00
dwarfreloc.exp Update copyright years 2014-03-05 22:16:15 +10:30
dwarfreloc.rd
dwarfreloc1.s
dwarfreloc2.s
export-class.exp Update copyright years 2014-03-05 22:16:15 +10:30
foo.s Don't allow mixing x64_32 with x86_64. 2011-01-03 18:16:46 +00:00
hidden1.d
hidden1.s
hidden2.d bfd/ 2012-04-03 16:01:38 +00:00
hidden2.s
hidden3.d
hidden3.s
ia32-1.d Don't allow mixing x64_32 with x86_64. 2011-01-03 18:16:46 +00:00
ia32-2.d bfd/ 2013-08-26 22:18:07 +00:00
ia32-3.d bfd/ 2013-08-26 22:18:07 +00:00
ilp32-1.d Rename --n32 to --x32. 2011-01-14 23:07:11 +00:00
ilp32-2.d Set CPU type in BFD backend for x86_64-nacl* and i?86-nacl* targets 2013-11-07 10:00:32 -08:00
ilp32-3.d Set CPU type in BFD backend for x86_64-nacl* and i?86-nacl* targets 2013-11-07 10:00:32 -08:00
ilp32-4-nacl.d bfd/ 2013-08-26 19:27:25 +00:00
ilp32-4.d Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
ilp32-4.s Remove ABI_64_P check on R_X86_64_PCXX 2012-01-10 20:18:18 +00:00
ilp32-5.d Remove ABI_64_P check on R_X86_64_PCXX 2012-01-10 20:18:18 +00:00
ilp32-5.s Remove ABI_64_P check on R_X86_64_PCXX 2012-01-10 20:18:18 +00:00
ilp32-6.d Check R_X86_64_32 overflow and allow R_X86_64_64 for x32. 2011-08-01 23:04:23 +00:00
ilp32-6.s Check R_X86_64_32 overflow and allow R_X86_64_64 for x32. 2011-08-01 23:04:23 +00:00
ilp32-7.d Check R_X86_64_32 overflow and allow R_X86_64_64 for x32. 2011-08-01 23:04:23 +00:00
ilp32-7.s Check R_X86_64_32 overflow and allow R_X86_64_64 for x32. 2011-08-01 23:04:23 +00:00
ilp32-8.d bfd/ 2012-04-03 16:01:38 +00:00
ilp32-8.s Check R_X86_64_32 overflow and allow R_X86_64_64 for x32. 2011-08-01 23:04:23 +00:00
ilp32-9.d bfd/ 2012-04-03 16:01:38 +00:00
ilp32-9.s Check R_X86_64_32 overflow and allow R_X86_64_64 for x32. 2011-08-01 23:04:23 +00:00
ilp32-10.d Remove ABI_64_P check on R_X86_64_PCXX 2012-01-10 20:18:18 +00:00
ilp32-10.s Remove ABI_64_P check on R_X86_64_PCXX 2012-01-10 20:18:18 +00:00
ilp32-11.d Adjust ld-x86-64/ilp32-11.s for NACL 2012-05-22 21:42:50 +00:00
ilp32-11.s Adjust ld-x86-64/ilp32-11.s for NACL 2012-05-22 21:42:50 +00:00
incompatible.l * ld-x86-64/x86-64.exp: Add test of linking mixed 32-bit and 2012-01-05 15:17:18 +00:00
lea1.s Convert mov to lea for loading local function address 2012-08-31 04:26:17 +00:00
lea1a.d Convert mov to lea for loading local function address 2012-08-31 04:26:17 +00:00
lea1b.d Convert mov to lea for loading local function address 2012-08-31 04:26:17 +00:00
lea1c.d Convert mov to lea for loading local function address 2012-08-31 04:26:17 +00:00
lea1d.d Convert mov to lea for loading local function address 2012-08-31 04:26:17 +00:00
lea1e.d Convert mov to lea for loading local function address 2012-08-31 04:26:17 +00:00
lea1f.d Convert mov to lea for loading local function address 2012-08-31 04:26:17 +00:00
lea1g.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
lea1h.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
lea1i.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
lea1j.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
lea1k.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
lea1l.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
line.exp Update copyright years 2014-03-05 22:16:15 +10:30
lp64-1.d Don't allow mixing x64_32 with x86_64. 2011-01-03 18:16:46 +00:00
lp64-2.d Set CPU type in BFD backend for x86_64-nacl* and i?86-nacl* targets 2013-11-07 10:00:32 -08:00
lp64-3.d Set CPU type in BFD backend for x86_64-nacl* and i?86-nacl* targets 2013-11-07 10:00:32 -08:00
mixed1a.s Don't check relocation if input ELF object ID doesn't match output. 2010-08-22 19:14:25 +00:00
mixed1b.s Don't check relocation if input ELF object ID doesn't match output. 2010-08-22 19:14:25 +00:00
mixed2a.s Don't check relocation if input ELF object ID doesn't match output. 2010-08-22 19:14:25 +00:00
mixed2b.s Don't check relocation if input ELF object ID doesn't match output. 2010-08-22 19:14:25 +00:00
mov1.s Don't optimize relocation against _DYNAMIC 2012-09-01 02:50:14 +00:00
mov1a.d Don't optimize relocation against _DYNAMIC 2012-09-01 02:50:14 +00:00
mov1b.d Don't optimize relocation against _DYNAMIC 2012-09-01 02:50:14 +00:00
mov1c.d Don't optimize relocation against _DYNAMIC 2012-09-01 02:50:14 +00:00
mov1d.d Don't optimize relocation against _DYNAMIC 2012-09-01 02:50:14 +00:00
mpx.exp Properly match PLT entry against .got.plt relocation 2014-07-16 10:57:49 -07:00
mpx1.out Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND 2013-11-17 08:57:56 -08:00
mpx1a.c Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND 2013-11-17 08:57:56 -08:00
mpx1a.rd Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND 2013-11-17 08:57:56 -08:00
mpx1b.c Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND 2013-11-17 08:57:56 -08:00
mpx1c.c Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND 2013-11-17 08:57:56 -08:00
mpx1c.rd Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND 2013-11-17 08:57:56 -08:00
mpx2.out Add mpx1static, mpx2 and mpx2static tests 2013-11-20 12:35:10 -08:00
mpx2a.c Add mpx1static, mpx2 and mpx2static tests 2013-11-20 12:35:10 -08:00
mpx2a.rd Add mpx1static, mpx2 and mpx2static tests 2013-11-20 12:35:10 -08:00
mpx2b.c Add mpx1static, mpx2 and mpx2static tests 2013-11-20 12:35:10 -08:00
mpx2c.c Add mpx1static, mpx2 and mpx2static tests 2013-11-20 12:35:10 -08:00
mpx2c.rd Add mpx1static, mpx2 and mpx2static tests 2013-11-20 12:35:10 -08:00
nogot1.d Don't allocate .got.plt section if there are no GOT nor PLT entries. 2010-07-14 00:30:57 +00:00
nogot1.s Don't allocate .got.plt section if there are no GOT nor PLT entries. 2010-07-14 00:30:57 +00:00
nogot2.d Add 2 tests for PR ld/11812. 2010-10-01 04:47:02 +00:00
nogot2.s Add 2 tests for PR ld/11812. 2010-10-01 04:47:02 +00:00
pcrel8.d
pcrel16.d bfd/ 2012-04-03 16:01:38 +00:00
plt-nacl.pd Properly display extra data/address size prefixes 2014-05-09 10:58:00 -07:00
plt-pic.s bfd/ 2012-04-03 16:01:38 +00:00
plt.pd bfd/ 2012-04-03 16:01:38 +00:00
plt.s bfd/ 2012-04-03 16:01:38 +00:00
pltlib.s bfd/ 2012-04-03 16:01:38 +00:00
pr12570a.d ld/testsuite/ 2012-05-22 18:22:03 +00:00
pr12570a.s Always create PLT eh_frame section for i386/x86-64 2012-05-22 14:05:21 +00:00
pr12570b.d ld/testsuite/ 2012-05-22 18:22:03 +00:00
pr12570b.s Always create PLT eh_frame section for i386/x86-64 2012-05-22 14:05:21 +00:00
pr12718.d Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
pr12718.s Add testcases for PR ld/12718. 2011-05-01 13:38:22 +00:00
pr12921.d bfd/ 2012-06-06 10:50:18 +00:00
pr12921.s Add testcases for PR ld/12921. 2011-06-24 14:03:15 +00:00
pr13082-1.s Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-1a.d Count R_X86_64_RELATIVE64 as reloc_class_relative 2012-05-10 17:15:19 +00:00
pr13082-1b.d Count R_X86_64_RELATIVE64 as reloc_class_relative 2012-05-10 17:15:19 +00:00
pr13082-2.s Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-2a.d Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-2b.d Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-3.s Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-3a.d Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-3b.d Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-4.s Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-4a.d Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-4b.d Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-5.s Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-5a.d Use .got.plt for IFUNC symbols if there are no GOT relocations. 2011-09-12 18:17:36 +00:00
pr13082-5b.d Restore R_386_IRELATIVE and R_X86_64_IRELATIVE 2012-03-09 16:28:38 +00:00
pr13082-6.s Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32. 2011-08-12 19:42:39 +00:00
pr13082-6a.d Restore R_386_IRELATIVE and R_X86_64_IRELATIVE 2012-03-09 16:28:38 +00:00
pr13082-6b.d Restore R_386_IRELATIVE and R_X86_64_IRELATIVE 2012-03-09 16:28:38 +00:00
pr13947.d Set reloc_count to 0 for reloc sections 2012-04-13 23:20:00 +00:00
pr13947.s Set reloc_count to 0 for reloc sections 2012-04-13 23:20:00 +00:00
pr14207.d Don't adjust LOAD segment to match GNU_RELRO segment 2014-01-10 21:49:56 +10:30
pr14207.s Abort if PT_GNU_RELRO segment doesn't fit in PT_LOAD segment 2012-06-12 12:55:11 +00:00
pr14215.d Don't hardcode .got.plt into DATA_SEGMENT_RELRO_END evaluation 2012-06-11 13:23:51 +00:00
pr14215.s Don't hardcode .got.plt into DATA_SEGMENT_RELRO_END evaluation 2012-06-11 13:23:51 +00:00
protected1.d
protected1.s
protected2-k1om.d Add initial Intel K1OM support. 2011-07-22 20:22:38 +00:00
protected2-l1om.d bfd/ 2012-04-03 16:01:38 +00:00
protected2.d
protected2.s
protected3-k1om.d Add initial Intel K1OM support. 2011-07-22 20:22:38 +00:00
protected3-l1om.d bfd/ 2012-04-03 16:01:38 +00:00
protected3.d bfd/ 2012-04-03 16:01:38 +00:00
protected3.s
protected4.d Handle relocation against protected function for -Bsymbolic 2012-03-20 18:16:38 +00:00
protected4.s Handle relocation against protected function for -Bsymbolic 2012-03-20 18:16:38 +00:00
protected5.d Handle relocation against protected function for -Bsymbolic 2012-03-20 18:16:38 +00:00
protected5.s Handle relocation against protected function for -Bsymbolic 2012-03-20 18:16:38 +00:00
simple.c Allow building x32 DSO from x86-64 object file. 2011-06-09 05:51:11 +00:00
split-by-file-nacl.rd Update x86 nacl tests for section alignment change 2013-06-04 16:08:51 +00:00
split-by-file.rd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
split-by-file1.s Add missing files. 2010-09-07 17:52:32 +00:00
split-by-file2.s Add missing files. 2010-09-07 17:52:32 +00:00
start.s Don't allow mixing x64_32 with x86_64. 2011-01-03 18:16:46 +00:00
tlsbin-nacl.rd bfd/ 2013-08-26 19:27:25 +00:00
tlsbin.dd Properly display extra data/address size prefixes 2014-05-09 10:58:00 -07:00
tlsbin.rd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlsbin.s Handle R_X86_64_TPOFF64 in executable. 2011-05-26 13:22:04 +00:00
tlsbin.sd bfd/ 2012-04-03 16:01:38 +00:00
tlsbin.td bfd/ 2012-04-03 16:01:38 +00:00
tlsbindesc-nacl.rd bfd/ 2013-08-26 19:27:25 +00:00
tlsbindesc.dd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlsbindesc.rd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlsbindesc.s
tlsbindesc.sd bfd/ 2012-04-03 16:01:38 +00:00
tlsbindesc.td bfd/ 2012-04-03 16:01:38 +00:00
tlsbinpic.s
tlsdesc-nacl.pd Properly match PLT entry against .got.plt relocation 2014-07-16 10:57:49 -07:00
tlsdesc-nacl.rd ld/testsuite/ 2013-08-23 23:13:46 +00:00
tlsdesc.dd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlsdesc.pd Properly match PLT entry against .got.plt relocation 2014-07-16 10:57:49 -07:00
tlsdesc.rd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlsdesc.s
tlsdesc.sd bfd/ 2012-04-03 16:01:38 +00:00
tlsdesc.td bfd/ 2012-04-03 16:01:38 +00:00
tlsg.s Handle R_X86_64_DTPOFF64 2013-06-28 15:07:55 +00:00
tlsg.sd Adjust ld-x86-64/tlsg.sd 2013-07-01 16:17:11 +00:00
tlsgd1.dd
tlsgd1.s
tlsgd2.d
tlsgd2.s
tlsgd3.d
tlsgd3.s
tlsgd4.dd Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsgd4.s Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsgd5.dd bfd/ 2012-04-03 16:01:38 +00:00
tlsgd5a.s Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsgd5b.s Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsgd6.dd bfd/ 2012-04-03 16:01:38 +00:00
tlsgd6a.s Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsgd6b.s Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsgd7.dd * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlsgd7.s * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlsgd8.dd * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlsgd8.s * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlsgdesc-nacl.rd ld/testsuite/ 2012-07-02 18:20:31 +00:00
tlsgdesc.dd Properly display extra data/address size prefixes 2014-05-09 10:58:00 -07:00
tlsgdesc.rd ld/ 2012-06-15 15:13:41 +00:00
tlsgdesc.s
tlsie1.dd
tlsie1.s
tlsie2.d
tlsie2.s
tlsie3.d
tlsie3.s
tlsie4.dd Supprt TLS x32 IE->LE transition. 2011-03-03 22:11:33 +00:00
tlsie4.s Supprt TLS x32 IE->LE transition. 2011-03-03 22:11:33 +00:00
tlsld1.dd Properly display extra data/address size prefixes 2014-05-09 10:58:00 -07:00
tlsld1.s
tlsld2.dd Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsld2.s Support TLS x32 GD->IE, GD->LE and LD->LE transitions. 2011-03-12 14:38:31 +00:00
tlsld3.dd Properly display extra data/address size prefixes 2014-05-09 10:58:00 -07:00
tlsld3.s * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlsle1.d bfd/ 2009-07-23 21:22:20 +00:00
tlsle1.s bfd/ 2009-07-23 21:22:20 +00:00
tlslib.s
tlspic-nacl.rd * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlspic.dd Properly display extra data/address size prefixes 2014-05-09 10:58:00 -07:00
tlspic.rd * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlspic.sd bfd/ 2012-04-03 16:01:38 +00:00
tlspic.td bfd/ 2012-04-03 16:01:38 +00:00
tlspic1.s * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow 2013-08-29 10:25:27 +00:00
tlspic2.s
tlspie1.d 2009-08-02 H.J. Lu <hongjiu.lu@intel.com> 2009-08-02 23:55:49 +00:00
tlspie1.s 2009-08-02 H.J. Lu <hongjiu.lu@intel.com> 2009-08-02 23:55:49 +00:00
undefined.s
unique1.d Don't bind unique symbol locally. 2010-04-07 02:41:35 +00:00
unique1.s Don't bind unique symbol locally. 2010-04-07 02:41:35 +00:00
x86-64-64-export-class.rd * ld-elf/export-class.sd: New test. 2012-08-28 20:29:19 +00:00
x86-64-x32-export-class.rd * ld-elf/export-class.sd: New test. 2012-08-28 20:29:19 +00:00
x86-64-x32.rd Allow building x32 DSO from x86-64 object file. 2011-06-09 05:51:11 +00:00
x86-64.exp Update copyright years 2014-03-05 22:16:15 +10:30