[PATCH] D62596: [AARCH64][ELF][llvm-readobj] Add support for BTI and PAC dynamic tags

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 29 08:06:28 PDT 2019


peter.smith created this revision.
peter.smith added reviewers: jhenderson, grimar, jakehehrlich, LukeCheeseman.
Herald added subscribers: rupprecht, kristof.beyls, javed.absar.

ELF for the 64-bit Arm Architecture defines two processor-specific dynamic tags:

- DT_AARCH64_BTI_PLT 0x70000001, d_val
- DT_AARCH64_PAC_PLT 0x70000003, d_val

These presence of these tags indicate that PLT sequences have been protected using Branch Target Identification and Pointer Authentication respectively. The presence of both indicates that the PLT sequences have been protected with both Branch Target Identification and Pointer Authentication.

      

This patch adds the tags and tests for llvm-readobj and yaml2obj.

ELF for the 64-bit Arm Architecture containing definitions of the tags can be found at: https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2019q1-documentation


https://reviews.llvm.org/D62596

Files:
  include/llvm/BinaryFormat/DynamicTags.def
  lib/Object/ELF.cpp
  lib/ObjectYAML/ELFYAML.cpp
  test/tools/llvm-readobj/Inputs/bti-pac-plt.elf-aarch64
  test/tools/llvm-readobj/aarch64-bti-pac-dynamic.test
  test/tools/obj2yaml/dynamic-section-arch-tags.test
  tools/llvm-readobj/ELFDumper.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62596.201917.patch
Type: text/x-patch
Size: 8008 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190529/0dada74d/attachment.bin>


More information about the llvm-commits mailing list