[PATCH] D45239: AArch64: Implement support for the shadowcallstack attribute.
Peter Collingbourne via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 3 18:04:35 PDT 2018
pcc created this revision.
pcc added reviewers: vlad.tsyrklevich, eugenis, kcc, t.p.northover, olista01.
Herald added subscribers: hiraditya, kristof.beyls, javed.absar, rengolin.
The implementation of shadow call stack on aarch64 is quite different to
the implementation on x86_64. Instead of reserving a segment register for
the shadow call stack, we reserve the platform register, x18. Any function
that spills lr to sp also spills it to the shadow call stack, a pointer to
which is stored in x18.
https://reviews.llvm.org/D45239
Files:
clang/docs/ShadowCallStack.rst
clang/lib/Driver/SanitizerArgs.cpp
clang/lib/Driver/ToolChain.cpp
clang/test/Driver/sanitizer-ld.c
llvm/include/llvm/Support/TargetParser.h
llvm/lib/Support/TargetParser.cpp
llvm/lib/Target/AArch64/AArch64CallingConvention.td
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
llvm/lib/Target/AArch64/AArch64Subtarget.cpp
llvm/test/CodeGen/AArch64/shadow-call-stack.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45239.140890.patch
Type: text/x-patch
Size: 19162 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180404/840f7150/attachment.bin>
More information about the llvm-commits
mailing list