about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec
diff options
context:
space:
mode:
authorDaniel Paoliello <danpao@microsoft.com>2025-05-07 10:56:00 -0700
committerDaniel Paoliello <danpao@microsoft.com>2025-05-07 12:02:14 -0700
commit75ca6c621e08eb7252bb542b9264e7ab7a8fc4e1 (patch)
treeca5126743e0739af2b35ad048c6c6b2ba23c1c0b /compiler/rustc_target/src/spec
parentf5d3fe273b8b9e7125bf8856d44793b6cc4b6735 (diff)
downloadrust-75ca6c621e08eb7252bb542b9264e7ab7a8fc4e1.tar.gz
rust-75ca6c621e08eb7252bb542b9264e7ab7a8fc4e1.zip
[win][arm64] Disable MSVC Linker 'Arm Hazard' warning
Diffstat (limited to 'compiler/rustc_target/src/spec')
-rw-r--r--compiler/rustc_target/src/spec/targets/aarch64_pc_windows_msvc.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_pc_windows_msvc.rs b/compiler/rustc_target/src/spec/targets/aarch64_pc_windows_msvc.rs
index 98d78520c98..0d25b19f3fc 100644
--- a/compiler/rustc_target/src/spec/targets/aarch64_pc_windows_msvc.rs
+++ b/compiler/rustc_target/src/spec/targets/aarch64_pc_windows_msvc.rs
@@ -1,10 +1,15 @@
-use crate::spec::{Target, TargetMetadata, base};
+use crate::spec::{LinkerFlavor, Lld, Target, TargetMetadata, base};
 
 pub(crate) fn target() -> Target {
     let mut base = base::windows_msvc::opts();
     base.max_atomic_width = Some(128);
     base.features = "+v8a,+neon,+fp-armv8".into();
 
+    // MSVC emits a warning about code that may trip "Cortex-A53 MPCore processor bug #843419" (see
+    // https://developer.arm.com/documentation/epm048406/latest) which is sometimes emitted by LLVM.
+    // Since Arm64 Windows 10+ isn't supported on that processor, it's safe to disable the warning.
+    base.add_pre_link_args(LinkerFlavor::Msvc(Lld::No), &["/arm64hazardfree"]);
+
     Target {
         llvm_target: "aarch64-pc-windows-msvc".into(),
         metadata: TargetMetadata {