summaryrefslogtreecommitdiffstats
path: root/clang/docs/ControlFlowIntegrityDesign.rst
Commit message (Collapse)AuthorAgeFilesLines
* Cross-DSO control flow integrity (Clang part).Evgeniy Stepanov2015-12-151-0/+131
| | | | | | | | | | | | | | 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. llvm-svn: 255694
* docs: Add design documentation for forward-edge CFI for indirect calls.Peter Collingbourne2015-12-011-3/+88
| | | | llvm-svn: 254464
* CFI: Introduce -fsanitize=cfi-icall flag.Peter Collingbourne2015-09-101-0/+8
| | | | | | | | | | This flag causes the compiler to emit bit set entries for functions as well as runtime bitset checks at indirect call sites. Depends on the new function bitset mechanism. Differential Revision: http://reviews.llvm.org/D11857 llvm-svn: 247238
* docs: Document byte arrays.Peter Collingbourne2015-03-121-16/+26
| | | | llvm-svn: 231994
* docs: Document CFI padding and all-ones optimizations. Link to viewvc.Peter Collingbourne2015-02-261-1/+30
| | | | llvm-svn: 230588
* docs: Document optimizations in control flow integrity design doc.Peter Collingbourne2015-02-251-9/+118
| | | | llvm-svn: 230458
* CFI: Improve design doc with larger virtual tables and asm examples.Peter Collingbourne2015-02-231-9/+77
| | | | llvm-svn: 230254
* Implement Control Flow Integrity for virtual calls.Peter Collingbourne2015-02-201-0/+59
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
OpenPOWER on IntegriCloud