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
Loading
Please sign in to comment