diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-12-09 14:58:16 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-12-10 03:06:17 -0500 |
| commit | 02b221051a180a252bb3a092b1cc054469c6fa15 (patch) | |
| tree | 5105489a81f50526e6cbff3232541769dcf949b6 /src/mingw.zig | |
| parent | b483c796c66e3a415a7590bfe62f316fa8fa70e6 (diff) | |
| download | zig-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.zig | 44 |
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", |
