crt: Expose math functions on arm64ec that we normally skip on x86

We don't build the replacement functions for arm64ec, as we only
build the same source files as we build for regular aarch64.

This makes msvcrt.dll generally usable in arm64ec mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-crt/def-include/func.def.in b/mingw-w64-crt/def-include/func.def.in
index 43c0424..7663e01 100644
--- a/mingw-w64-crt/def-include/func.def.in
+++ b/mingw-w64-crt/def-include/func.def.in
@@ -16,15 +16,18 @@
 #define F64(x) x
 #define F_X64(x) x
 #define F_X86_ANY(x) x
+#define F_X86_NATIVE(x) x
 #define F_NON_I386(x) x
 #define F_NON_ARM64(x) x
 #if defined(__arm64ec__)
 #define F_ARM_ANY(x) x
+#undef F_X86_NATIVE
 #endif
 #elif defined(__i386__)
 #define F32(x) x
 #define F_I386(x) x
 #define F_X86_ANY(x) x
+#define F_X86_NATIVE(x) x
 #define F_NON_X64(x) x
 #define F_NON_ARM64(x) x
 #elif defined(__arm__)
@@ -53,6 +56,9 @@
 #ifndef F_X86_ANY
 #define F_X86_ANY(x)
 #endif
+#ifndef F_X86_NATIVE(x)
+#define F_X86_NATIVE(x)
+#endif
 #ifndef F_I386
 #define F_I386(x)
 #endif
diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in b/mingw-w64-crt/lib-common/msvcrt.def.in
index 26680b8..38905e6 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -938,23 +938,23 @@
 asctime
 asin
 atan
-atan2 F_X86_ANY(DATA)
+atan2 F_X86_NATIVE(DATA)
 _crt_atexit == atexit ; rename atexit to _crt_atexit for compatibility with UCRT, real atexit function provided by mingw-w64
 atof
 atoi
 atol
 bsearch
 calloc
-ceil F_X86_ANY(DATA)
+ceil F_X86_NATIVE(DATA)
 clearerr
 clock
-cos F_X86_ANY(DATA)
+cos F_X86_NATIVE(DATA)
 cosh
 ctime
 difftime
 div
 exit
-exp F_X86_ANY(DATA)
+exp F_X86_NATIVE(DATA)
 fabs DATA
 fclose
 feof
@@ -965,8 +965,8 @@
 fgets
 fgetwc
 fgetws
-floor F_X86_ANY(DATA)
-fmod F_X86_ANY(DATA)
+floor F_X86_NATIVE(DATA)
+fmod F_X86_NATIVE(DATA)
 fopen
 fprintf
 fputc
@@ -976,7 +976,7 @@
 fread
 free
 freopen
-frexp F_X86_ANY(DATA)
+frexp F_X86_NATIVE(DATA)
 fscanf
 fseek
 fsetpos
@@ -1018,11 +1018,11 @@
 iswxdigit
 isxdigit
 labs
-ldexp F_X86_ANY(DATA)
+ldexp F_X86_NATIVE(DATA)
 ldiv
 localeconv
 localtime
-log F_X86_ANY(DATA)
+log F_X86_NATIVE(DATA)
 log10
 longjmp
 malloc
@@ -1056,7 +1056,7 @@
 setlocale
 setvbuf
 signal
-sin F_X86_ANY(DATA)
+sin F_X86_NATIVE(DATA)
 sinh ; if we implement sinh, we can set it DATA only.
 sprintf
 sqrt DATA
@@ -1262,25 +1262,25 @@
 F_X64(_nextafterf)
 F_X64(_scalbf)
 F_NON_I386(_setjmpex)
-F_NON_I386(acosf F_X86_ANY(DATA)) ; i386 acosf provided by emu
-F_NON_I386(asinf F_X86_ANY(DATA)) ; i386 asinf provided by emu
-F_NON_I386(atan2f F_X86_ANY(DATA)) ; i386 atan2f provided by emu
-F_NON_I386(atanf F_X86_ANY(DATA)) ; i386 atanf provided by emu
-F_NON_I386(ceilf F_X86_ANY(DATA)) ; i386 ceilf provided by emu
-F_NON_I386(cosf F_X86_ANY(DATA)) ; i386 cosf provided by emu
+F_NON_I386(acosf F_X86_NATIVE(DATA)) ; i386 acosf provided by emu
+F_NON_I386(asinf F_X86_NATIVE(DATA)) ; i386 asinf provided by emu
+F_NON_I386(atan2f F_X86_NATIVE(DATA)) ; i386 atan2f provided by emu
+F_NON_I386(atanf F_X86_NATIVE(DATA)) ; i386 atanf provided by emu
+F_NON_I386(ceilf F_X86_NATIVE(DATA)) ; i386 ceilf provided by emu
+F_NON_I386(cosf F_X86_NATIVE(DATA)) ; i386 cosf provided by emu
 F_NON_I386(coshf DATA) ; i386 coshf provided by emu
-F_NON_I386(expf F_X86_ANY(DATA)) ; i386 expf provided by emu
-F_NON_I386(floorf F_X86_ANY(DATA)) ; i386 floorf provided by emu
-F_NON_I386(fmodf F_X86_ANY(DATA)) ; i386 fmodf provided by emu
-F_NON_I386(log10f F_X86_ANY(DATA)) ; i386 log10f provided by emu
-F_NON_I386(logf F_X86_ANY(DATA)) ; i386 logf provided by emu
+F_NON_I386(expf F_X86_NATIVE(DATA)) ; i386 expf provided by emu
+F_NON_I386(floorf F_X86_NATIVE(DATA)) ; i386 floorf provided by emu
+F_NON_I386(fmodf F_X86_NATIVE(DATA)) ; i386 fmodf provided by emu
+F_NON_I386(log10f F_X86_NATIVE(DATA)) ; i386 log10f provided by emu
+F_NON_I386(logf F_X86_NATIVE(DATA)) ; i386 logf provided by emu
 F_NON_I386(modff DATA) ; i386 modff provided by emu
 F_NON_I386(powf DATA) ; i386 powf provided by emu
 F_NON_I386(F_NON_ARM64(setjmp))
-F_NON_I386(sinf F_X86_ANY(DATA)) ; i386 sinf provided by emu
+F_NON_I386(sinf F_X86_NATIVE(DATA)) ; i386 sinf provided by emu
 F_NON_I386(sinhf DATA) ; i386 sinhf provided by emu
 F_NON_I386(sqrtf DATA) ; i386 sqrtf provided by emu
-F_NON_I386(tanf F_X86_ANY(DATA)) ; i386 tanf provided by emu
+F_NON_I386(tanf F_X86_NATIVE(DATA)) ; i386 tanf provided by emu
 
 ; These symbols were added in Windows Vista OS system version of msvcrt.dll
 #ifdef __i386__