aboutsummaryrefslogtreecommitdiff
path: root/src/mingw.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-12-09 14:58:16 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-12-10 03:06:17 -0500
commit02b221051a180a252bb3a092b1cc054469c6fa15 (patch)
tree5105489a81f50526e6cbff3232541769dcf949b6 /src/mingw.zig
parentb483c796c66e3a415a7590bfe62f316fa8fa70e6 (diff)
downloadzig-02b221051a180a252bb3a092b1cc054469c6fa15.tar.gz
zig-02b221051a180a252bb3a092b1cc054469c6fa15.zip
fix aarch64-windows-gnu libc
We were missing some math functions. After this enhancement I verified that I was able to cross-compile ninja.exe for aarch64-windows and produce a viable binary.
Diffstat (limited to 'src/mingw.zig')
-rw-r--r--src/mingw.zig44
1 files changed, 39 insertions, 5 deletions
diff --git a/src/mingw.zig b/src/mingw.zig
index 79c4327c4c..a4f2f0cf91 100644
--- a/src/mingw.zig
+++ b/src/mingw.zig
@@ -1018,7 +1018,44 @@ const mingwex_x86_src = [_][]const u8{
"math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "trunc.S",
};
-const mingwex_arm32_src = [_][]const u8{
+const arm_common = [_][]const u8{
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acosh.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acoshf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acoshl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinh.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinhf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinhl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanh.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanhf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanhl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "copysignl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1f.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1l.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogb.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogbf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogbl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1p.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1pf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1pl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log2.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logb.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logbf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logbl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "pow.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "powf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "powl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainder.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainderf.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainderl.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remquol.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "s_remquo.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "s_remquof.c",
+ "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "scalbn.c",
+};
+
+const mingwex_arm32_src = arm_common ++ [_][]const u8{
"math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "_chgsignl.S",
"math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rint.c",
"math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rintf.c",
@@ -1033,11 +1070,8 @@ const mingwex_arm32_src = [_][]const u8{
"math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_truncf.c",
};
-const mingwex_arm64_src = [_][]const u8{
+const mingwex_arm64_src = arm_common ++ [_][]const u8{
"misc" ++ path.sep_str ++ "initenv.c",
- "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log2.c",
- "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "pow.c",
- "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "scalbn.c",
"math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "_chgsignl.S",
"math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rint.c",
"math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rintf.c",