old-cross-binutils/ld/testsuite
H.J. Lu caa65211bb Add "-z call-nop=PADDING" option to ld
The ld linker can transform indirect call to a locally defined function,
foo, via its GOT slot, to either "NOP call foo" or "call foo NOP" where
NOP is a 1-byte NOP padding.  This patch adds a "-z call-nop=PADDING"
option to x86 ld to control 1-byte NOP padding for x86 call instruction.
PADDING is one of prefix-addr, prefix-nop, suffix-nop, prefix-NUMBER or
suffix-NUMBER.

bfd/

	* elf32-i386.c (elf_i386_convert_load): Use call_nop_byte and
	check call_nop_as_suffix for 1-byte NOP padding to pad call.
	* elf64-x86-64.c (elf_x86_64_convert_load): Likewise.

include/

	* bfdlink.h (bfd_link_info): Add call_nop_as_suffix and
	call_nop_byte.

ld/

	* ld/ld.texinfo: Document "-z call-nop=PADDING" option.
	* emulparams/call_nop.sh: New file.
	* emulparams/elf_i386_be.sh: Source
	${srcdir}/emulparams/call_nop.sh.
	* emulparams/elf_i386_chaos.sh: Likewise.
	* emulparams/elf_i386_ldso.sh: Likewise.
	* emulparams/elf_i386_vxworks.sh: Likewise.
	* emulparams/elf_iamcu.sh: Likewise.
	* emulparams/elf_k1om.sh: Likewise.
	* emulparams/elf_l1om.sh: Likewise.
	* emulparams/elf_x86_64.sh: Likewise.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
	link_info.call_nop_byte if $CALL_NOP_BYTE isn't empty.

ld/testsuite/

	* ld-i386/call3.s: New file.
	* ld-i386/call3a.d: Likewise.
	* ld-i386/call3b.d: Likewise.
	* ld-i386/call3c.d: Likewise.
	* ld-i386/call3d.d: Likewise.
	* ld-i386/call3e.d: Likewise.
	* ld-i386/call3f.d: Likewise.
	* ld-i386/call3g.d: Likewise.
	* ld-i386/call3h.d: Likewise.
	* ld-i386/load1-nacl.d: Likewise.
	* ld-x86-64/call1.s: Likewise.
	* ld-x86-64/call1a.d: Likewise.
	* ld-x86-64/call1b.d: Likewise.
	* ld-x86-64/call1c.d: Likewise.
	* ld-x86-64/call1d.d: Likewise.
	* ld-x86-64/call1e.d: Likewise.
	* ld-x86-64/call1f.d: Likewise.
	* ld-x86-64/call1g.d: Likewise.
	* ld-x86-64/call1h.d: Likewise.
	* ld-x86-64/call1i.d: Likewise.
	* ld-x86-64/load1a-nacl.d: Likewise.
	* ld-x86-64/load1b-nacl.d: Likewise.
	* ld-x86-64/load1c-nacl.d: Likewise.
	* ld-x86-64/load1d-nacl.d: Likewise.
2015-10-22 04:56:39 -07:00
..
config objcopy --extract-symbol testcase 2015-10-15 23:38:29 +10:30
ld-aarch64 [LD][AARCH64]Add TLSIE relaxation support under large memory model. 2015-10-02 17:56:09 +01:00
ld-alpha Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
ld-arm [ARM] Fix extern protected data handling 2015-07-27 11:45:27 +01:00
ld-auto-import ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-avr Define DIFF_EXPR_OK for avr target to allow PC relative difference relocation. 2015-07-08 21:41:52 +03: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 test to ensure that ternary linker script operators copy symbol flags. 2015-10-19 14:32:54 +01:00
ld-elfcomm ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-elfvers Pass $PLT_CFLAGS to build_binary 2015-07-27 05:13:55 -07:00
ld-elfvsb Pass $PLT_CFLAGS to ld_compile 2015-07-27 05:15:01 -07:00
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 xfail pr18223 test for tic6x 2015-04-15 12:01:33 +09:30
ld-h8300 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-i386 Add "-z call-nop=PADDING" option to ld 2015-10-22 04:56:39 -07:00
ld-ia64 Strip undefined symbols from .symtab 2015-02-19 13:36:34 +10:30
ld-ifunc Add R_X86_64_[REX_]GOTPCRELX support to gas and ld 2015-10-22 04:49:38 -07:00
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 Update MIPS PIE tests for DF_1_PIE change 2015-09-22 11:12:01 -07:00
ld-misc ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-mmix Update .strtab section sizes in mmix tests 2015-06-25 10:07:53 -07:00
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 Add Nios II arch flags and compatibility tests 2015-07-01 15:55:28 -07:00
ld-pe Fix building PE test executables in environments where $CFLAGS is needed. 2015-05-29 11:51:41 +01:00
ld-pie ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-plugin Add "ld -r" tests for PR ld/15323 2015-09-11 10:02:57 -07:00
ld-powerpc Add reloc sort test 2015-08-27 23:21:21 +09:30
ld-s390 S/390: Fix gotreloc_31-1 testcase. 2015-04-27 10:24:24 +02:00
ld-scripts objcopy --extract-symbol testcase 2015-10-15 23:38:29 +10:30
ld-selective ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ld-sh Don't hardcode offset of .shstrtab section 2015-04-20 09:55:47 -07:00
ld-shared Pass $PLT_CFLAGS to ld_compile 2015-07-27 05:17:26 -07:00
ld-size Move run-time support check for size relocation 2015-07-29 10:52:38 -07:00
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 Append $PLT_CFLAGS to CC/CXX for S-records tests 2015-07-27 05:18:20 -07:00
ld-tic6x Don't hardcode offset of .shstrtab section 2015-04-20 09:55:47 -07:00
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 ld: Add '--require-defined' command line option. 2015-08-04 10:00:05 +01:00
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 Add "-z call-nop=PADDING" option to ld 2015-10-22 04:56:39 -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 Update xtensa linker tests 2015-06-27 16:25:34 -07:00
lib Skip IFUNC relocations in debug sections 2015-08-11 12:59:11 -07:00
ChangeLog Add "-z call-nop=PADDING" option to ld 2015-10-22 04:56:39 -07: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-2014 ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ChangeLog-9303 Add copyright notices 2012-12-10 12:48:03 +00:00