Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't try to auto-bless 32-bit mir-opt tests on ARM Mac hosts #112753

Merged
merged 1 commit into from
Jun 19, 2023

Conversation

Zalathar
Copy link
Contributor

#112418 added special support for automatically blessing 32-bit output on 64-bit hosts, for the subset of mir-opt tests that are pointer-width-dependent.

This relies on the 64-bit host having some corresponding 32-bit target that can be built “easily”. For most 64-bit hosts this is fine, but ARM Macs don't have a corresponding 32-bit target. (There have never been 32-bit ARM Macs, and ARM Macs don't have the libraries needed for building i686-apple-darwin.)

There is an entry for ("i686-apple-darwin", "aarch64-apple-darwin") in the list of corresponding 32-bit platforms, but this doesn't actually work on ARM Macs. Instead, the bootstrap invocation fails to build the necessary 32-bit target support, and nothing gets tested or blessed.

According to this Zulip thread, that mapping was only added because the author assumed it would work. But since it doesn't actually work on ARM Macs, the solution is to just remove that mapping.

With the mapping removed, ARM Macs still can't auto-bless 32-bit output (they will see a warning instead), but at least they can now bless the output of mir-opt tests that don't care about pointer width.

Blessing 32-bit tests on 64-bit hosts relies on having a corresponding 32-bit
target that can be built "easily" on those hosts.

ARM Macs don't have a corresponding 32-bit target, so trying to build one is
usually going to fail.
@rustbot
Copy link
Collaborator

rustbot commented Jun 18, 2023

r? @clubby789

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added 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) labels Jun 18, 2023
@Zalathar
Copy link
Contributor Author

(There are various other improvements that could be made to the auto-bless machinery, but this is just a small targeted fix to make x test mir-opt --bless work again on ARM Macs.)

@clubby789
Copy link
Contributor

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jun 18, 2023

📌 Commit b198589 has been approved by clubby789

It is now in the queue for this repository.

@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 Jun 18, 2023
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 18, 2023
Don't try to auto-bless 32-bit `mir-opt` tests on ARM Mac hosts

rust-lang#112418 added special support for automatically blessing 32-bit output on 64-bit hosts, for the subset of `mir-opt` tests that are pointer-width-dependent.

This relies on the 64-bit host having some corresponding 32-bit target that can be built “easily”. For most 64-bit hosts this is fine, but ARM Macs don't have a corresponding 32-bit target. (There have never been 32-bit ARM Macs, and ARM Macs don't have the libraries needed for building `i686-apple-darwin`.)

There is an entry for `("i686-apple-darwin", "aarch64-apple-darwin")` in the list of corresponding 32-bit platforms, but this doesn't actually work on ARM Macs. Instead, the bootstrap invocation fails to build the necessary 32-bit target support, and nothing gets tested or blessed.

According to [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Can't.20bless.20any.20mir-opt.20tests.20on.20aarch64.20Mac/near/367109789), that mapping was only added because the author assumed it would work. But since it doesn't actually work on ARM Macs, the solution is to just remove that mapping.

With the mapping removed, ARM Macs still can't auto-bless 32-bit output (they will see a warning instead), but at least they can now bless the output of `mir-opt` tests that don't care about pointer width.
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 18, 2023
…mpiler-errors

Rollup of 6 pull requests

Successful merges:

 - rust-lang#112537 (Don't record adjustments twice in `note_source_of_type_mismatch_constraint`)
 - rust-lang#112663 (cleanup azure leftovers)
 - rust-lang#112668 (Test `x.ps1` in `msvc` CI job)
 - rust-lang#112710 (Re-use the deref-pattern recursion instead of duplicating the logic)
 - rust-lang#112753 (Don't try to auto-bless 32-bit `mir-opt` tests on ARM Mac hosts)
 - rust-lang#112758 (refactor(resolve): delete update_resolution function)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit d70be67 into rust-lang:master Jun 19, 2023
@rustbot rustbot added this to the 1.72.0 milestone Jun 19, 2023
@Zalathar Zalathar deleted the no-bless branch June 19, 2023 01:18
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Nov 21, 2023
…rwin, r=albertlarsan68

Remove i686-apple-darwin cross-testing

The Xcode SDK no longer ships with 32-bit Intel (i686-apple-darwin) support as of [Xcode 14](https://developer.apple.com/news/upcoming-requirements/?id=06062022a) (related, rust-lang#112753).  On an up-to-date Intel Mac, `x.py test --bless` fails.

r? `@rust-lang/bootstrap`
Noratrieb added a commit to Noratrieb/rust that referenced this pull request Nov 21, 2023
…rwin, r=albertlarsan68

Remove i686-apple-darwin cross-testing

The Xcode SDK no longer ships with 32-bit Intel (i686-apple-darwin) support as of [Xcode 14](https://developer.apple.com/news/upcoming-requirements/?id=06062022a) (related, rust-lang#112753).  On an up-to-date Intel Mac, `x.py test --bless` fails.

r? ``@rust-lang/bootstrap``
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 21, 2023
Rollup merge of rust-lang#118083 - calebzulawski:remove-i686-apple-darwin, r=albertlarsan68

Remove i686-apple-darwin cross-testing

The Xcode SDK no longer ships with 32-bit Intel (i686-apple-darwin) support as of [Xcode 14](https://developer.apple.com/news/upcoming-requirements/?id=06062022a) (related, rust-lang#112753).  On an up-to-date Intel Mac, `x.py test --bless` fails.

r? ``@rust-lang/bootstrap``
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants