Skip to content

Upgrade and deduplicate dependencies - #160529

Merged
rust-bors[bot] merged 2 commits into
rust-lang:mainfrom
cuviper:deps
Aug 16, 2026
Merged

Upgrade and deduplicate dependencies#160529
rust-bors[bot] merged 2 commits into
rust-lang:mainfrom
cuviper:deps

Conversation

@cuviper

@cuviper cuviper commented Aug 4, 2026

Copy link
Copy Markdown
Member

View all comments

  • Upgrade from getrandom v0.4.2 to v0.4.3 to drop its wasip2 and
    wasip3 dependencies and many transitives.
  • Upgrade from gimli v0.33 to v0.34 as a direct dependency and
    through a thorin-dwp upgrade.
  • Upgrade from object v0.37 and v0.38 to v0.39 as a direct
    dependency and via ar_archive_writer and thorin-dwp upgrades.
  • Upgrade libloading and wasmparser to match other dependencies.

This also consolidates from hashbrown v0.15, v0.16, and v0.17 to
just v0.17.1, which is the same that std currently uses.

@rustbot

rustbot commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

The run-make-support library was changed

cc @jieyouxu

The list of allowed third-party dependencies may have been modified! You must ensure that any new dependencies have compatible licenses before merging.

cc @davidtwco, @BoxyUwU

rustc_codegen_gcc is developed in its own repository. If possible, consider making this change to rust-lang/rustc_codegen_gcc instead.

cc @antoyo, @GuillaumeGomez

These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-tidy Area: The tidy tool 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. labels Aug 4, 2026
@rustbot

rustbot commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @Mark-Simulacrum

@rust-bors

This comment has been minimized.

@rustbot

This comment has been minimized.

@Mark-Simulacrum Mark-Simulacrum left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// which the loader uses to find the library.
stub.write_align_dynamic();
stub.write_dynamic_string(elf::DT_SONAME, soname);
stub.write_dynamic_string(elf::DT_SONAME, soname).unwrap();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the failures here are:

Returns an error for 32-bit ELF overflows.

(https://docs.rs/object/latest/object/write/elf/struct.Encoder.html#method.dynamic)

Not sure if those can happen for user reasons, but I guess either way this is just an ICE so seems OK.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DT_ tags are definitely in u32 range. If this soname offset or verdef_count are out of range, the whole file is probably too big for 32-bit. Either way, the old version of object just casted as u32, which would be silent corruption, so I guess an ICE is better.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And you did have to somehow manage to pass just under 4GB of symbol names to rustc to hit this overflow AFAICT. The source map is limited to 4GB across all source files of the local crate and dependencies combined. So the only possible way to get 4GB of symbol names is using macros. And you can only hit this limit if you write an incorrect raw-dylib block anyway as real dynamic libraries would hit the same limit too when trying to link them and thus there would never be a real dynamic library that an accurate raw-dylib block could possibly bind to.

@rust-bors

rust-bors Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 952c254 has been approved by Mark-Simulacrum

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 Aug 8, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 9, 2026
Upgrade and deduplicate dependencies

- Upgrade from `getrandom v0.4.2` to `v0.4.3` to drop its `wasip2` and
  `wasip3` dependencies and many transitives.
- Upgrade from `gimli v0.33` to `v0.34` as a direct dependency and
  through a `thorin-dwp` upgrade.
- Upgrade from `object v0.37` and `v0.38` to `v0.39` as a direct
  dependency and via `ar_archive_writer` and `thorin-dwp` upgrades.
- Upgrade `libloading` and `wasmparser` to match other dependencies.

This also consolidates from `hashbrown v0.15`, `v0.16`, and `v0.17` to
just `v0.17.1`, which is the same that `std` currently uses.
rust-bors Bot pushed a commit that referenced this pull request Aug 9, 2026
Rollup of 6 pull requests

Successful merges:

 - #160529 (Upgrade and deduplicate dependencies)
 - #158517 (Initial implementation of named `Fn` trait parameters)
 - #158587 (check if len of array const arg matches the expected len of the type when lowering to valtree)
 - #160748 (Add regression test for cross-crate assoc const private field leak in rustdoc)
 - #160708 (remove old update mechanism)
 - #160768 (Fix autodiff_illegal.rs test)
@jhpratt

This comment was marked as resolved.

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 9, 2026
@rust-bors

rust-bors Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

This PR was contained in a rollup (#160786), which was unapproved.

View changes since this unapproval

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 9, 2026
Upgrade and deduplicate dependencies


try-job: test-various
@rust-bors

rust-bors Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 38e3081 failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@rustbot

This comment has been minimized.

@cuviper

cuviper commented Aug 9, 2026

Copy link
Copy Markdown
Member Author

@bors try jobs=test-various

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 16, 2026
Upgrade and deduplicate dependencies

- Upgrade from `getrandom v0.4.2` to `v0.4.3` to drop its `wasip2` and
  `wasip3` dependencies and many transitives.
- Upgrade from `gimli v0.33` to `v0.34` as a direct dependency and
  through a `thorin-dwp` upgrade.
- Upgrade from `object v0.37` and `v0.38` to `v0.39` as a direct
  dependency and via `ar_archive_writer` and `thorin-dwp` upgrades.
- Upgrade `libloading` and `wasmparser` to match other dependencies.

This also consolidates from `hashbrown v0.15`, `v0.16`, and `v0.17` to
just `v0.17.1`, which is the same that `std` currently uses.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 16, 2026
Upgrade and deduplicate dependencies

- Upgrade from `getrandom v0.4.2` to `v0.4.3` to drop its `wasip2` and
  `wasip3` dependencies and many transitives.
- Upgrade from `gimli v0.33` to `v0.34` as a direct dependency and
  through a `thorin-dwp` upgrade.
- Upgrade from `object v0.37` and `v0.38` to `v0.39` as a direct
  dependency and via `ar_archive_writer` and `thorin-dwp` upgrades.
- Upgrade `libloading` and `wasmparser` to match other dependencies.

This also consolidates from `hashbrown v0.15`, `v0.16`, and `v0.17` to
just `v0.17.1`, which is the same that `std` currently uses.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Aug 16, 2026
Upgrade and deduplicate dependencies

- Upgrade from `getrandom v0.4.2` to `v0.4.3` to drop its `wasip2` and
  `wasip3` dependencies and many transitives.
- Upgrade from `gimli v0.33` to `v0.34` as a direct dependency and
  through a `thorin-dwp` upgrade.
- Upgrade from `object v0.37` and `v0.38` to `v0.39` as a direct
  dependency and via `ar_archive_writer` and `thorin-dwp` upgrades.
- Upgrade `libloading` and `wasmparser` to match other dependencies.

This also consolidates from `hashbrown v0.15`, `v0.16`, and `v0.17` to
just `v0.17.1`, which is the same that `std` currently uses.
rust-bors Bot pushed a commit that referenced this pull request Aug 16, 2026
Rollup of 12 pull requests

Successful merges:

 - #160529 (Upgrade and deduplicate dependencies)
 - #161017 (Library: enforce clippy deref lints in CI)
 - #156674 (bootstrap: add bootstrap step to run stdarch-gen checks in CI)
 - #161006 ([CI] Build newer `binutils` before building `gcc`)
 - #161141 (Add documentation for BPF targets)
 - #161157 (bootstrap: Move several items out of the crate root)
 - #161053 (Add regression test for borrow of array drop type in const)
 - #161073 (Add regression test for path printing with infinitely many visible names)
 - #161099 (Add regression test for unstable def_ident_span fingerprint with incremental recompilation)
 - #161146 (Switch to c8a EC2 runner for auto merges)
 - #161148 ([rustdoc] Put back one removed flaky GUI test (which hopefully isn't flaky anymore))
 - #161150 (add crashtests [4/N])
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 16, 2026
Upgrade and deduplicate dependencies

- Upgrade from `getrandom v0.4.2` to `v0.4.3` to drop its `wasip2` and
  `wasip3` dependencies and many transitives.
- Upgrade from `gimli v0.33` to `v0.34` as a direct dependency and
  through a `thorin-dwp` upgrade.
- Upgrade from `object v0.37` and `v0.38` to `v0.39` as a direct
  dependency and via `ar_archive_writer` and `thorin-dwp` upgrades.
- Upgrade `libloading` and `wasmparser` to match other dependencies.

This also consolidates from `hashbrown v0.15`, `v0.16`, and `v0.17` to
just `v0.17.1`, which is the same that `std` currently uses.
rust-bors Bot pushed a commit that referenced this pull request Aug 16, 2026
…uwer

Rollup of 12 pull requests

Successful merges:

 - #160529 (Upgrade and deduplicate dependencies)
 - #161017 (Library: enforce clippy deref lints in CI)
 - #156674 (bootstrap: add bootstrap step to run stdarch-gen checks in CI)
 - #161006 ([CI] Build newer `binutils` before building `gcc`)
 - #161141 (Add documentation for BPF targets)
 - #161157 (bootstrap: Move several items out of the crate root)
 - #161053 (Add regression test for borrow of array drop type in const)
 - #161073 (Add regression test for path printing with infinitely many visible names)
 - #161099 (Add regression test for unstable def_ident_span fingerprint with incremental recompilation)
 - #161103 (cleanup: rip out unnecessary `iter().last()` and `iter().next()`)
 - #161146 (Switch to c8a EC2 runner for auto merges)
 - #161148 ([rustdoc] Put back one removed flaky GUI test (which hopefully isn't flaky anymore))
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 16, 2026
Upgrade and deduplicate dependencies

- Upgrade from `getrandom v0.4.2` to `v0.4.3` to drop its `wasip2` and
  `wasip3` dependencies and many transitives.
- Upgrade from `gimli v0.33` to `v0.34` as a direct dependency and
  through a `thorin-dwp` upgrade.
- Upgrade from `object v0.37` and `v0.38` to `v0.39` as a direct
  dependency and via `ar_archive_writer` and `thorin-dwp` upgrades.
- Upgrade `libloading` and `wasmparser` to match other dependencies.

This also consolidates from `hashbrown v0.15`, `v0.16`, and `v0.17` to
just `v0.17.1`, which is the same that `std` currently uses.
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 16, 2026
Upgrade and deduplicate dependencies



- Upgrade from `getrandom v0.4.2` to `v0.4.3` to drop its `wasip2` and
  `wasip3` dependencies and many transitives.
- Upgrade from `gimli v0.33` to `v0.34` as a direct dependency and
  through a `thorin-dwp` upgrade.
- Upgrade from `object v0.37` and `v0.38` to `v0.39` as a direct
  dependency and via `ar_archive_writer` and `thorin-dwp` upgrades.
- Upgrade `libloading` and `wasmparser` to match other dependencies.

This also consolidates from `hashbrown v0.15`, `v0.16`, and `v0.17` to
just `v0.17.1`, which is the same that `std` currently uses.
@JonathanBrouwer

Copy link
Copy Markdown
Member

@bors yield
Yielding to enclosing rollup

@rust-bors

rust-bors Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Auto build was cancelled. Cancelled workflows:

The next pull request likely to be tested is #161188.

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

Rollup of 17 pull requests

Successful merges:

 - #160529 (Upgrade and deduplicate dependencies)
 - #161017 (Library: enforce clippy deref lints in CI)
 - #160416 (std: fix unix socket address truncation without a trailing NUL)
 - #161006 ([CI] Build newer `binutils` before building `gcc`)
 - #161141 (Add documentation for BPF targets)
 - #161157 (bootstrap: Move several items out of the crate root)
 - #161185 (std: guard against unwinds in queue-based `Once`)
 - #161186 (miri subtree update)
 - #159855 (std: retry waitid on EINTR in the pidfd wait path)
 - #161053 (Add regression test for borrow of array drop type in const)
 - #161073 (Add regression test for path printing with infinitely many visible names)
 - #161099 (Add regression test for unstable def_ident_span fingerprint with incremental recompilation)
 - #161103 (cleanup: rip out unnecessary `iter().last()` and `iter().next()`)
 - #161136 (Add BPF test for Rust ABI stack arguments)
 - #161146 (Switch to c8a EC2 runner for auto merges)
 - #161148 ([rustdoc] Put back one removed flaky GUI test (which hopefully isn't flaky anymore))
 - #161181 (Add back flaky gui rustdoc test `tests/rustdoc-gui/headers-color.goml`)
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 16, 2026
@rust-bors

rust-bors Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: Mark-Simulacrum
Duration: 3h 10m 45s
Pushing 34baba5 to main...

@rust-bors
rust-bors Bot merged commit 34baba5 into rust-lang:main Aug 16, 2026
14 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Aug 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor
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 bf063f1 (parent) -> 34baba5 (this PR)

Test differences

Show 2 test diffs

2 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 34baba5394fcbda4cba7b7c1964a6db421c77c91 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. i686-gnu-nopt-2: 1h 15m -> 2h 14m (+77.3%)
  2. x86_64-gnu-llvm-21-1: 34m 40s -> 50m 45s (+46.4%)
  3. dist-x86_64-linux-alt: 1h 46m -> 2h 21m (+32.3%)
  4. pr-check-1: 28m 59s -> 20m 35s (-29.0%)
  5. tidy: 1m 49s -> 2m 19s (+27.8%)
  6. dist-x86_64-netbsd: 1h 8m -> 1h 27m (+27.8%)
  7. x86_64-msvc-ext3: 1h 42m -> 1h 15m (-26.0%)
  8. aarch64-apple-2: 1h 37m -> 2h 3m (+26.0%)
  9. dist-x86_64-musl: 1h 46m -> 2h 13m (+25.6%)
  10. pr-check-2: 27m 58s -> 21m (-24.9%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (34baba5): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.7% [-0.8%, -0.5%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -1.0%, secondary -1.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.3% [4.3%, 4.3%] 1
Improvements ✅
(primary)
-1.0% [-1.2%, -0.8%] 2
Improvements ✅
(secondary)
-1.8% [-2.6%, -0.7%] 6
All ❌✅ (primary) -1.0% [-1.2%, -0.8%] 2

Cycles

Results (secondary 6.6%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
13.9% [5.1%, 43.4%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-5.5% [-11.0%, -2.3%] 3
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 457.048s -> 455.832s (-0.27%)
Artifact size: 397.52 MiB -> 399.69 MiB (0.55%)

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

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants