Author: Evgenii Stepanov Date: 2020-10-02T12:01:05-07:00 New Revision: 66cf68ed46789217a8382bb419a0bda1c4e97650
URL: https://github.com/llvm/llvm-project/commit/66cf68ed46789217a8382bb419a0bda1c4e97650 DIFF: https://github.com/llvm/llvm-project/commit/66cf68ed46789217a8382bb419a0bda1c4e97650.diff LOG: [docs] Update ControlFlowIntegrity.rst. Expand the list of targets that support cfi-icall. Add ThinLTO everywhere LTO is mentioned. AFAIK all CFI features are supported with ThinLTO. Differential Revision: https://reviews.llvm.org/D87717 Added: Modified: clang/docs/ControlFlowIntegrity.rst Removed: ################################################################################ diff --git a/clang/docs/ControlFlowIntegrity.rst b/clang/docs/ControlFlowIntegrity.rst index 03e27d3ede89..3f6b3ca6cafb 100644 --- a/clang/docs/ControlFlowIntegrity.rst +++ b/clang/docs/ControlFlowIntegrity.rst @@ -76,8 +76,8 @@ For example, you can build your program with to use all schemes except for non-virtual member function call and indirect call checking. -Remember that you have to provide ``-flto`` if at least one CFI scheme is -enabled. +Remember that you have to provide ``-flto`` or ``-flto=thin`` if at +least one CFI scheme is enabled. Trapping and Diagnostics ======================== @@ -217,7 +217,8 @@ statically linked into the program or shared library, and calls across shared library boundaries are handled as if the callee was not compiled with ``-fsanitize=cfi-icall``. -This scheme is currently only supported on the x86 and x86_64 architectures. +This scheme is currently supported on a limited set of targets: x86, +x86_64, arm, arch64 and wasm. ``-fsanitize-cfi-icall-generalize-pointers`` -------------------------------------------- @@ -368,7 +369,7 @@ Shared library support Use **-f[no-]sanitize-cfi-cross-dso** to enable the cross-DSO control flow integrity mode, which allows all CFI schemes listed above to apply across DSO boundaries. As in the regular CFI, each DSO must be -built with ``-flto``. +built with ``-flto`` or ``-flto=thin``. Normally, CFI checks will only be performed for classes that have hidden LTO visibility. With this flag enabled, the compiler will emit cross-DSO CFI _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits