Implement CFI type checks for non-virtual calls.
This uses the same class metadata currently used for virtual call and cast checks. The new flag is -fsanitize=cfi-nvcall. For consistency, the -fsanitize=cfi-vptr flag has been renamed -fsanitize=cfi-vcall. Differential Revision: http://reviews.llvm.org/D8756 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@233874 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- docs/ControlFlowIntegrity.rst 21 additions, 4 deletionsdocs/ControlFlowIntegrity.rst
- docs/UsersManual.rst 3 additions, 1 deletiondocs/UsersManual.rst
- include/clang/Basic/Sanitizers.def 4 additions, 2 deletionsinclude/clang/Basic/Sanitizers.def
- lib/CodeGen/CGClass.cpp 9 additions, 8 deletionslib/CodeGen/CGClass.cpp
- lib/CodeGen/CGExprCXX.cpp 6 additions, 0 deletionslib/CodeGen/CGExprCXX.cpp
- lib/CodeGen/CGVTables.cpp 4 additions, 1 deletionlib/CodeGen/CGVTables.cpp
- lib/CodeGen/ItaniumCXXABI.cpp 2 additions, 1 deletionlib/CodeGen/ItaniumCXXABI.cpp
- lib/Driver/SanitizerArgs.cpp 1 addition, 1 deletionlib/Driver/SanitizerArgs.cpp
- test/CodeGenCXX/cfi-nvcall.cpp 35 additions, 0 deletionstest/CodeGenCXX/cfi-nvcall.cpp
- test/CodeGenCXX/cfi-vcall.cpp 3 additions, 3 deletionstest/CodeGenCXX/cfi-vcall.cpp
- test/Driver/fsanitize.c 5 additions, 3 deletionstest/Driver/fsanitize.c
Loading
Please register or sign in to comment