binutils-gdb/include
Igor Zamyatin d258b82828 Add -z bndplt to generate BND prefix in PLT entries
This patch adds "-z bndplt" option Linux/x86-64 linker to generate BND
prefix in PLT entries.  It also updated Linux/x86-64 assembler not to
generate R_X86_64_PLT32_BND nor R_X86_64_PC32_BND relocations.

bfd/

2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>

	* elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only
	for -z bndplt.

gas/

2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>

	* config/tc-i386-intel.c (i386_operator): Remove last argument
	from lex_got call.
	* config/tc-i386.c (reloc): Remove bnd_prefix from parameters'
	list.  Return always BFD_RELOC_32_PCREL.
	* (output_branch): Remove condition for BFD_RELOC_X86_64_PC32_BND.
	* (output_jump): Update call to reloc accordingly.
	* (output_interseg_jump): Likewise.
	* (output_disp): Likewise.
	* (output_imm): Likewise.
	* (x86_cons_fix_new): Likewise.
	* (lex_got): Remove bnd_prefix from parameters' list in macro and
	declarations. Don't use BFD_RELOC_X86_64_PLT32_BND.
	* (x86_cons): Update call to lex_got accordingly.
	* (i386_immediate): Likewise.
	* (i386_displacement): Likewise.
	* (md_apply_fix): Don't use BFD_RELOC_X86_64_PLT32_BND nor
	BFD_RELOC_X86_64_PC32_BND.
	* (tc_gen_reloc): Likewise.

include/

2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>

	* bfdlink.h (struct bfd_link_info): Add bndplt.

ld/

2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>

	* emulparams/elf_x86_64.sh (BNDPLT): Set to yes for x86_64.
	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
	"-z bndplt" if BNDPLT is yes.
	(gld${EMULATION_NAME}_list_options): Add "-z bndplt" entry.
	* ld.texinfo: Add description for bndplt.

ld/testsuite/

2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>

	* testsuite/ld-x86-64/bnd-ifunc-1.d: Add bndplt option.
	* testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise.
	* testsuite/ld-x86-64/bnd-plt-1.d: Likewise.  Update dissassembly
	sections.
	* testsuite/ld-x86-64/mpx.exp: Handle mpx3 and mpx4 tests.
	* testsuite/ld-x86-64/mpx1a.rd: Remove _BND from relocation name.
	* testsuite/ld-x86-64/mpx1c.rd: Likewise.
	* testsuite/ld-x86-64/mpx2a.rd: Likewise.
	* testsuite/ld-x86-64/mpx2c.rd: Likewise.
	* testsuite/ld-x86-64/mpx3.dd: New file.
	* testsuite/ld-x86-64/mpx3a.s: Likewise.
	* testsuite/ld-x86-64/mpx3b.s: Likewise.
	* testsuite/ld-x86-64/mpx4.dd: Likewise.
	* testsuite/ld-x86-64/mpx4a.s: Likewise.
	* testsuite/ld-x86-64/mpx4b.s: Likewise.
2014-11-18 05:40:17 -08:00
..
aout Update copyright years 2014-03-05 22:16:15 +10:30
cgen Update copyright years 2014-03-05 22:16:15 +10:30
coff Enabling the HIGH_ENTROPY_VA flag allows the operating system to use 2014-08-20 16:10:29 +01:00
elf Mark R_X86_64_GOTPLT64 obsolete 2014-11-13 11:26:47 -08:00
gdb sim: constify arg to sim_do_command 2014-03-10 22:57:29 -04:00
mach-o Mach-O: Add objdump -P dyld_info to dump dyld data. 2014-04-16 12:16:02 +02:00
nlm Update copyright years 2014-03-05 22:16:15 +10:30
opcode Add mach parameter to nios2_find_opcode_hash. 2014-11-06 13:12:21 -08:00
som Update copyright years 2014-03-05 22:16:15 +10:30
vms Update copyright years 2014-03-05 22:16:15 +10:30
alloca-conf.h Update copyright years 2014-03-05 22:16:15 +10:30
ansidecl.h [PATCH] include * ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS) (VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST) (VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS) (NOARGS): Don't define. * libiberty.h (expandargv, writeargv): Don't use PARAMS. libiberty * _doprint.c (checkit): Use stdarg, not VA_* macros. * asprintf.c (asprintf): Use stdarg, not VA_* macros. * concat.c (concat_length, concat_copy, concat_copy2, concat) (reconcat): Use stdarg, not VA_* macros. * snprintf.c (snprintf): Use stdarg, not VA_* macros. * vasprintf.c (checkit): Use stdarg, not VA_* macros. * vsnprintf.c (checkit): Use stdarg, not VA_* macros. 2014-01-21 08:52:09 -07:00
bfdlink.h Add -z bndplt to generate BND prefix in PLT entries 2014-11-18 05:40:17 -08:00
binary-io.h Update copyright years 2014-03-05 22:16:15 +10:30
bout.h Update copyright years 2014-03-05 22:16:15 +10:30
ChangeLog Add -z bndplt to generate BND prefix in PLT entries 2014-11-18 05:40:17 -08:00
ChangeLog-9103
COPYING
COPYING3
demangle.h Sync libiberty with upstream GCC. 2014-10-11 10:29:10 +01:00
dis-asm.h Remove support for the (deprecated) openrisc and or32 configurations and replace 2014-04-22 15:57:47 +01:00
dwarf2.def merge from gcc 2013-08-20 06:02:53 +00:00
dwarf2.h
dyn-string.h
fibheap.h
filenames.h
floatformat.h merge from gcc 2013-08-20 06:02:53 +00:00
fnmatch.h
fopen-bin.h Update copyright years 2014-03-05 22:16:15 +10:30
fopen-same.h Update copyright years 2014-03-05 22:16:15 +10:30
fopen-vms.h Update copyright years 2014-03-05 22:16:15 +10:30
getopt.h
hashtab.h
hp-symtab.h Update copyright years 2014-03-05 22:16:15 +10:30
ieee.h Update copyright years 2014-03-05 22:16:15 +10:30
leb128.h
libiberty.h Sync libiberty with upstream GCC. 2014-10-11 10:29:10 +01:00
longlong.h Sync libiberty with upstream GCC. 2014-10-11 10:29:10 +01:00
lto-symtab.h
MAINTAINERS Update copyright years 2014-03-05 22:16:15 +10:30
md5.h
oasys.h Update copyright years 2014-03-05 22:16:15 +10:30
objalloc.h
obstack.h
os9k.h Update copyright years 2014-03-05 22:16:15 +10:30
partition.h
plugin-api.h
progress.h Update copyright years 2014-03-05 22:16:15 +10:30
safe-ctype.h
sha1.h
simple-object.h
sort.h
splay-tree.h
symcat.h
timeval-utils.h
vtv-change-permission.h merge from gcc 2013-08-07 15:04:28 +00:00
xregex2.h
xregex.h
xtensa-config.h
xtensa-isa-internal.h Update copyright years 2014-03-05 22:16:15 +10:30
xtensa-isa.h Update copyright years 2014-03-05 22:16:15 +10:30