[PATCH] D15367: Cross-DSO control flow integrity (Clang part)

Evgeniy Stepanov via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 8 18:26:47 PST 2015


eugenis created this revision.
eugenis added reviewers: kcc, pcc.
eugenis added a subscriber: cfe-commits.
eugenis set the repository for this revision to rL LLVM.

Clang-side cross-DSO CFI.
* Enabled with -fsanitize-cfi-cross-dso
* uses a runtime library, unlike "plain" CFI
* does not yet support diagnostics
* Emits __cfi_slowpath calls if bitset test fails. This routes the check to the target module, which may know more about the runtime type of the object or function.
* Set a module flag to enable __cfi_check generation during LTO.


Repository:
  rL LLVM

http://reviews.llvm.org/D15367

Files:
  include/clang/Driver/Options.td
  include/clang/Driver/SanitizerArgs.h
  include/clang/Frontend/CodeGenOptions.def
  lib/CodeGen/CGClass.cpp
  lib/CodeGen/CGExpr.cpp
  lib/CodeGen/CodeGenFunction.h
  lib/CodeGen/CodeGenModule.cpp
  lib/CodeGen/CodeGenModule.h
  lib/Driver/SanitizerArgs.cpp
  lib/Driver/Tools.cpp
  lib/Frontend/CompilerInvocation.cpp
  test/CodeGen/cfi-icall-cross-dso.c
  test/CodeGenCXX/cfi-cross-dso.cpp
  test/Driver/fsanitize.c
  test/Driver/sanitizer-ld.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15367.42261.patch
Type: text/x-patch
Size: 20915 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151209/88d736ab/attachment-0001.bin>


More information about the cfe-commits mailing list