diff options
author | Mitch Phillips <31459023+hctim@users.noreply.github.com> | 2022-12-01 10:50:28 -0800 |
---|---|---|
committer | Mitch Phillips <31459023+hctim@users.noreply.github.com> | 2022-12-01 10:50:34 -0800 |
commit | 850defb86164f1a68816b21f31529d871400a454 (patch) | |
tree | a22fb0e17658ef38a2d6b9f87ff5da77168613a0 /llvm/lib/Transforms/Utils/InlineFunction.cpp | |
parent | 7db8ff32bd848330c0e1080377605bd05f4fdc7c (diff) | |
download | llvm-850defb86164f1a68816b21f31529d871400a454.zip llvm-850defb86164f1a68816b21f31529d871400a454.tar.gz llvm-850defb86164f1a68816b21f31529d871400a454.tar.bz2 |
Add assembler plumbing for sanitize_memtag
Extends the Asm reader/writer to support reading and writing the
'.memtag' directive (including allowing it on internal global
variables). Also add some extra tooling support, including objdump and
yaml2obj/obj2yaml.
Test that the sanitize_memtag IR attribute produces the expected asm
directive.
Uses the new Aarch64 MemtagABI specification
(https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst)
to identify symbols as tagged in object files. This is done using a
R_AARCH64_NONE relocation that identifies each tagged symbol, and these
relocations are tagged in a special SHT_AARCH64_MEMTAG_GLOBALS_STATIC
section. This signals to the linker that the global variable should be
tagged.
Reviewed By: fmayer, MaskRay, peter.smith
Differential Revision: https://reviews.llvm.org/D128958
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions