binutils-gdb/ld/testsuite
H.J. Lu bc696fd5af Handle weak alias for PIE with copy reloc
When there is a weak symbol with a real definition, the processor
independent code will have arranged for us to see the real definition
first.  We need to copy the needs_copy bit from the real definition and
check it when allowing copy reloc in PIE.

bfd/

	PR ld/17689
	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy.
	Change has_bnd_reloc to bit field.
	(elf_x86_64_link_hash_newfunc): Initialize needs_copy and
	has_bnd_reloc to 0.
	(elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead
	of TRUE.
	(elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the
	real definition to a weak symbol.
	(elf_x86_64_allocate_dynrelocs): Also check needs_copy of a
	weak symbol for PIE when discarding space for relocs against
	symbols which turn out to need copy relocs.
	(elf_x86_64_relocate_section): Also check needs_copy of a
	weak symbol for PIE with copy reloc.

ld/testsuite/

	PR ld/17689
	* ld-x86-64/pr17689.out: New file.
	* ld-x86-64/pr17689.rd: Likewise.
	* ld-x86-64/pr17689a.c: Likewise.
	* ld-x86-64/pr17689b.S: Likewise.

	* ld-x86-64/x86-64.exp: Run PR ld/17689 tests.
2014-12-13 23:39:56 -08:00
..
config Ensure ld testsuite gcc -B options precede $CC -B options 2014-07-07 13:37:16 +09:30
ld-aarch64 [AArch64] Cortex-A53 erratum 835769 linker workaround 2014-10-24 11:39:35 +01:00
ld-alpha Update ld-alpha tests for secureplt 2014-11-25 13:41:30 -08:00
ld-arm Calculate ARM arch attribute after relaxation 2014-11-21 11:54:39 +08:00
ld-auto-import Update copyright years 2014-03-05 22:16:15 +10:30
ld-avr When relaxing, update size of symbols. 2014-11-03 20:34:13 +00:00
ld-bootstrap Don't link FreeBSD tests with -ldl. 2014-05-19 08:49:55 +02:00
ld-cdtest Update copyright years 2014-03-05 22:16:15 +10:30
ld-checks Update copyright years 2014-03-05 22:16:15 +10:30
ld-cris Display symbol version when dumping dynrelocs 2014-11-25 06:47:44 -08:00
ld-crx Update copyright years 2014-03-05 22:16:15 +10:30
ld-cygwin Update copyright years 2014-03-05 22:16:15 +10:30
ld-d10v Update copyright years 2014-03-05 22:16:15 +10:30
ld-discard Remove support for the (deprecated) openrisc and or32 configurations and replace 2014-04-22 15:57:47 +01:00
ld-elf Add Visium support to ld 2014-12-06 16:45:22 +01:00
ld-elfcomm Update copyright years 2014-03-05 22:16:15 +10:30
ld-elfvers Display symbol version when dumping dynrelocs 2014-11-25 06:47:44 -08:00
ld-elfvsb Update copyright years 2014-03-05 22:16:15 +10:30
ld-elfweak Update copyright years 2014-03-05 22:16:15 +10:30
ld-fastcall Update copyright years 2014-03-05 22:16:15 +10:30
ld-frv Update copyright years 2014-03-05 22:16:15 +10:30
ld-gc Update copyright years 2014-03-05 22:16:15 +10:30
ld-h8300 Update copyright years 2014-03-05 22:16:15 +10:30
ld-i386 Optimize out i386/x86-64 JUMP_SLOT relocation 2014-11-25 05:05:39 -08:00
ld-ia64 Update copyright years 2014-03-05 22:16:15 +10:30
ld-ifunc Always load function pointer into a stack variable 2014-11-20 11:29:45 -08:00
ld-libs Update copyright years 2014-03-05 22:16:15 +10:30
ld-linkonce Update copyright years 2014-03-05 22:16:15 +10:30
ld-m68hc11 Update copyright years 2014-03-05 22:16:15 +10:30
ld-m68k Update copyright years 2014-03-05 22:16:15 +10:30
ld-mep Update copyright years 2014-03-05 22:16:15 +10:30
ld-metag Update copyright years 2014-03-05 22:16:15 +10:30
ld-mips-elf [MIPS] When calculating a relocation using an undefined weak symbol don't check for overflow. 2014-12-02 13:27:36 +00:00
ld-misc Update copyright years 2014-03-05 22:16:15 +10:30
ld-mmix Move ELF section headers to end of object file 2014-09-11 00:15:51 +09:30
ld-mn10300 Update copyright years 2014-03-05 22:16:15 +10:30
ld-nds32 Update copyright years 2014-03-05 22:16:15 +10:30
ld-nios2 Nios II CALL26 linker relaxation 2014-01-30 17:47:07 -08:00
ld-pe Add support for generating and inserting build IDs into COFF binaries. 2014-04-08 10:59:43 +01:00
ld-pie Update copyright years 2014-03-05 22:16:15 +10:30
ld-plugin Find lto plugin when using gcc-5.0 2014-09-22 19:04:48 +09:30
ld-powerpc Sort relocs output by ld -r 2014-12-04 17:37:58 +10:30
ld-s390 Update copyright years 2014-03-05 22:16:15 +10:30
ld-scripts Fix ld tests with sysroot=/ and --enable-targets=all and test --print-sysroot 2014-10-17 13:11:42 +02:00
ld-selective Update copyright years 2014-03-05 22:16:15 +10:30
ld-sh Sort relocs output by ld -r 2014-12-04 17:37:58 +10:30
ld-shared ld/aarch64: xfail non-PIC shared object tests on aarch64 2014-05-20 09:47:29 +01:00
ld-size Update copyright years 2014-03-05 22:16:15 +10:30
ld-sparc Update copyright years 2014-03-05 22:16:15 +10:30
ld-spu Update copyright years 2014-03-05 22:16:15 +10:30
ld-srec Update copyright years 2014-03-05 22:16:15 +10:30
ld-tic6x Move ELF section headers to end of object file 2014-09-11 00:15:51 +09:30
ld-tilegx Update copyright years 2014-03-05 22:16:15 +10:30
ld-tilepro Update copyright years 2014-03-05 22:16:15 +10:30
ld-undefined Update copyright years 2014-03-05 22:16:15 +10:30
ld-unique ld/testsuite/ld-unique: Fix running unique tests on ARM 2014-10-30 11:06:43 +00:00
ld-v850 Update copyright years 2014-03-05 22:16:15 +10:30
ld-vax-elf Update copyright years 2014-03-05 22:16:15 +10:30
ld-versados Update copyright years 2014-03-05 22:16:15 +10:30
ld-visium Add Visium support to ld 2014-12-06 16:45:22 +01:00
ld-vxworks Update copyright years 2014-03-05 22:16:15 +10:30
ld-x86-64 Handle weak alias for PIE with copy reloc 2014-12-13 23:39:56 -08:00
ld-xc16x Update copyright years 2014-03-05 22:16:15 +10:30
ld-xstormy16 Update copyright years 2014-03-05 22:16:15 +10:30
ld-xtensa Use signed data type for R_XTENSA_DIFF* relocation offsets. 2014-05-08 01:55:41 +04:00
lib Add Visium support to ld 2014-12-06 16:45:22 +01:00
ChangeLog Handle weak alias for PIE with copy reloc 2014-12-13 23:39:56 -08: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-2013 New Year - binutils ChangeLog rotation 2014-01-08 05:32:12 -08:00
ChangeLog-9303 Add copyright notices 2012-12-10 12:48:03 +00:00