rust/src
Ramon de C Valle 5ad7a646a5 Add fine-grained LLVM CFI support to the Rust compiler
This commit improves the LLVM Control Flow Integrity (CFI) support in
the Rust compiler by providing forward-edge control flow protection for
Rust-compiled code only by aggregating function pointers in groups
identified by their return and parameter types.

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 identifying C char and integer type uses at the
time types are encoded (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).
2022-07-23 10:51:34 -07:00
..
bootstrap Rollup merge of #98880 - topjohnwu:macos-dylib-cross, r=jyn514 2022-07-05 23:43:32 +02:00
ci Auto merge of #98439 - ehuss:cleanup-ci-script, r=Mark-Simulacrum 2022-07-03 19:39:28 +00:00
doc Update books 2022-07-05 11:44:56 -07:00
etc Rollup merge of #95446 - notseanray:master, r=Mark-Simulacrum 2022-06-22 15:16:08 +09:00
librustdoc Rollup merge of #98256 - GuillaumeGomez:whitespace-where-clause, r=notriddle 2022-07-05 23:43:31 +02:00
llvm-project@d1ddc34c4b Update LLVM submodule 2022-06-25 09:36:03 +02:00
rustdoc-json-types rustdoc-json: Fix HRTBs for WherePredicate::BoundPredicate 2022-05-04 21:03:01 +02:00
test Add fine-grained LLVM CFI support to the Rust compiler 2022-07-23 10:51:34 -07:00
tools Add fine-grained LLVM CFI support to the Rust compiler 2022-07-23 10:51:34 -07:00
README.md
stage0.json bump stage0 compiler 2022-06-29 15:35:30 +02:00
version bump version to 1.64.0 2022-06-24 17:27:24 +02:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.