crt: Move ARM long double symbol aliases to def-include/msvcrt-common.def.in Deduplicate aliases from msvcrt.def.in and ucrtbase.def.in to def-include/msvcrt-common.def.in. Note that powl alias was defined only in ucrtbase.def.in, so do not define it for non-UCRT builds. Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index b44c0da..34636ae 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in
@@ -200,6 +200,28 @@ ; ADD_UNDERSCORE(logb) ADD_UNDERSCORE(nextafter) +#if defined(DEF_ARM32) || defined(DEF_ARM64) +; This is list of symbol aliases for C99 ARM long double functions +; They are defined as aliases to regular double symbols as on ARM, long double is equal to regular double +acosl == acos +asinl == asin +atan2l == atan2 +atanl == atan +ceill == ceil +cosl == cos +expl == exp +floorl == floor +fmodl == fmod +log10l == log10 +logl == log +; FIXME: Why is powl alias defined only for UCRT? +#ifdef UCRTBASE +powl == pow +#endif +sinl == sin +tanl == tan +#endif + ; This is list of symbol aliases for POSIX functions ADD_DOUBLE_UNDERSCORE(isascii) ADD_DOUBLE_UNDERSCORE(toascii)
diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in b/mingw-w64-crt/lib-common/msvcrt.def.in index 186761c..29d1076 100644 --- a/mingw-w64-crt/lib-common/msvcrt.def.in +++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -1843,18 +1843,3 @@ F64(_ftime_s == _ftime64_s) snwprintf == _snwprintf vsnwprintf == _vsnwprintf - -; This is list of ARM long double symbols defined as alias to regular double symbols as on ARM, long double is equal to regular double -F_ARM_ANY(acosl == acos) -F_ARM_ANY(asinl == asin) -F_ARM_ANY(atan2l == atan2) -F_ARM_ANY(atanl == atan) -F_ARM_ANY(ceill == ceil) -F_ARM_ANY(cosl == cos) -F_ARM_ANY(expl == exp) -F_ARM_ANY(floorl == floor) -F_ARM_ANY(fmodl == fmod) -F_ARM_ANY(log10l == log10) -F_ARM_ANY(logl == log) -F_ARM_ANY(sinl == sin) -F_ARM_ANY(tanl == tan)
diff --git a/mingw-w64-crt/lib-common/ucrtbase.def.in b/mingw-w64-crt/lib-common/ucrtbase.def.in index b5aff62..c415cfc 100644 --- a/mingw-w64-crt/lib-common/ucrtbase.def.in +++ b/mingw-w64-crt/lib-common/ucrtbase.def.in
@@ -2172,7 +2172,6 @@ abs acos F_NON_I386(acosf) -F_ARM_ANY(acosl == acos) acosh acoshf acoshl F_X86_ANY(DATA) @@ -2180,16 +2179,13 @@ asctime_s asin F_NON_I386(asinf) -F_ARM_ANY(asinl == asin) asinh asinhf asinhl F_X86_ANY(DATA) atan atan2 F_NON_I386(atan2f) -F_ARM_ANY(atan2l == atan2) F_NON_I386(atanf) -F_ARM_ANY(atanl == atan) atanh atanhf atanhl F_X86_ANY(DATA) @@ -2238,7 +2234,6 @@ ccosl ceil F_NON_I386(ceilf) -F_ARM_ANY(ceill == ceil) cexp cexpf cexpl @@ -2262,7 +2257,6 @@ copysignl F_X86_ANY(DATA) cos F_NON_I386(cosf) -F_ARM_ANY(cosl == cos) cosh F_NON_I386(coshf) cpow @@ -2302,7 +2296,6 @@ exp2f exp2l F_X86_ANY(DATA) F_NON_I386(expf) -F_ARM_ANY(expl == exp) expm1 expm1f expm1l F_X86_ANY(DATA) @@ -2334,7 +2327,6 @@ fgetws floor F_NON_I386(floorf) -F_ARM_ANY(floorl == floor) fma fmaf fmal F_X86_ANY(DATA) @@ -2346,7 +2338,6 @@ fminl F_X86_ANY(DATA) fmod F_NON_I386(fmodf) -F_ARM_ANY(fmodl == fmod) fopen fopen_s fputc @@ -2425,7 +2416,6 @@ log log10 F_NON_I386(log10f) -F_ARM_ANY(log10l == log10) log1p log1pf log1pl F_X86_ANY(DATA) @@ -2436,7 +2426,6 @@ logbf logbl F_X86_ANY(DATA) F_NON_I386(logf) -F_ARM_ANY(logl == log) longjmp lrint lrintf @@ -2484,7 +2473,6 @@ perror pow F_NON_I386(powf) -F_ARM_ANY(powl == pow) putc putchar puts @@ -2527,7 +2515,6 @@ signal sin F_NON_I386(sinf) -F_ARM_ANY(sinl == sin) ; if we implement sinh, we can set it DATA only. sinh F_NON_I386(sinhf) @@ -2572,7 +2559,6 @@ system tan F_NON_I386(tanf) -F_ARM_ANY(tanl == tan) ; if we implement tanh, we can set it to DATA only. tanh F_NON_I386(tanhf)