binutils-gdb/ld/testsuite
Sudakshina Das 1dbade7441 [BFD, LD, AArch64, 3/3] Add --pac-plt to enable PLTs protected with PAC.
This is part of the patch series to add support for BTI and
PAC in AArch64 linker.

1) This patch adds new definitions of PAC enabled PLTs
and both BTI and PAC enabled PLTs.
2) It also defines the new dynamic tag DT_AARCH64_PAC_PLT
for the PAC enabled PLTs.
3) This patch adds a new ld command line option: --pac-plt.
In the presence of this option, the linker uses the PAC
enabled PLTs and marks with DT_AARCH64_PAC_PLT.
4) In case both BTI and PAC are enabled the linker should
pick PLTs enabled with both and also use dynamic tags for both.
All these are made according to the new AArch64 ELF ABI
https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4

*** bfd/ChangeLog ***

2019-03-13  Sudakshina Das  <sudi.das@arm.com>

	* elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
	(PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
	(setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
	(elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
	and PLT_PAC_PLT.
	(elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
	(get_plt_type): Add case for DT_AARCH64_PAC_PLT.
	(elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.

*** binutils/ChangeLog ***

2019-03-13  Sudakshina Das  <sudi.das@arm.com>

	* readelf.c (get_aarch64_dynamic_type): Add case for
	DT_AARCH64_PAC_PLT.
	(dynamic_section_aarch64_val): Likewise.

*** include/ChangeLog ***

2019-03-13  Sudakshina Das  <sudi.das@arm.com>

	* elf/aarch64.h (DT_AARCH64_PAC_PLT): New.

*** ld/ChangeLog ***

2019-03-13  Sudakshina Das  <sudi.das@arm.com>

	* NEWS: Document --pac-plt.
	* emultempl/aarch64elf.em (OPTION_PAC_PLT): New.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add pac-plt.
	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_PAC_PLT.
	* testsuite/ld-aarch64/aarch64-elf.exp: Add the following tests.
	* testsuite/ld-aarch64/bti-pac-plt-1.d: New test.
	* testsuite/ld-aarch64/bti-pac-plt-2.d: New test.
	* testsuite/ld-aarch64/pac-plt-1.d: New test.
	* testsuite/ld-aarch64/pac-plt-2.d: New test.
	* testsuite/ld-aarch64/bti-plt-1.s: Add .ifndef directive.
2019-03-13 11:47:33 +00:00
..
config Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-aarch64 [BFD, LD, AArch64, 3/3] Add --pac-plt to enable PLTs protected with PAC. 2019-03-13 11:47:33 +00:00
ld-alpha Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-arc Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-arm Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-auto-import Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-avr Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-bootstrap Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-cdtest Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-checks Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-cris Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-crx Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-csky Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
ld-cygwin Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-d10v Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-discard Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-elf [ld, hurd] Remove 'ld-elf/elf.exp' XFAILs 2019-02-14 17:51:22 +01:00
ld-elfcomm Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-elfvers Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-elfvsb Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-elfweak Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-fastcall Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-frv Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-gc Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-h8300 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-i386 x86: Properly set IBT and SHSTK properties for -z ibt/shstk 2019-03-13 14:38:29 +08:00
ld-ia64 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-ifunc Skip ld/pr23169 on SPARC. 2019-01-29 10:11:01 +01:00
ld-libs Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-linkonce Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-m68hc11 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-m68k run_dump_test source in build directory 2019-01-08 18:50:54 +10:30
ld-mep Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-metag Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-mips-elf Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-misc Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-mmix Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-mn10300 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-msp430-elf Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-nds32 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-nios2
ld-or1k Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-pe Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-pie Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-plugin Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-powerpc PowerPC __tls_get_addr arg parsing 2019-02-21 18:05:05 +10:30
ld-pru
ld-riscv-elf Fix spelling mistakes in BFD library. 2019-01-21 12:39:24 +00:00
ld-s12z Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-s390 Revert "Add support to GNU ld to separate got related plt entries" 2019-03-01 15:35:00 +01:00
ld-scripts Fix some ldscripts/pr24008 fails 2019-02-06 17:33:54 +10:30
ld-selective Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-sh Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-shared Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-size Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-sparc Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-spu Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-srec Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-tic6x Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-tilegx Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-tilepro Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-undefined Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-unique Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-v850 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-vax-elf Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-visium Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-vxworks Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-x86-64 x86: Properly set IBT and SHSTK properties for -z ibt/shstk 2019-03-13 14:38:29 +08:00
ld-xc16x Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-xstormy16 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ld-xtensa bfd: xtensa: fix callx relaxation 2019-02-20 02:51:01 -08:00
ld-z8k Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
lib Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-9303