CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2018/04/28 17:00:28
Modified files:
gnu/llvm/lib/Target/X86: CMakeLists.txt X86.h
X86TargetMachine.cpp
gnu/usr.bin/clang/libLLVMX86CodeGen: Makefile
Added files:
gnu/llvm/lib/Target/X86: X86FixupGadgets.cpp
Log message:
Add a clang pass that identifies potential ROP gadgets and replaces ROP
friendly instructions with safe alternatives. This initial commit fixes
3 instruction forms that will lower to include a c3 (return) byte.
Additional problematic instructions can be fixed incrementally using
this framework.
ok deraadt@