old-cross-binutils/ld/testsuite
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
..
config ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-aarch64 [AArch64] Workaround for Cortex A53 erratum 843419 2015-04-01 13:16:38 +01:00
ld-alpha Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
ld-arm Modify get_reloc_section for targets that map .got.plt to .got 2015-04-07 23:22:11 +09:30
ld-auto-import ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-avr AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
ld-bootstrap Remove --with-zlib from ld 2015-03-31 03:59:04 -07:00
ld-cdtest ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-checks ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-cris Strip undefined symbols from .symtab 2015-02-19 13:36:34 +10:30
ld-crx ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-cygwin ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-d10v ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-discard ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-elf Add SHF_COMPRESSED support to gas and objcopy 2015-04-08 07:54:09 -07:00
ld-elfcomm ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-elfvers ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-elfvsb ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-elfweak ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-fastcall ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-frv ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-gc Add a testcase for PR ld/18223 2015-04-10 04:15:53 -07:00
ld-h8300 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-i386 Check GOTOFF reloc against protected data on x86 2015-04-10 14:02:23 -07:00
ld-ia64 Strip undefined symbols from .symtab 2015-02-19 13:36:34 +10:30
ld-ifunc ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-libs ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-linkonce ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-m68hc11 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-m68k ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-mep ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-metag ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-mips-elf Strip undefined symbols from .symtab 2015-02-19 13:36:34 +10:30
ld-misc ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-mmix Strip undefined symbols from .symtab 2015-02-19 13:36:34 +10:30
ld-mn10300 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-nds32 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-nios2
ld-pe ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-pie ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-plugin Add a testcase for PR ld/17973 2015-02-14 06:26:20 -08:00
ld-powerpc Fix ppc32 synthetic symbols when __tls_get_addr_opt stub is generated 2015-03-11 18:04:25 +10:30
ld-s390 Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
ld-scripts Allow symbols in MEMORY region specification 2015-01-28 15:06:48 +10:30
ld-selective ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-sh [SH] Fix clrs, sets, pref insn arch memberships. 2015-02-25 21:26:59 +01:00
ld-shared ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-size ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-sparc Pad only text sections at end by default 2015-02-28 22:26:56 +10:30
ld-spu ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-srec ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-tic6x Modify get_reloc_section for targets that map .got.plt to .got 2015-04-07 23:22:11 +09:30
ld-tilegx Pad only text sections at end by default 2015-02-28 22:26:56 +10:30
ld-tilepro Pad only text sections at end by default 2015-02-28 22:26:56 +10:30
ld-undefined ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-unique ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-v850 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-vax-elf ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-versados ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-visium ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-vxworks ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-x86-64 Check GOTOFF reloc against protected data on x86 2015-04-10 14:02:23 -07:00
ld-xc16x ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-xstormy16 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-xtensa ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
lib Remove is_zlib_supported 2015-04-06 12:19:13 -07:00
ChangeLog Check GOTOFF reloc against protected data on x86 2015-04-10 14:02:23 -07:00
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ChangeLog-9303