On Wed, 8 Jul 2026, Jacek Caban via Mingw-w64-public wrote:
This option is meant to be used alongside --host=aarch64-w64-mingw32 to enable
a hybrid ARM64X build. Enable the compilation of all ARM64EC-specific files in
preparation for using -marm64x and ensure that including them on unintended
targets is harmless via preprocessor guards.
Perhaps you could point out, that the old way of building standalone
arm64ec libraries still works as well, and was/is picked up if configuring
with an arm64ec triple.
diff --git a/mingw-w64-crt/configure.ac b/mingw-w64-crt/configure.ac
index 1f1c11eb6..5e5d2f7f3 100644
--- a/mingw-w64-crt/configure.ac
+++ b/mingw-w64-crt/configure.ac
@@ -170,6 +170,18 @@ AS_VAR_IF([enable_libarm64],[yes],[
AS_IF([AS_VAR_TEST_SET([LIB32]) || AS_VAR_TEST_SET([LIB64]) ||
AS_VAR_TEST_SET([LIBARM32])],
[AC_MSG_WARN([Building the runtime to use libarm64 with lib32, lib64 or
libarm32 is unsupported.])])])
+AC_MSG_CHECKING([whether to build the ARM64EC libraries])
+AC_ARG_ENABLE([arm64ec],
+ [AS_HELP_STRING([--enable-arm64ec], [Build the ARM64EC libraries])],
The option description makes this a little bit confusing, as you don't
need to set this when configuring with --host=arm64ec-... And "the arm64ec
libraries" also sounds vague, what are they? As we produce the exact same
set of files as before...
"Include arm64ec specific files even if building for another architecture"
is specific, but also sounds very weird if one isn't familiar with the
setup.
In one sense, the option you'd want is --enable-arm64x, which would both
include the files, and implicitly add -marm64x to cflags. But there are
merits to having the two aspects separated like this too.
+ [],
+ [AS_VAR_SET([enable_arm64ec],[no])])
+AC_MSG_RESULT([$enable_arm64ec])
+AS_CASE([$enable_arm64ec],
+ [no],[],
+ [yes],[AS_VAR_SET([ARM64X])],
+ [AC_MSG_ERROR([invalid argument. Must be either yes or no.])])
+AM_CONDITIONAL([ARM64X], [AS_VAR_TEST_SET([ARM64X])])
+
AS_CASE([$host_cpu],
[x86_64],[
libx8664suffx=lib
@@ -210,7 +222,7 @@ AC_SUBST([LIBX8632SUFFIXDIR],[$libx8632suffx])
AC_SUBST([LIBARM64SUFFIXDIR],[$libarm64suffx])
AC_SUBST([LIBARM32SUFFIXDIR],[$libarm32suffx])
-AM_CONDITIONAL([ARM64EC],[test $host_cpu = arm64ec])
+AM_CONDITIONAL([ARM64EC],[test $host_cpu = arm64ec -o x$enable_arm64ec = xyes])
# Checks for features.
diff --git a/mingw-w64-crt/math/fabsf.c b/mingw-w64-crt/math/fabsf.c
index e7e9d8fa7..62cbec9ca 100644
--- a/mingw-w64-crt/math/fabsf.c
+++ b/mingw-w64-crt/math/fabsf.c
@@ -3,6 +3,9 @@
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
+
+#ifndef __aarch64__
+
This change isn't entirely right; we build this file for aarch64 too, for
msvcrt. (Are we lacking CI coverage so we didn't catch if aarch64/msvcrt
builds end up missing the fabsf function?)
// Martin
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public