mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-26 07:01:05 +00:00
[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
This commit is contained in:
parent
322519ee12
commit
66cf68ed46
@ -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
|
to use all schemes except for non-virtual member function call and indirect call
|
||||||
checking.
|
checking.
|
||||||
|
|
||||||
Remember that you have to provide ``-flto`` if at least one CFI scheme is
|
Remember that you have to provide ``-flto`` or ``-flto=thin`` if at
|
||||||
enabled.
|
least one CFI scheme is enabled.
|
||||||
|
|
||||||
Trapping and Diagnostics
|
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
|
shared library boundaries are handled as if the callee was not compiled with
|
||||||
``-fsanitize=cfi-icall``.
|
``-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``
|
``-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
|
Use **-f[no-]sanitize-cfi-cross-dso** to enable the cross-DSO control
|
||||||
flow integrity mode, which allows all CFI schemes listed above to
|
flow integrity mode, which allows all CFI schemes listed above to
|
||||||
apply across DSO boundaries. As in the regular CFI, each DSO must be
|
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
|
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
|
visibility. With this flag enabled, the compiler will emit cross-DSO CFI
|
||||||
|
Loading…
Reference in New Issue
Block a user