Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add LLVM CFI support to the Rust compiler #89652

Merged
merged 2 commits into from
Oct 27, 2021
Merged

Commits on Oct 25, 2021

  1. Add LLVM CFI support to the Rust compiler

    This commit 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 rust-lang#89653).
    
    LLVM CFI can be enabled with -Zsanitizer=cfi and requires LTO (i.e.,
    -Clto).
    rcvalle committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    5d30e93 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2021

  1. Add documentation for LLVM CFI support

    This commit adds initial documentation for LLVM Control Flow Integrity
    (CFI) support to the Rust compiler (see rust-lang#89652 and rust-lang#89653).
    rcvalle committed Oct 27, 2021
    Configuration menu
    Copy the full SHA
    c5708ca View commit details
    Browse the repository at this point in the history