Skip to content

Rollup of 5 pull requests#158650

Closed
JonathanBrouwer wants to merge 16 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-NhdSh8W
Closed

Rollup of 5 pull requests#158650
JonathanBrouwer wants to merge 16 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-NhdSh8W

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

Kobzol and others added 16 commits June 29, 2026 12:12
Fixes test failures on {aarch64*-none, armv7r-eabihf, thumbv7em-eabi*} targets which
have panic=abort by default
…nstantiate_identity().skip_norm_wip().def_id
The starting point of this commit is that `ModuleData`, `ImportData`,
and `DeclData` are all interned, and don't need to be `Clone`.

Then there are various types nestled within these types that also don't
need to be `Clone`.
Three of the four public allocation functions in `DroplessArena` check
that the allocated type doesn't implement `Drop`: `alloc`,
`alloc_slice`, `alloc_from_iter`. This commit adds the missing check to
`try_alloc_from_iter`.

It also moves and reorders some lines in `alloc_from_iter` for
consistency with the other methods.
…, r=bjorn3

Fix debuginfo compression in bootstrap

Found through https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/weird.20code.20in.20fill_target_compiler/with/604588655.

This PR solves a few issues with debuginfo compression in bootstrap.

The main issue was that debuginfo compression through the `-gz` flag wasn't enabled, by mistake.

When `cc-rs` checks if a compiler flag is supported, it tries to read `out_dir` to generate the source file in. However, when this option is not set, then the check silently fails and the flag is considered to be unsupported. Since we didn't set `out_dir`, all such added flags were simply ignored.

Normally, it reads `OUT_DIR`, which is fine if `cc-rs` is used within a build script. But if it is used elsewhere, then this is a pretty gnarly footgun in `cc-rs`, because the failure is [completely silent](https://github.com/rust-lang/cc-rs/blob/main/src/lib.rs#L1483).  CC @madsmtm or @NobodyXu in case you have thoughts on that :)

After that was fixed, I had to change the used compression flag from `-gz` to `--compress-debug-sections`, to support both BFD and LLD linkers.

And to solve it properly, and allow `dist` CI jobs to configure debuginfo compression for all targets that they build, I added a new bootstrap option to configure debuginfo compression.

I wanted the flag to be configurable both globally and per target. At the same time, the flag applies both to C/C++ and Rust. We currently don't have such config area in `bootstrap.toml`, and `[build]` didn't seem like the right place, so I shoved it into `[rust]` (while documenting that it also applies to C/C++).

r? @bjorn3

try-job: dist-x86_64-msvc
try-job: dist-x86_64-apple
try-job: dist-x86_64-linux
…est, r=joboet

Fix getrandom fallback test on platforms with `panic=abort`

The recently-added linux-getrandom-fallback test fails on targets matching {aarch64*-none, armv7r-eabihf, thumbv7em-eabi*}. This is because those platforms set `panic=abort` by default, and the test relies on being able to catch a panic.

Mark the test as `needs-unwind` so that it won't be run in `panic=abort` configurations.

Also add extra debug information to the panic when getrandom() fails with an unexpected error code on Linux
…nder-def-id, r=lcnr

Remove skip_norm_w/i/p().def_id with a helper

part of rust-lang#155345

r? @lcnr
…rochenkov

Remove unnecessary `Clone` derives on resolver types

The starting point of this commit is that `ModuleData`, `ImportData`, and `DeclData` are all interned, and don't need to be `Clone`.

Then there are various types nestled within these types that also don't need to be `Clone`.

r? @petrochenkov
…, r=Nadrieril

Add missing `needs_drop` check to `DroplessArena`.

Three of the four public allocation functions in `DroplessArena` check that the allocated type doesn't implement `Drop`: `alloc`, `alloc_slice`, `alloc_from_iter`. This commit adds the missing check to `try_alloc_from_iter`.

It also moves and reorders some lines in `alloc_from_iter` for consistency with the other methods.

r? @Nadrieril
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 1, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jul 1, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1,i686-msvc-2

@rust-bors

rust-bors Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 97e1aa7 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 1, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 1, 2026
Rollup of 5 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
try-job: i686-msvc-2
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 1, 2026
…uwer

Rollup of 5 pull requests

Successful merges:

 - #158169 (Fix debuginfo compression in bootstrap)
 - #158613 (Fix getrandom fallback test on platforms with `panic=abort`)
 - #158620 (Remove skip_norm_w/i/p().def_id with a helper)
 - #158633 (Remove unnecessary `Clone` derives on resolver types)
 - #158634 (Add missing `needs_drop` check to `DroplessArena`.)
@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jul 1, 2026
@rust-bors

rust-bors Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 05c997d failed: CI. Failed job:

@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 1, 2026
@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 1, 2026
@rust-bors

rust-bors Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling cc v1.2.16
   Compiling serde v1.0.217
error: linking with `cc` failed: exit status: 71
  |
  = note:  "cc" "/Users/runner/work/rust/rust/src/ci/citool/../../../build/citool/debug/build/proc-macro2-1c3cd28e752c80e3/rustcvJzgYO/symbols.o" "<3 object files omitted>" "<sysroot>/lib/rustlib/aarch64-apple-darwin/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-lSystem" "-lc" "-lm" "-arch" "arm64" "-mmacosx-version-min=11.0.0" "-o" "/Users/runner/work/rust/rust/src/ci/citool/../../../build/citool/debug/build/proc-macro2-1c3cd28e752c80e3/build_script_build-1c3cd28e752c80e3" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: cc: error: unable to locate xcodebuild, please make sure the path to the Xcode folder is set correctly!
          cc: error: You can set the path to the Xcode folder using /usr/bin/xcode-select -switch
          

error: could not compile `proc-macro2` (build script) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit status: 71
  |
  = note:  "cc" "/Users/runner/work/rust/rust/src/ci/citool/../../../build/citool/debug/build/serde-1c0b0051c2b9415c/rustctUAQbH/symbols.o" "<2 object files omitted>" "<sysroot>/lib/rustlib/aarch64-apple-darwin/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-lSystem" "-lc" "-lm" "-arch" "arm64" "-mmacosx-version-min=11.0.0" "-o" "/Users/runner/work/rust/rust/src/ci/citool/../../../build/citool/debug/build/serde-1c0b0051c2b9415c/build_script_build-1c0b0051c2b9415c" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: cc: error: unable to locate xcodebuild, please make sure the path to the Xcode folder is set correctly!
          cc: error: You can set the path to the Xcode folder using /usr/bin/xcode-select -switch
          

error: could not compile `serde` (build script) due to 1 previous error
##[error]Process completed with exit code 101.
##[group]Run echo "disk usage:"

@rust-bors

rust-bors Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: dbadbef (dbadbef7bd87c59417e60e4075e0156d3653e6e6)
Base parent: 7c5dac9 (7c5dac9c7476a30e09a5aa87b4df2c5663fe7734)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants