mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
![]() Add cross-language LLVM CFI support to the Rust compiler This PR adds cross-language LLVM Control Flow Integrity (CFI) support to the Rust compiler by adding the `-Zsanitizer-cfi-normalize-integers` option to be used with Clang `-fsanitize-cfi-icall-normalize-integers` for normalizing integer types (see https://reviews.llvm.org/D139395). It provides forward-edge control flow protection for C or C++ and Rust -compiled code "mixed binaries" (i.e., for when C or C++ and Rust -compiled code share the same virtual address space). For more information about LLVM CFI and cross-language LLVM CFI support for the Rust compiler, see design document in the tracking issue #89653. Cross-language LLVM CFI can be enabled with -Zsanitizer=cfi and -Zsanitizer-cfi-normalize-integers, and requires proper (i.e., non-rustc) LTO (i.e., -Clinker-plugin-lto). Thank you again, ``@bjorn3,`` ``@nikic,`` ``@samitolvanen,`` and the Rust community for all the help! |
||
---|---|---|
.. | ||
arena.rs | ||
def_path_hash_map.rs | ||
def.rs | ||
definitions.rs | ||
diagnostic_items.rs | ||
errors.rs | ||
hir_id.rs | ||
hir.rs | ||
intravisit.rs | ||
lang_items.rs | ||
lib.rs | ||
pat_util.rs | ||
stable_hash_impls.rs | ||
target.rs | ||
tests.rs | ||
weak_lang_items.rs |