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
COPYING Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
COPYING3 * COPYING3: New file. Contains version 3 of the GNU General Public License. 2007-07-17 13:50:23 +00:00
ChangeLog Add -z bndplt to generate BND prefix in PLT entries 2014-11-18 05:40:17 -08:00
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
MAINTAINERS 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
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 Restore patch lost in last merge from GCC. 2013-03-01 23:40:38 +00:00
dyn-string.h merge from gcc 2009-06-01 19:40:44 +00:00
fibheap.h merge from gcc 2009-06-01 19:40:44 +00:00
filenames.h include/ 2012-07-13 23:39:46 +00:00
floatformat.h merge from gcc 2013-08-20 06:02:53 +00:00
fnmatch.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
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 Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
hashtab.h merge from gcc 2010-06-10 18:30:24 +00:00
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 * leb128.h: #include stdint.h, inttypes.h. 2012-05-24 01:18:15 +00:00
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 merge from gcc 2009-10-07 02:57:27 +00:00
md5.h PR other/54620 2013-01-30 16:52:35 +00:00
oasys.h Update copyright years 2014-03-05 22:16:15 +10:30
objalloc.h merge from gcc 2012-10-10 03:11:33 +00:00
obstack.h * obstack.h [!GNUC] (obstack_free): Avoid cast to int. 2011-10-22 01:35:29 +00:00
os9k.h Update copyright years 2014-03-05 22:16:15 +10:30
partition.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
plugin-api.h This patch assigns explicit integers to enum values corresponding 2013-02-11 19:36:56 +00:00
progress.h Update copyright years 2014-03-05 22:16:15 +10:30
safe-ctype.h * safe-ctype.h: Add #include of ctype.h before redefining 2008-07-07 17:09:31 +00:00
sha1.h PR other/54620 2013-01-30 16:52:35 +00:00
simple-object.h merge from gcc 2010-11-17 02:03:43 +00:00
sort.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
splay-tree.h merge from gcc 2012-04-10 17:07:35 +00:00
symcat.h * symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define. 2010-03-23 15:58:51 +00:00
timeval-utils.h merge from gcc 2011-09-28 20:01:45 +00:00
vtv-change-permission.h merge from gcc 2013-08-07 15:04:28 +00:00
xregex.h merge from gcc 2011-07-25 17:11:48 +00:00
xregex2.h merge from gcc 2005-07-12 10:35:00 +00:00
xtensa-config.h merge from gcc 2011-01-03 21:05:58 +00:00
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