hanchenye-llvm-project/clang/lib/Driver
Peter Collingbourne a4ccff3281 Implement Control Flow Integrity for virtual calls.
This patch introduces the -fsanitize=cfi-vptr flag, which enables a control
flow integrity scheme that checks that virtual calls take place using a vptr of
the correct dynamic type. More details in the new docs/ControlFlowIntegrity.rst
file.

It also introduces the -fsanitize=cfi flag, which is currently a synonym for
-fsanitize=cfi-vptr, but will eventually cover all CFI checks implemented
in Clang.

Differential Revision: http://reviews.llvm.org/D7424

llvm-svn: 230055
2015-02-20 20:30:56 +00:00
..
Action.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
CMakeLists.txt Driver: add CrossWindowsToolChain 2014-10-24 03:13:37 +00:00
Compilation.cpp Driver: Use pointee_iterator rather than iterating over unique_ptrs 2014-10-03 01:04:53 +00:00
CrossWindowsToolChain.cpp Driver: correct typo 2014-11-19 17:59:00 +00:00
Driver.cpp Implement Control Flow Integrity for virtual calls. 2015-02-20 20:30:56 +00:00
DriverOptions.cpp
InputInfo.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
Job.cpp Prefer SmallVector::append/insert over push_back loops. Clang edition. 2015-02-17 16:48:30 +00:00
MSVCToolChain.cpp Remove a stray blank line that my sort_include.py script found. 2015-02-13 09:57:05 +00:00
Makefile
Multilib.cpp Driver: Simplify a use of the path API 2014-08-03 21:46:33 +00:00
Phases.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
SanitizerArgs.cpp Implement Control Flow Integrity for virtual calls. 2015-02-20 20:30:56 +00:00
Tool.cpp Teach Clang how to use response files when calling other tools 2014-09-15 17:45:39 +00:00
ToolChain.cpp Improve our handling of rtti/sanitize=vptr/sanitize=undefined 2015-02-19 01:04:49 +00:00
ToolChains.cpp Driver: Fix use of dangling std::string temporary 2015-02-18 18:45:54 +00:00
ToolChains.h Do not force "-static" for aarch64 iOS kernel/kext assembly code. 2015-02-10 06:33:04 +00:00
Tools.cpp Implement Control Flow Integrity for virtual calls. 2015-02-20 20:30:56 +00:00
Tools.h [mips] Pass ABI name via -target-abi instead of target-features 2015-01-30 17:35:23 +00:00
Types.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00