| Age | Commit message (Collapse) | Author | Lines |
|
Co-authored-by: Joshua Nelson <github@jyn.dev>
|
|
Co-authored-by: Joshua Nelson <github@jyn.dev>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nilstrieb:no-merge-commits-for-you-only-bors-is-allowed-to-do-that, r=jyn514"
This reverts commit 4839886f0abe208ab8f2bb73a3076a59fe2ab60c, reversing
changes made to ce85c98575e3016cf2007d90a85be321e592aa96.
|
|
This makes it easier to see them (and makes people go owo).
|
|
|
|
|
|
This will prevent users with the pre-push hook from pushing a merge
commit.
Exceptions are added for subtree updates. These exceptions are a little
hacky and may be non-exhaustive but can be extended in the future.
|
|
|
|
docs/test: add UI test and long-form error docs for E0462
Another UI test/ docs combo.
r? ``@GuillaumeGomez``
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add LLVM KCFI support to the Rust compiler
This PR adds LLVM Kernel Control Flow Integrity (KCFI) support to the Rust compiler. It initially provides forward-edge control flow protection for operating systems kernels for Rust-compiled code only by aggregating function pointers in groups identified by their return and parameter types. (See llvm/llvm-project@cff5bef.)
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 KCFI can be enabled with -Zsanitizer=kcfi.
Thank you again, `@bjorn3,` `@eddyb,` `@nagisa,` and `@ojeda,` for all the help!
|
|
This commit adds LLVM Kernel Control Flow Integrity (KCFI) support to
the Rust compiler. It initially provides forward-edge control flow
protection for operating systems kernels for Rust-compiled code only by
aggregating function pointers in groups identified by their return and
parameter types. (See llvm/llvm-project@cff5bef.)
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 KCFI can be enabled with -Zsanitizer=kcfi.
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
|
|
deps: update cpufeatures, swap difference to dissimilar
Updating cpufeatures v0.2.1 -> v0.2.5: https://github.com/RustCrypto/utils/blob/master/cpufeatures/CHANGELOG.md#025-2022-09-04, was yanked bc of miscompile (https://github.com/RustCrypto/utils/pull/800, https://github.com/rust-lang/rust/issues/101346)
Removing difference v2.0.0
Adding dissimilar v1.0.4
Updating expect-test v1.0.1 -> v1.4.0
difference unmaintened https://rustsec.org/advisories/RUSTSEC-2020-0095.html, so replaced with https://github.com/dtolnay/dissimilar (as dependency of `expect-test`)
|
|
Rewrite LLVM's archive writer in Rust
This allows it to be used by other codegen backends.
Fixes https://github.com/bjorn3/rustc_codegen_cranelift/issues/1155
|
|
|
|
|
|
This allows it to be used by other codegen backends
|
|
|
|
|
|
|
|
update Miri
Not a huge sync, but there was a conflict and [josh](https://github.com/josh-project/josh/) seems to prefer those to be merged back ASAP.
|
|
|
|
added 3735932941, since 3735927486 was already present.
|
|
|
|
|
|
Make mir opt unused file check blessable
Makes it slightly nicer to work with.
Can't write automated test but tested locally via
```
$ touch src/test/mir-opt/random
$ x test tidy // shows failure
$ x test tidy --bless // file gone
```
r? `@jyn514`
|
|
Test tidy should not count untracked paths towards entries limit
Fixes #103951
r? `@jyn514`
|
|
|
|
|
|
|
|
|
|
Update tinystr
Tinystr has changed a ton since the old version and is much less unsafe, updated some of the dependencies that use it.
|
|
|
|
|
|
|
|
|
|
|
|
|