ELF for the 64-bit Arm Architecture defines a processor specific property type GNU_PROPERTY_AARCH64_FEATURE_1_AND as GNU_PROPERTY_LOPROC. This property works in a similar way to the existing X86 processor specific property GNU_PROPERTY_GNU_X86_FEATURE_1_AND.
Two feature bits are defined for GNU_PROPERTY_AARCH64_FEATURE_1_AND:
- GNU_PROPERTY_AARCH64_FEATURE_1_BTI 0x1
- GNU_PROPERTY_AARCH64_FEATURE_1_PAC 0x2
This patch defines the property, feature bits and implements support for printing in llvm-readobj.
The overall destination is support for BTI and PAC in LLD.
The ELF for the 64-bit Arm Architecture spec with the above features defined can be found at: https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2019q1-documentation
This line is not needed. llvm-readobj doesn't use any llvm/lib/Target/AArch64 code (I guess that is what aarch64-registered-target is about)
Also consider moving the test under the AArch64 directory since it is there?