Skip to content

[win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test #141045

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

Merged
merged 1 commit into from
May 18, 2025

Conversation

dpaoliello
Copy link
Contributor

PR #140758 added the undocumented /arm64hazardfree MSVC linker flag to work around a test failure where LLVM generated code that would trip a hazard in an outdated ARM processor.

Adding this flag caused issues with LLD, as it doesn't recognize it.

Rethinking the issue, using the undocumented flag seems like the incorrect solution: there's no guarantee that the flag won't be removed in the future, or change its meaning.

Instead, I've disabled the problematic test for Arm64 Windows and have filed a bug with the MSVC team to have the check removed: https://developercommunity.microsoft.com/t/Remove-checking-for-and-fixing-Cortex-A/10905134

This PR supersedes #140977

r? @jieyouxu

@rustbot
Copy link
Collaborator

rustbot commented May 15, 2025

These commits modify compiler targets.
(See the Target Tier Policy.)

This PR modifies run-make tests.

cc @jieyouxu

@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 15, 2025
@rust-log-analyzer

This comment has been minimized.

Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

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

Seems reasonable, thanks

@jieyouxu
Copy link
Member

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented May 16, 2025

📌 Commit 6128fca has been approved by jieyouxu

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 May 16, 2025
@fmease fmease changed the title [win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and inste… [win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test May 18, 2025
fmease added a commit to fmease/rust that referenced this pull request May 18, 2025
[win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test

PR rust-lang#140758 added the undocumented `/arm64hazardfree` MSVC linker flag to work around a test failure where LLVM generated code that would trip a hazard in an outdated ARM processor.

Adding this flag caused issues with LLD, as it doesn't recognize it.

Rethinking the issue, using the undocumented flag seems like the incorrect solution: there's no guarantee that the flag won't be removed in the future, or change its meaning.

Instead, I've disabled the problematic test for Arm64 Windows and have filed a bug with the MSVC team to have the check removed: <https://developercommunity.microsoft.com/t/Remove-checking-for-and-fixing-Cortex-A/10905134>

This PR supersedes rust-lang#140977

r? `@jieyouxu`
fmease added a commit to fmease/rust that referenced this pull request May 18, 2025
[win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test

PR rust-lang#140758 added the undocumented `/arm64hazardfree` MSVC linker flag to work around a test failure where LLVM generated code that would trip a hazard in an outdated ARM processor.

Adding this flag caused issues with LLD, as it doesn't recognize it.

Rethinking the issue, using the undocumented flag seems like the incorrect solution: there's no guarantee that the flag won't be removed in the future, or change its meaning.

Instead, I've disabled the problematic test for Arm64 Windows and have filed a bug with the MSVC team to have the check removed: <https://developercommunity.microsoft.com/t/Remove-checking-for-and-fixing-Cortex-A/10905134>

This PR supersedes rust-lang#140977

r? ``@jieyouxu``
bors added a commit to rust-lang-ci/rust that referenced this pull request May 18, 2025
Rollup of 7 pull requests

Successful merges:

 - rust-lang#140113 (Add per page TOC in the `rustc` book)
 - rust-lang#140490 (split `asm!` parsing and validation)
 - rust-lang#140924 (Make some `f32`/`f64` tests also run in const-context)
 - rust-lang#141045 ([win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test)
 - rust-lang#141071 (Enable [behind-upstream] triagebot option for rust-lang/rust)
 - rust-lang#141132 (Use `crate::` prefix for root macro suggestions)
 - rust-lang#141139 (Fix Rust for Linux ping group label)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request May 18, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#140113 (Add per page TOC in the `rustc` book)
 - rust-lang#140511 (Stabilize `#![feature(non_null_from_ref)]`)
 - rust-lang#140924 (Make some `f32`/`f64` tests also run in const-context)
 - rust-lang#140966 (Remove #![feature(let_chains)] from library and src/librustdoc)
 - rust-lang#141045 ([win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test)
 - rust-lang#141071 (Enable [behind-upstream] triagebot option for rust-lang/rust)
 - rust-lang#141132 (Use `crate::` prefix for root macro suggestions)
 - rust-lang#141139 (Fix Rust for Linux ping group label)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit e323c64 into rust-lang:master May 18, 2025
6 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 18, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request May 18, 2025
Rollup merge of rust-lang#141045 - dpaoliello:noarmhazard, r=jieyouxu

[win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test

PR rust-lang#140758 added the undocumented `/arm64hazardfree` MSVC linker flag to work around a test failure where LLVM generated code that would trip a hazard in an outdated ARM processor.

Adding this flag caused issues with LLD, as it doesn't recognize it.

Rethinking the issue, using the undocumented flag seems like the incorrect solution: there's no guarantee that the flag won't be removed in the future, or change its meaning.

Instead, I've disabled the problematic test for Arm64 Windows and have filed a bug with the MSVC team to have the check removed: <https://developercommunity.microsoft.com/t/Remove-checking-for-and-fixing-Cortex-A/10905134>

This PR supersedes rust-lang#140977

r? ```@jieyouxu```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs 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
Development

Successfully merging this pull request may close these issues.

5 participants