rust/compiler/rustc_codegen_llvm/src
bors a8f6e614f8 Auto merge of #89652 - rcvalle:rust-cfi, r=nagisa
Add LLVM CFI support to the Rust compiler

This PR adds LLVM Control Flow Integrity (CFI) support to the Rust compiler. It initially provides forward-edge control flow protection for Rust-compiled code only by aggregating function pointers in groups identified by their number of arguments.

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) will be provided in later work as part of this project by defining and using compatible type identifiers (see Type metadata in the design document in the tracking issue #89653).

LLVM CFI can be enabled with -Zsanitizer=cfi and requires LTO (i.e., -Clto).

Thank you, `@eddyb` and `@pcc,` for all the help!
2021-10-27 09:19:42 +00:00
..
back Rollup merge of #89581 - jblazquez:master, r=Mark-Simulacrum 2021-10-25 22:59:46 +02:00
coverageinfo Fix clippy lints 2021-10-01 23:17:19 +02:00
debuginfo Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser 2021-10-11 04:31:47 +00:00
llvm Auto merge of #89652 - rcvalle:rust-cfi, r=nagisa 2021-10-27 09:19:42 +00:00
abi.rs Fix clippy lints 2021-10-01 23:17:19 +02:00
allocator.rs Include debug info for the allocator shim 2021-08-31 15:24:20 -07:00
asm.rs Properly check target_features not to trigger an assertion 2021-10-26 11:02:51 +09:00
attributes.rs Enable AutoFDO. 2021-10-06 19:36:52 +00:00
base.rs Make hash_result an Option. 2021-10-20 18:29:18 +02:00
builder.rs Auto merge of #89652 - rcvalle:rust-cfi, r=nagisa 2021-10-27 09:19:42 +00:00
callee.rs add platform support details file for armv7-unknown-linux-uclibc 2021-10-06 14:33:13 +00:00
common.rs Make abi::Abi Copy and remove a *lot* of refs 2021-09-09 10:41:19 +02:00
consts.rs Fix clippy lints 2021-10-01 23:17:19 +02:00
context.rs Add LLVM CFI support to the Rust compiler 2021-10-25 16:23:01 -07:00
declare.rs Remove the decl arg from FnAbi::llvm_type 2021-08-05 10:58:55 -07:00
intrinsic.rs Add LLVM CFI support to the Rust compiler 2021-10-25 16:23:01 -07:00
lib.rs allow potential_query_instability everywhere 2021-10-15 10:58:18 +02:00
llvm_util.rs Auto merge of #89808 - tmiasko:llvm-multithreaded, r=nagisa 2021-10-25 05:28:07 +00:00
mono_item.rs Fix clippy lints 2021-10-01 23:17:19 +02:00
type_.rs Fix clippy lints 2021-10-01 23:17:19 +02:00
type_of.rs Fix clippy lints 2021-10-01 23:17:19 +02:00
va_arg.rs Fix clippy lints 2021-10-01 23:17:19 +02:00
value.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00