Rollup of 5 pull requests - #161731
Conversation
`.pdr` holds MIPS procedure-descriptor debug data. It is not allocated, so `--gc-sections` does not collect it, but the relocations kept for it by the target's `--emit-relocs` still refer to the functions that were collected. rust-lld reports each of those as "relocation refers to a discarded section"; a hello-world picks up 70 such warnings, now that cargo no longer suppresses linker output. Nothing on the PSP reads `.pdr`, so discard it alongside the other non-loadable sections already listed. This also drops ~9% off the resulting EBOOT. Fixes overdrivenpotato/rust-psp#203 (in part)
And instead explicitly depend on the output of the `TestHelpers` step.
It doesn't seem to be used anywhere anymore.
It doesn't seem to be used anywhere anymore.
It was only used at one place.
And instead depend on the generated md doc directory path explicitly.
…l* target features
remove `box_patterns` This PR removes the old feature `box_patterns`, tracked in rust-lang#29641. As explained in rust-lang#29641 (comment), this feature will not be stabilized since `deref_patterns` (rust-lang#87121) is a better and more general version of this feature. It was not possible to remove this feature until recently since the compiler itself still depended on this feature. This was changed with rust-lang/compiler-team#984. This PR currently breaks crates that rely on box patterns using the incorrect pre-expansion feature gating (see rust-lang#154045 for more details). Therefore, this needs a crater run. Closes rust-lang#29641. Closes rust-lang#105099. Closes rust-lang#156110.
avoid overlapping const suggestions Avoid emitting the optional `const-extraction` suggestion when its **component spans** overlap, this avoids the compiler panic while still emitting the normal error and keeping the suggestion for cases where it can be generated correctly Fixes rust-lang#161213
…rcote Discard `.pdr` in the PSP linker script The `mipsel-sony-psp` target passes `--emit-relocs` and relies on `--gc-sections`. `.pdr` (MIPS procedure-descriptor debug data) is not allocated, so it survives collection, but the relocations kept for it still point at the functions that *were* collected. rust-lld reports every one of those: ``` rust-lld: relocation refers to a discarded section: .text._RNvNtNtCs1mwba6qCgei_4libm4math3log3log >>> referenced by libm-...-cgu.3.rcgu.o:(.rel.pdr+0xbfa0) in archive .../liblibm-....rlib ``` A hello-world picks up **70** of these. They were always emitted; they only became visible when cargo stopped suppressing linker output, and are now reported by the `linker_messages` lint. Reported downstream as overdrivenpotato/rust-psp#203. Nothing on the PSP reads `.pdr`, so this discards it alongside the non-loadable sections the script already drops (`.MIPS.abiflags`, `.reginfo`). Discarding `.pdr` also removes `.rel.pdr`, since `--emit-relocs` only emits relocations for sections that survive. ### Verification Building `rust-psp`'s `ci/tests` suite and running it on PPSSPP: | | before | after | | ---------------------- | ----------- | ----------- | | discarded-section warnings | 70 | **0** | | `EBOOT.PBP` size | 1,395,948 B | 1,264,396 B (−9.4%) | | test suite | 47 pass / 0 fail | 47 pass / 0 fail (`FINAL_SUCCESS`) | Since the linker script lives in the target spec, I validated the exact change by building against a patched `--print target-spec-json` copy of the target, and cross-checked it by passing an equivalent `/DISCARD/` fragment as an extra `--script` to a normal `cargo psp` build. Both give the same result. This is the target's own linker script and affects no other target. The remaining warnings in that issue have a separate cause (`EF_MIPS_CPIC`) and are handled in a follow-up PR.
…=jieyouxu Reduce dependency on implicit paths in bootstrap Minor drive-by cleanup, reducing usage of some shared directories, and replacing it with depending on explicit paths. Also found some env. vars. that I think have been unused for a long time. r? jieyouxu
…nethercote rename rust_target_features query to make it clear that these are *all* target features r? @nnethercote
|
@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 26747db (parent) -> cc05892 (this PR) Test differencesShow 120 test diffsStage 1
Stage 2
Additionally, 48 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 cc05892c8346313865afd91ca12ee1fde6d3603c --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 (cc05892): comparison URL. Overall result: ❌ regressions - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@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 -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 0.3%, secondary 13.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 471.198s -> 477.242s (1.28%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 26747db4f5 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
@rustbot label: +perf-regression-triaged |
Successful merges:
box_patterns#156749 (removebox_patterns).pdrin the PSP linker script #161484 (Discard.pdrin the PSP linker script)r? @ghost
Create a similar rollup