Skip to content

Conversation

@dianqk
Copy link
Member

@dianqk dianqk commented Jun 28, 2025

Fixes #140686, fixes #141913, fixes #142752, fixes #143399.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 28, 2025
@dianqk
Copy link
Member Author

dianqk commented Jun 28, 2025

I'm currently unable to access my Mac.

@bors2 try jobs=x86_apple*,aarch64-apple

@rust-bors

This comment was marked as outdated.

rust-bors bot added a commit that referenced this pull request Jun 28, 2025
Add a regression test for ld64

We might want a test case.

r? ghost
try-job: x86_apple*
try-job: aarch64-apple
Comment on lines +5 to +7
// This is a regression test for https://github.com/rust-lang/rust/issues/140686.
// Although this is a ld64(ld-classic) bug, we still need to support it
// due to cross-compilation and support for older Xcode.
Copy link
Member

@jieyouxu jieyouxu Jun 28, 2025

Choose a reason for hiding this comment

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

Question: do we know if ld-classic will ever be removed in newer Xcode versions?

(EDIT: actually probably nevermind, we'll then either drop this test and/or need to bump our min baseline versions anyway.)

Copy link
Member Author

Choose a reason for hiding this comment

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

Nobody knows. Even after removing it, we might still need a long time to get rid of the test. :(

Copy link
Member Author

Choose a reason for hiding this comment

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

Perhaps we could wait for new updates from Apple first, such as a fix for the ld64 bug, or the release of new linker source code.

Copy link
Member

Choose a reason for hiding this comment

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

Oh for the test I'm not too worried even if somehow say a macos image bumps the xcode version and then this test blocks full CI, in that situation this test can be disabled or removed easily.

I was just musing if ld-classic might be gone.

@rust-bors

This comment was marked as outdated.

@dianqk

This comment was marked as outdated.

@rust-bors

This comment was marked as outdated.

rust-bors bot added a commit that referenced this pull request Jun 28, 2025
Add a regression test for ld64

We might want a test case.

r? ghost
try-job: x86_64-apple*
try-job: aarch64-apple
@rust-log-analyzer

This comment has been minimized.

@rust-bors

This comment was marked as outdated.

@dianqk

This comment was marked as outdated.

@rust-bors

This comment was marked as outdated.

rust-bors bot added a commit that referenced this pull request Jun 28, 2025
Add a regression test for ld64

We might want a test case.

r? ghost
try-job: x86_64-apple*
try-job: aarch64-apple
@rust-bors

This comment was marked as outdated.

@dianqk

This comment was marked as outdated.

@rust-bors

This comment was marked as outdated.

rust-bors bot added a commit that referenced this pull request Jun 29, 2025
Add a regression test for ld64

We might want a test case.

r? ghost
try-job: x86_64-apple*
@rust-bors

This comment was marked as outdated.

@dianqk

This comment was marked as resolved.

@dianqk
Copy link
Member Author

dianqk commented Jun 30, 2025

@bors2 try jobs=x86_64-apple-2

@rust-bors
Copy link

rust-bors bot commented Jun 30, 2025

⌛ Trying commit 1e974cd with merge dfeb438

To cancel the try build, run the command @bors2 try cancel.

rust-bors bot added a commit that referenced this pull request Jun 30, 2025
Add a regression test for ld64

We might want a test case.

r? ghost
try-job: x86_64-apple-2
@rust-bors
Copy link

rust-bors bot commented Jun 30, 2025

💔 Test failed

@bors bors 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 5, 2025
@bors
Copy link
Collaborator

bors commented Jul 6, 2025

⌛ Testing commit 1339b90 with merge 75d5834...

@bors
Copy link
Collaborator

bors commented Jul 6, 2025

☀️ Test successful - checks-actions
Approved by: nikic
Pushing 75d5834 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 6, 2025
@bors bors merged commit 75d5834 into rust-lang:master Jul 6, 2025
14 of 23 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 6, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Jul 6, 2025

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 5adb489 (parent) -> 75d5834 (this PR)

Test differences

Show 5 test diffs

Stage 1

  • [ui] tests/ui/darwin-ld64.rs: [missing] -> ignore (only executed when the target is x86_64-apple-darwin) (J0)

Stage 2

  • [ui] tests/ui/darwin-ld64.rs: [missing] -> pass (J1)
  • [ui] tests/ui/darwin-ld64.rs: [missing] -> ignore (only executed when the target is x86_64-apple-darwin) (J2)
  • [run-make] tests/run-make/compressed-debuginfo-zstd: pass -> ignore (ignored if LLVM wasn't build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support)) (J3)

Additionally, 1 doctest diff were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 75d5834a6c571cb0455acb5128ad51118fcbf2be --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. aarch64-apple: 4255.6s -> 9092.6s (113.7%)
  2. x86_64-apple-2: 3788.5s -> 7679.9s (102.7%)
  3. x86_64-apple-1: 6130.4s -> 10384.9s (69.4%)
  4. dist-aarch64-linux: 5427.7s -> 8145.4s (50.1%)
  5. pr-check-1: 1658.7s -> 2327.7s (40.3%)
  6. x86_64-rust-for-linux: 2822.6s -> 3892.2s (37.9%)
  7. pr-check-2: 1958.9s -> 2670.2s (36.3%)
  8. x86_64-gnu-tools: 3600.8s -> 4749.1s (31.9%)
  9. armhf-gnu: 5029.7s -> 6487.3s (29.0%)
  10. x86_64-gnu-nopt: 6857.6s -> 8720.1s (27.2%)
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.

@dianqk dianqk deleted the update-llvm branch July 6, 2025 05:26
@nikic nikic added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 6, 2025
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (75d5834): comparison URL.

Overall result: no relevant changes - BENCHMARK(S) FAILED

@rustbot label: -perf-regression

❗ ❗ ❗ ❗ ❗
Warning ⚠️: The following benchmark(s) failed to build:

  • rustc

❗ ❗ ❗ ❗ ❗

cc @rust-lang/wg-compiler-performance

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -1.3%)

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)
- - 0
Improvements ✅
(primary)
-1.3% [-1.3%, -1.3%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.3% [-1.3%, -1.3%] 1

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 460.95s -> 162.322s (-64.79%)
Artifact size: 372.07 MiB -> 372.06 MiB (-0.00%)

@Kobzol
Copy link
Member

Kobzol commented Jul 6, 2025

Hmm, I wonder what happened here. Some CI jobs were much slower, but that's expected, as they now had to build LLVM. But there were also a few test changes, which is a bit weird, not sure if that's just an artifact of us building LLVM on CI.

And the bootstrap benchmark has also time-outed. I wonder if it was unable to use download-ci-llvm for some reason 🤔 Sadly we don't currently log its output, I'll change that. We'll see what happens in the benchmark of the next master merge.

@nikic
Copy link
Contributor

nikic commented Jul 6, 2025

@Kobzol The compressed-debuginfo-zstd test change always happens on LLVM updates due to a difference in configuration between CI LLVM (has zstd) and that test runner (doesn't have zstd).

@PaulDance
Copy link
Contributor

I see that this is already beta-nominated and so will follow due process, but I just wanted to say it would be nice if this was indeed backported to beta in order to avoid having to wait for 1.90 since 1.86.

@jieyouxu jieyouxu removed the T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) label Jul 7, 2025
@apiraino
Copy link
Contributor

Beta backport accepted as per compiler team on Zulip. A backport PR will be authored by the release team at the end of the current development cycle. Backport labels handled by them.

@rustbot label +beta-accepted

@rustbot rustbot added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 10, 2025
@cuviper cuviper mentioned this pull request Jul 10, 2025
@cuviper cuviper modified the milestones: 1.90.0, 1.89.0 Jul 10, 2025
@cuviper cuviper removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 10, 2025
bors added a commit that referenced this pull request Jul 11, 2025
[beta] backports

- Beta backport: null terminate UNICODE_STRINGs #143275
- Fix hang in --print=file-names in bootstrap #142928
- Reduce mismatched-lifetime-syntaxes suggestions to MaybeIncorrect #142980
- Update LLVM submodule #143126
- Do not unify borrowed locals in CopyProp. #143509
- Disable docs for `compiler-builtins` and `sysroot` #143660
- Update version placeholders in stdarch rust-lang/stdarch#1840

r? cuviper
@lqd
Copy link
Member

lqd commented Jul 19, 2025

Since this PR also fixed issue #144163 that was encountered on stable, for due diligence we can nominate it for a backport as well, but only if there's going to be a point release (imho):

If there's a release, it'll be good to have this in, and if there's no release, it's also fine.

@rustbot label +stable-nominated

@rustbot rustbot added the stable-nominated Nominated for backporting to the compiler in the stable channel. label Jul 19, 2025
@lqd
Copy link
Member

lqd commented Jul 19, 2025

Unfortunately, @nikic reminded us that this backport would likely not be doable, because it depends on previous LLVM bumps that are not present in 1.88.

Therefore, un-nominating because there's no need to discuss. Sorry for the noise 🙏.

@rustbot label -stable-nominated

@rustbot rustbot removed the stable-nominated Nominated for backporting to the compiler in the stable channel. label Jul 19, 2025
bgw added a commit to vercel/next.js that referenced this pull request Oct 7, 2025
… macos intel (#84578)

Reverts #81950

This bug was fixed a few months ago upstream in rustc with rust-lang/rust#143126

We worked around this by patching the hyper crate since updating rustc was too risky to do in a patch release. We've since upgraded our toolchain.
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. beta-accepted Accepted for backporting to the compiler in the beta channel. merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet