The MemTagABIELF64 extension provides recommendations for operating systems such as Linux. There are some implementation details related to DT_AARCH64_MEMTAG_STACK that should also be specified but are out of scope of the MemTagABIELF64 document.
The implementation of stack tagging is left to the compiler, however the implementation of setjmp and longjmp is out of scope of a compiler. There should be a description of minimal requirements that complying implementations of setjmp and longjmp as well as complying implementations of stack tagging in a compiler should abide by.
At least there should be a way for the implementation of setjmp and longjmp to determine if any extra operations related to stack memory tagging should be skipped (so that the same implementation can work with binaries with and without support for stack tagging).
The MemTagABIELF64 extension provides recommendations for operating systems such as Linux. There are some implementation details related to
DT_AARCH64_MEMTAG_STACKthat should also be specified but are out of scope of the MemTagABIELF64 document.The implementation of stack tagging is left to the compiler, however the implementation of
setjmpandlongjmpis out of scope of a compiler. There should be a description of minimal requirements that complying implementations ofsetjmpandlongjmpas well as complying implementations of stack tagging in a compiler should abide by.At least there should be a way for the implementation of
setjmpandlongjmpto determine if any extra operations related to stack memory tagging should be skipped (so that the same implementation can work with binaries with and without support for stack tagging).