rust/compiler/rustc_interface/src
Ramon de C Valle 004aa15b47 Add cross-language LLVM CFI support to the Rust compiler
This commit 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).
2023-05-03 22:41:29 +00:00
..
callbacks.rs Simplify tls::enter_context. 2023-02-09 15:25:45 +11:00
errors.rs Remove a back compat warning 2023-02-22 19:39:03 +00:00
interface.rs Improve with_source_map. 2023-03-31 15:57:25 +11:00
lib.rs Add rustc_fluent_macro to decouple fluent from rustc_macros 2023-04-18 18:56:22 +00:00
passes.rs Ensure mir_drops_elaborated_and_const_checked when requiring codegen. 2023-04-21 16:14:43 +00:00
proc_macro_decls.rs rustc: Remove unused Session argument from some attribute functions 2023-03-22 13:55:55 +04:00
queries.rs Add a usize-indexed append-only-vec 2023-04-04 09:01:44 +00:00
tests.rs Add cross-language LLVM CFI support to the Rust compiler 2023-05-03 22:41:29 +00:00
util.rs Rollup merge of #108480 - Zoxc:rayon-tlv, r=cuviper 2023-03-28 12:51:12 +02:00