[PATCH] D44802: Add the ShadowCallStack pass
Vlad Tsyrklevich via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 22 12:49:42 PDT 2018
vlad.tsyrklevich created this revision.
vlad.tsyrklevich added a reviewer: pcc.
Herald added subscribers: llvm-commits, mgorny.
The ShadowCallStack pass instruments functions marked with the
shadowcallstack attribute. The instrumented prolog saves the return
address to [gs:offset] where offset is stored and updated in [gs:0].
The instrumented epilog loads/updates the return address from [gs:0]
and checks that it matches the return address on the stack before
returning.
Repository:
rL LLVM
https://reviews.llvm.org/D44802
Files:
lib/Target/X86/CMakeLists.txt
lib/Target/X86/ShadowCallStack.cpp
lib/Target/X86/X86.h
lib/Target/X86/X86TargetMachine.cpp
test/CodeGen/X86/O0-pipeline.ll
test/CodeGen/X86/shadow-call-stack.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44802.139495.patch
Type: text/x-patch
Size: 14651 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180322/36826efb/attachment.bin>
More information about the llvm-commits
mailing list