diff options
Diffstat (limited to 'library/std/build.rs')
| -rw-r--r-- | library/std/build.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/library/std/build.rs b/library/std/build.rs index 8dc326a3dde..a0cfbc4685e 100644 --- a/library/std/build.rs +++ b/library/std/build.rs @@ -12,6 +12,11 @@ fn main() { .expect("CARGO_CFG_TARGET_POINTER_WIDTH was not set") .parse() .unwrap(); + let target_features: Vec<_> = env::var("CARGO_CFG_TARGET_FEATURE") + .unwrap_or_default() + .split(",") + .map(ToOwned::to_owned) + .collect(); let is_miri = env::var_os("CARGO_CFG_MIRI").is_some(); println!("cargo:rustc-check-cfg=cfg(netbsd10)"); @@ -37,6 +42,7 @@ fn main() { || target_os == "fuchsia" || (target_vendor == "fortanix" && target_env == "sgx") || target_os == "hermit" + || target_os == "trusty" || target_os == "l4re" || target_os == "redox" || target_os == "haiku" @@ -101,13 +107,13 @@ fn main() { ("s390x", _) => false, // Unsupported <https://github.com/llvm/llvm-project/issues/94434> ("arm64ec", _) => false, + // LLVM crash <https://github.com/llvm/llvm-project/issues/129394> + ("aarch64", _) if !target_features.iter().any(|f| f == "neon") => false, // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054> ("x86_64", "windows") if target_env == "gnu" && target_abi != "llvm" => false, // Infinite recursion <https://github.com/llvm/llvm-project/issues/97981> ("csky", _) => false, ("hexagon", _) => false, - ("loongarch64", _) => false, - ("mips" | "mips64" | "mips32r6" | "mips64r6", _) => false, ("powerpc" | "powerpc64", _) => false, ("sparc" | "sparc64", _) => false, ("wasm32" | "wasm64", _) => false, |
