Rollup of 3 pull requests - #161979
Conversation
Storing the TLS entry destructor as an `AtomicUsize` loses the pointer provenance and makes miri cry :'(
Co-authored-by: Guillaume Gomez <contact@guillaume-gomez.fr>
…lkertdev Add MSA and `f16` inline ASM support for MIPS This PR adds vector register support for MIPS inline ASM when using the MSA extension ([MSA specification](https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MD00868-1D-MSA64-AFP-01.12.pdf)), as well as adding support for the `f16` type. Ping target maintainers of MIPS targets: @Itus-Shield @Gelbpunkt @ayrtonm @LukasWoodtli @wzssyqa @chenx97 @709924470 @Cyanoxygen @Fearyncess Tracking issues: `f16` inline ASM: rust-lang#125398 (part of rust-lang#116909) MIPS inline ASM: rust-lang#93335 MIPS target features: rust-lang#150253
…enance, r=clarfonthey std::sys::sgx::tls: fix TLS destructor pointer provenance Storing the TLS entry destructor as an `AtomicUsize` loses the pointer provenance and makes miri cry :'( Instead, store an `AtomicPtr<()>`. I also find the SAFETY proof more convincing when the transmute from `*mut ()` to `Option<unsafe extern "C" fn(*mut u8)>` is exactly mirrored. https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&gist=c6da201f269c5f3115039177a43bcdd4 ``` Compiling playground v0.0.1 (/playground) Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s Running `/playground/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo-miri runner target/miri/x86_64-unknown-linux-gnu/debug/playground` error: Undefined Behavior: pointer not dereferenceable: pointer must point to some allocation, but got 0x26b51[noalloc] which is a dangling pointer (it has no provenance) --> src/tls-bad.rs:73:30 | 73 | unsafe { dtor(value) } | ^^^^^^^^^^^ Undefined Behavior occurred here | = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information = note: stack backtrace: 0: <tls::ActiveTls<'_> as std::ops::Drop>::drop at src/tls-bad.rs:73:30: 73:41 1: std::ptr::drop_glue::<tls::ActiveTls<'_>> - shim(Some(tls::ActiveTls<'_>)) at /playground/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:848:1: 850:25 2: main at src/main.rs:50:1: 50:2 note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace error: aborting due to 1 previous error ```
…sion-code, r=GuillaumeGomez Improve rustdoc macro expansion code As commented [here](rust-lang#161876 (comment)). I also set you as commit author @fmease. :p r? ghost
|
@bors r+ p=5 |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing ee4a4a6 (parent) -> bdf8733 (this PR) Test differencesShow 130 test diffsStage 1
Stage 2
(and 26 additional test diffs) Additionally, 4 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard bdf8733e4015150673f095b2725fe4c435a8daa4 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (bdf8733): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 1.1%, secondary -4.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis perf run didn't have relevant results for this metric. Binary sizeResults (primary 0.1%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 474.438s -> 474.125s (-0.07%) |
|
📌 Perf builds for each rolled up PR:
parent commit: ee4a4a6dc0 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Successful merges:
f16inline ASM support for MIPS #160851 (Add MSA andf16inline ASM support for MIPS)r? @ghost
Create a similar rollup