Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | X86: Consistently declare pass initializers in X86.h; NFC | Matthias Braun | 2018-11-01 | 1 | -4/+0 |
| | | | | | | | This avoids declaring them twice: in X86TargetMachine.cpp and the file implementing the pass. llvm-svn: 345801 | ||||
* | ShadowCallStack/x86_64: Ignore pseudo-machine instructions | Vlad Tsyrklevich | 2018-04-10 | 1 | -1/+2 |
| | | | | llvm-svn: 329656 | ||||
* | Fix bad #include path in r329139 | Vlad Tsyrklevich | 2018-04-04 | 1 | -1/+1 |
| | | | | llvm-svn: 329140 | ||||
* | Add the ShadowCallStack pass | Vlad Tsyrklevich | 2018-04-04 | 1 | -0/+325 |
Summary: 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. Reviewers: pcc, vitalybuka Reviewed By: pcc Subscribers: cryptoad, eugenis, craig.topper, mgorny, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D44802 llvm-svn: 329139 |