SecBSD's official ports repository
This commit is contained in:
commit
2c0afcbbf3
64331 changed files with 5339189 additions and 0 deletions
20
devel/clang-tools-extra/patches/patch-lib_Target_X86_X86_h
Normal file
20
devel/clang-tools-extra/patches/patch-lib_Target_X86_X86_h
Normal file
|
@ -0,0 +1,20 @@
|
|||
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.
|
||||
|
||||
Index: lib/Target/X86/X86.h
|
||||
--- lib/Target/X86/X86.h.orig
|
||||
+++ lib/Target/X86/X86.h
|
||||
@@ -122,6 +122,10 @@ FunctionPass *createX86FixupBWInsts();
|
||||
/// to another, when profitable.
|
||||
FunctionPass *createX86DomainReassignmentPass();
|
||||
|
||||
+/// Return a Machine Function pass that attempts to replace
|
||||
+/// ROP friendly instructions with alternatives.
|
||||
+FunctionPass *createX86FixupGadgetsPass();
|
||||
+
|
||||
/// This pass replaces EVEX encoded of AVX-512 instructiosn by VEX
|
||||
/// encoding when possible in order to reduce code size.
|
||||
FunctionPass *createX86EvexToVexInsts();
|
Loading…
Add table
Add a link
Reference in a new issue