Rollup merge of #140758 - dpaoliello:armhazard, r=jieyouxu
[win][arm64] Disable MSVC Linker 'Arm Hazard' warning While trying to get the aarch64-msvc build working correctly (#140136), I observed the following test failure: From <https://github.com/rust-lang/rust/pull/140136#issuecomment-2848179657> ``` = note: main.main.d17f5fbe6225cf88-cgu.0.rcgu.o : fatal error LNK1322: cannot avoid potential ARM hazard (Cortex-A53 MPCore processor bug #843419) in section 0x57; please consider using compiler option /Gy if it was not used ``` This is warning of a code sequence that triggers a bug in Cortex-A53 processors: <https://developer.arm.com/documentation/epm048406/latest> However, since Windows 10 isn't supported on the Cortex-A53, this warning is not required, so it can be suppressed using the undocumented `/arm64hazardfree` flag.
This commit is contained in:
commit
54f1da4486
1 changed files with 6 additions and 1 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue