binutils-gdb/include/elf
Sudakshina Das cd702818c6 [BFD, LD, AArch64, 1/3] Add support for GNU PROPERTIES in AArch64 for BTI and PAC
This is part of the patch series to add support for BTI and
PAC in AArch64 linker.

This patch implements the following:
1) This extends in the gnu property support in the linker for
AArch64 by defining backend hooks for elf_backend_setup_gnu_properties,
elf_backend_merge_gnu_properties and elf_backend_parse_gnu_properties.
2) It defines AArch64 specific GNU property
GNU_PROPERTY_AARCH64_FEATURE_1_AND and 2 bit for BTI and PAC in it.
3) It also adds support in readelf.c to read and print these new
GNU properties in AArch64.
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>

	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
	linker created inputs from merge.
	* elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
	GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
	(elfNN_aarch64_link_setup_gnu_properties): New.
	(elfNN_aarch64_merge_gnu_properties): New.
	(elf_backend_setup_gnu_properties): Define for AArch64.
	(elf_backend_merge_gnu_properties): Likewise.
	* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
	(_bfd_aarch64_elf_parse_gnu_properties): Define.
	(_bfd_aarch64_elf_merge_gnu_properties): Define.
	* elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
	(_bfd_aarch64_elf_parse_gnu_properties): Declare.
	(_bfd_aarch64_elf_merge_gnu_properties): Declare.
	(elf_backend_parse_gnu_properties): Define for AArch64.

*** binutils/ChangeLog ***

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

	* readelf.c (decode_aarch64_feature_1_and): New.
	(print_gnu_property_note): Add case for AArch64 gnu notes.

*** include/ChangeLog ***

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

	* elf/common.h (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New.
	(GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New.
	(GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New.

*** ld/ChangeLog ***

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

	* NEWS: Document GNU_PROPERTY_AARCH64_FEATURE_1_BTI and
	GNU_PROPERTY_AARCH64_FEATURE_1_PAC.
	* testsuite/ld-aarch64/aarch64-elf.exp: Add run commands for new tests.
	* testsuite/ld-aarch64/property-bti-pac1.d: New test.
	* testsuite/ld-aarch64/property-bti-pac1.s: New test.
	* testsuite/ld-aarch64/property-bti-pac2.d: New test.
	* testsuite/ld-aarch64/property-bti-pac2.s: New test.
	* testsuite/ld-aarch64/property-bti-pac3.d: New test.
2019-03-13 11:47:00 +00:00
..
aarch64.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
alpha.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arc-cpu.def Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arc-reloc.def Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arc.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arm.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
avr.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
bfin.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
common.h [BFD, LD, AArch64, 1/3] Add support for GNU PROPERTIES in AArch64 for BTI and PAC 2019-03-13 11:47:00 +00:00
cr16.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cr16c.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cris.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
crx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
csky.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
d10v.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
d30v.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
dlx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
dwarf.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
epiphany.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
external.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
fr30.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
frv.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ft32.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
h8.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
hppa.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i370.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i386.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i860.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i960.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ia64.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
internal.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ip2k.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
iq2000.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
lm32.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
m32c.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
m32r.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
m68hc11.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
m68k.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mcore.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mep.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
metag.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
microblaze.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mips.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mmix.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mn10200.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mn10300.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
moxie.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
msp430.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mt.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
nds32.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
nfp.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
nios2.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
or1k.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pj.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ppc64.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ppc.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pru.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
reloc-macros.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
riscv.h RISC-V: Support ELF attribute for gas and readelf. 2019-01-16 13:14:59 -08:00
rl78.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
rx.h RX: include - Add RXv3 support. 2019-01-05 22:49:46 +09:00
s12z.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
s390.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
score.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
sh.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
sparc.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
spu.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
tic6x-attrs.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
tic6x.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
tilegx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
tilepro.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
v850.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vax.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
visium.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vxworks.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
wasm32.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
x86-64.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xc16x.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xgate.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xstormy16.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xtensa.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30