diff --git a/dev-tools/gen-target-info/src/main.rs b/dev-tools/gen-target-info/src/main.rs index 95f85637..f68a9aa5 100644 --- a/dev-tools/gen-target-info/src/main.rs +++ b/dev-tools/gen-target-info/src/main.rs @@ -26,17 +26,19 @@ fn generate_target_mapping(f: &mut File, target_specs: &RustcTargetSpecs) -> std let env = spec.env.as_deref().unwrap_or(""); let abi = spec.abi.as_deref().unwrap_or(""); - // Remove deployment target information from LLVM target triples (we - // will add this in another part of CC). - // - // FIXME(madsmtm): Should become unnecessary after - // https://github.com/rust-lang/rust/pull/131037 let unversioned_llvm_target = if spec.llvm_target.contains("apple") { + // Remove deployment target information from LLVM target triples (we + // will add this in another part of CC). + // + // FIXME(madsmtm): Should become unnecessary after + // https://github.com/rust-lang/rust/pull/131037 let mut components = spec.llvm_target.split("-").collect::>(); components[2] = components[2].trim_end_matches(|c: char| c.is_numeric() || c == '.'); components.join("-") + } else if os == "uefi" && spec.llvm_target.ends_with("windows") { + format!("{}-gnu", spec.llvm_target) } else { spec.llvm_target.clone() }; diff --git a/src/target/generated.rs b/src/target/generated.rs index ce3a4b07..973c10f2 100644 --- a/src/target/generated.rs +++ b/src/target/generated.rs @@ -409,7 +409,7 @@ pub(crate) const LIST: &[(&str, TargetInfo<'static>)] = &[ os: "uefi", env: "", abi: "", - unversioned_llvm_target: "aarch64-unknown-windows", + unversioned_llvm_target: "aarch64-unknown-windows-gnu", }, ), ( @@ -3205,7 +3205,7 @@ pub(crate) const LIST: &[(&str, TargetInfo<'static>)] = &[ os: "uefi", env: "", abi: "", - unversioned_llvm_target: "x86_64-unknown-windows", + unversioned_llvm_target: "x86_64-unknown-windows-gnu", }, ), (