old-cross-binutils/ld/testsuite/ld-i386
H.J. Lu 3d9499950a Check GOTOFF reloc against protected data on x86
R_386_GOTOFF/R_X86_64_GOTOFF64 relocation shouldn't be used against
protected data symbol on x86 since with copy relocation, address of
protected data defined in the shared library may be external.

This patch will break building shared libraries with protected data
symbols using GCCs older than GCC 5 without the bug fix for

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248

GCC backport request should be made in the GCC bug report above.

bfd/

	PR ld/pr17709
	* elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
	against protected data symbol when building shared library.
	* elf64-x86-64.c (elf_x86_64_relocate_section): Also check
	R_X86_64_GOTOFF64 against protected data symbol when building
	shared library.

ld/testsuite/

	PR ld/pr17709
	* ld-i386/protected6.d: New file.
	* ld-i386/protected6.s: Likewise.
	* ld-x86-64/protected6.d: Likewise.
	* ld-x86-64/protected6.s: Likewise.
	* ld-x86-64/protected7.d: Likewise.
	* ld-x86-64/protected7.s: Likewise.
	* ld-x86-64/protected7a.d: Likewise.
	* ld-x86-64/protected7b.d: Likewise.
2015-04-10 14:02:23 -07:00
..
abs.d
abs.s
alloc.d
alloc.s
alloc.t bfd/ 2012-04-03 16:01:38 +00:00
combreloc.d
combreloc.s
compressed1.d Use nm/readelf with "failif" 2015-02-19 04:45:27 -08: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
emit-relocs-nacl.rd bfd/ 2012-04-03 16:01:38 +00:00
emit-relocs.rd bfd/ 2012-04-03 16:01:38 +00:00
emit-relocs.s
export-class.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
hidden1.d
hidden1.s
hidden2.d bfd/ 2012-04-03 16:01:38 +00:00
hidden2.s
hidden3.d
hidden3.s
i386-export-class.rd * ld-elf/export-class.sd: New test. 2012-08-28 20:29:19 +00:00
i386-export-class.xd * ld-elf/export-class.sd: New test. 2012-08-28 20:29:19 +00:00
i386.exp Check GOTOFF reloc against protected data on x86 2015-04-10 14:02:23 -07: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 in size_dynamic_sections 2012-08-31 20:41:41 +00:00
lea1e.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
lea1f.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +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
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 Remove GOTOFF in ld-i386/nogot1.s. 2010-09-24 06:09:31 +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
pcrel8.s
pcrel16.d bfd/ 2012-04-03 16:01:38 +00:00
pcrel16.s
pcrel16abs.d bfd/ 2012-04-03 16:01:38 +00:00
pcrel16abs.s
plt-lib.c Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main.out Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main.rd Optimize out i386/x86-64 JUMP_SLOT relocation 2014-11-25 05:05:39 -08:00
plt-main1.c Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main1.rd Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main2.c Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main2.rd Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main3.c Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main3.rd Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main4.c Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main4.rd Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-main5.c Add function and function pointer tests for i386 2014-11-21 08:45:02 -08:00
plt-nacl.pd bfd/ 2012-04-03 16:01:38 +00:00
plt-pic-nacl.pd bfd/ 2012-04-03 16:01:38 +00:00
plt-pic.pd bfd/ 2012-04-03 16:01:38 +00: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 Always create PLT eh_frame section for i386/x86-64 2012-05-22 14:05:21 +00:00
pr12570a.s Always create PLT eh_frame section for i386/x86-64 2012-05-22 14:05:21 +00:00
pr12570b.d Always create PLT eh_frame section for i386/x86-64 2012-05-22 14:05:21 +00:00
pr12570b.s Always create PLT eh_frame section for i386/x86-64 2012-05-22 14:05:21 +00:00
pr12627.d Add a testcase for PR ld/12627. 2011-04-04 16:36:29 +00:00
pr12627.s Add a testcase for PR ld/12627. 2011-04-04 16:36:29 +00:00
pr12627.t bfd/ 2012-04-03 16:01:38 +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
pr13302.d Restore R_386_IRELATIVE and R_X86_64_IRELATIVE 2012-03-09 16:28:38 +00:00
pr13302.s Replace IRELATIVE relocations with RELATIVE in .rel.dyn. 2011-10-21 19:37:15 +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
pr17057.d Update elf_i386_compute_jump_table_size 2014-07-15 13:09:55 -07:00
pr17057.s Update elf_i386_compute_jump_table_size 2014-07-15 13:09:55 -07:00
pr17306a.s Use bfd_is_abs_section to check discarded input section 2014-08-27 07:59:48 -07:00
pr17306b.s Use bfd_is_abs_section to check discarded input section 2014-08-27 07:59:48 -07:00
pr17709-nacl.rd Add extern_protected_data and set it for x86 2015-04-10 11:06:34 -07:00
pr17709.rd Add extern_protected_data and set it for x86 2015-04-10 11:06:34 -07:00
pr17709a.s Add extern_protected_data and set it for x86 2015-04-10 11:06:34 -07:00
pr17709b.s Add extern_protected_data and set it for x86 2015-04-10 11:06:34 -07:00
pr17935-1.d Issue relocation in RO section warning for -z text 2015-02-07 05:28:06 -08:00
pr17935-1.s Issue relocation in RO section warning for -z text 2015-02-07 05:28:06 -08:00
pr17935-2.d Issue relocation in RO section warning for -z text 2015-02-07 05:28:06 -08:00
pr17935-2.s Issue relocation in RO section warning for -z text 2015-02-07 05:28:06 -08:00
protected1.d
protected1.s
protected2.d
protected2.s
protected3.d Add extern_protected_data and set it for x86 2015-04-10 11:06:34 -07:00
protected3.s Add extern_protected_data and set it for x86 2015-04-10 11:06:34 -07:00
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
protected6.d Check GOTOFF reloc against protected data on x86 2015-04-10 14:02:23 -07:00
protected6.s Check GOTOFF reloc against protected data on x86 2015-04-10 14:02:23 -07:00
reloc.d bfd/ 2012-04-03 16:01:38 +00:00
reloc.s
tlsbin-nacl.rd Properly place the NULL STT_FILE symbol 2015-02-16 04:54:45 -08:00
tlsbin.dd bfd/ 2012-04-03 16:01:38 +00:00
tlsbin.rd Properly place the NULL STT_FILE symbol 2015-02-16 04:54:45 -08:00
tlsbin.s
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 Properly place the NULL STT_FILE symbol 2015-02-16 04:54:45 -08:00
tlsbindesc.dd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlsbindesc.rd Properly place the NULL STT_FILE symbol 2015-02-16 04:54:45 -08: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.rd Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
tlsdesc.dd bfd/ 2012-04-03 16:01:38 +00:00
tlsdesc.rd Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
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
tlsg.sd bfd/ 2012-04-03 16:01:38 +00:00
tlsgd1.dd
tlsgd1.s
tlsgd2.d
tlsgd2.s
tlsgdesc-nacl.rd ld/testsuite/ 2012-07-02 18:20:31 +00:00
tlsgdesc.dd bfd/ 2012-04-03 16:01:38 +00: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.d
tlsie4.s
tlsie5.d
tlsie5.s
tlsindntpoff.dd bfd/ 2012-04-03 16:01:38 +00:00
tlsindntpoff.s
tlsld1.dd
tlsld1.s
tlslib.s
tlsnopic-nacl.rd Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
tlsnopic.dd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlsnopic.rd Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
tlsnopic.sd bfd/ 2012-04-03 16:01:38 +00:00
tlsnopic1.s
tlsnopic2.s
tlspic-nacl.rd Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
tlspic.dd Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
tlspic.rd Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
tlspic.sd bfd/ 2012-04-03 16:01:38 +00:00
tlspic.td bfd/ 2012-04-03 16:01:38 +00:00
tlspic1.s
tlspic2.s
tlspie1.d
tlspie1.s
tlspie2.d bfd/ 2012-04-03 16:01:38 +00:00
tlspie2.s Properly handle R_386_TLS_LDO_32 for PIE. 2011-04-08 16:14:49 +00:00
vxworks1-lib.dd
vxworks1-lib.nd
vxworks1-lib.rd ld/testsuite/ 2011-07-27 20:58:14 +00:00
vxworks1-lib.s
vxworks1-lib.td
vxworks1-static.d
vxworks1.dd
vxworks1.ld
vxworks1.rd
vxworks1.s
vxworks2-static.sd
vxworks2.s
vxworks2.sd
warn1.d
warn1.s
zero.s