Cross-DSO control flow integrity (Clang part).
Clang-side cross-DSO CFI. * Adds a command line flag -f[no-]sanitize-cfi-cross-dso. * Links a runtime library when enabled. * Emits __cfi_slowpath calls is bitset test fails. * Emits extra hash-based bitsets for external CFI checks. * Sets a module flag to enable __cfi_check generation during LTO. This mode does not yet support diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255694 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- docs/ControlFlowIntegrity.rst 18 additions, 4 deletionsdocs/ControlFlowIntegrity.rst
- docs/ControlFlowIntegrityDesign.rst 131 additions, 0 deletionsdocs/ControlFlowIntegrityDesign.rst
- docs/UsersManual.rst 6 additions, 0 deletionsdocs/UsersManual.rst
- include/clang/Driver/Options.td 6 additions, 0 deletionsinclude/clang/Driver/Options.td
- include/clang/Driver/SanitizerArgs.h 2 additions, 0 deletionsinclude/clang/Driver/SanitizerArgs.h
- include/clang/Frontend/CodeGenOptions.def 1 addition, 0 deletionsinclude/clang/Frontend/CodeGenOptions.def
- lib/CodeGen/CGClass.cpp 13 additions, 6 deletionslib/CodeGen/CGClass.cpp
- lib/CodeGen/CGExpr.cpp 41 additions, 9 deletionslib/CodeGen/CGExpr.cpp
- lib/CodeGen/CGVTables.cpp 3 additions, 2 deletionslib/CodeGen/CGVTables.cpp
- lib/CodeGen/CodeGenFunction.h 5 additions, 0 deletionslib/CodeGen/CodeGenFunction.h
- lib/CodeGen/CodeGenModule.cpp 84 additions, 18 deletionslib/CodeGen/CodeGenModule.cpp
- lib/CodeGen/CodeGenModule.h 10 additions, 4 deletionslib/CodeGen/CodeGenModule.h
- lib/CodeGen/MicrosoftCXXABI.cpp 5 additions, 8 deletionslib/CodeGen/MicrosoftCXXABI.cpp
- lib/Driver/SanitizerArgs.cpp 18 additions, 1 deletionlib/Driver/SanitizerArgs.cpp
- lib/Driver/Tools.cpp 2 additions, 0 deletionslib/Driver/Tools.cpp
- lib/Frontend/CompilerInvocation.cpp 1 addition, 0 deletionslib/Frontend/CompilerInvocation.cpp
- test/CodeGen/cfi-icall-cross-dso.c 49 additions, 0 deletionstest/CodeGen/cfi-icall-cross-dso.c
- test/CodeGenCXX/cfi-cross-dso.cpp 45 additions, 0 deletionstest/CodeGenCXX/cfi-cross-dso.cpp
- test/Driver/fsanitize.c 9 additions, 0 deletionstest/Driver/fsanitize.c
- test/Driver/sanitizer-ld.c 40 additions, 0 deletionstest/Driver/sanitizer-ld.c
Loading
Please register or sign in to comment