crt: Use .def files for fpreset and _fpreset on ARM targets.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 5ba8809..f2f1e6f 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -2146,7 +2146,7 @@
libarm32_LIBRARIES += libarm32/libmingw32.a
libarm32_libmingw32_a_CPPFLAGS=$(CPPFLAGSARM32) -D_SYSCRT=1 $(extra_include) $(AM_CPPFLAGS)
-libarm32_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp8.c
+libarm32_libmingw32_a_SOURCES = $(src_libmingw32)
libarm32_LIBRARIES += libarm32/libmingwex.a
libarm32_libmingwex_a_CPPFLAGS=$(CPPFLAGSARM32) $(extra_include) $(AM_CPPFLAGS)
@@ -2468,7 +2468,7 @@
libarm64_LIBRARIES += libarm64/libmingw32.a
libarm64_libmingw32_a_CPPFLAGS=$(CPPFLAGSARM64) -D_SYSCRT=1 $(extra_include) $(AM_CPPFLAGS)
-libarm64_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp8.c
+libarm64_libmingw32_a_SOURCES = $(src_libmingw32)
libarm64_LIBRARIES += libarm64/libmingwex.a
libarm64_libmingwex_a_CPPFLAGS=$(CPPFLAGSARM64) $(extra_include) $(AM_CPPFLAGS)
diff --git a/mingw-w64-crt/def-include/func.def.in b/mingw-w64-crt/def-include/func.def.in
index 77540bb..1d542a1 100644
--- a/mingw-w64-crt/def-include/func.def.in
+++ b/mingw-w64-crt/def-include/func.def.in
@@ -80,4 +80,12 @@
#define FASTCALL_DECORATED_EXPORT(symbol) symbol == symbol
#endif
+#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__
+#define F_LD64(x) x
+#define F_LD80(x)
+#else
+#define F_LD64(x)
+#define F_LD80(x) x
+#endif
+
#endif // FUNC_DEF_IN
diff --git a/mingw-w64-crt/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in b/mingw-w64-crt/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in
index 9f03de5..d747faf 100644
--- a/mingw-w64-crt/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in
+++ b/mingw-w64-crt/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in
@@ -44,8 +44,7 @@
_execute_onexit_table
_exit
_fpieee_flt
-; DATA added manually
-_fpreset DATA
+_fpreset F_LD80(DATA)
_get_doserrno
_get_errno
_get_initial_narrow_environment
@@ -109,6 +108,7 @@
fesetexceptflag DATA
fesetround DATA
fetestexcept DATA
+F_LD64(fpreset == _fpreset)
perror
quick_exit
raise
diff --git a/mingw-w64-crt/lib-common/msvcr120_app.def.in b/mingw-w64-crt/lib-common/msvcr120_app.def.in
index 86747ec..eccf248 100644
--- a/mingw-w64-crt/lib-common/msvcr120_app.def.in
+++ b/mingw-w64-crt/lib-common/msvcr120_app.def.in
@@ -2019,6 +2019,7 @@
F_NON_I386(fmodf)
fopen
fopen_s
+fpreset == _fpreset
fprintf
fprintf_s
fputc
diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in b/mingw-w64-crt/lib-common/msvcrt.def.in
index ff9e6a6..772b567 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -603,7 +603,7 @@
_fmode DATA
_fpclass
F_NON_X64(_fpieee_flt)
-_fpreset DATA
+_fpreset F_LD80(DATA)
_fputchar
_fputwchar
_fsopen
@@ -968,6 +968,7 @@
floor F_X86_ANY(DATA)
fmod F_X86_ANY(DATA)
fopen
+F_LD64(fpreset == _fpreset)
fprintf
fputc
fputs
diff --git a/mingw-w64-crt/lib-common/ucrtbase-common.def.in b/mingw-w64-crt/lib-common/ucrtbase-common.def.in
index 7af5acd..c6f602e 100644
--- a/mingw-w64-crt/lib-common/ucrtbase-common.def.in
+++ b/mingw-w64-crt/lib-common/ucrtbase-common.def.in
@@ -388,7 +388,7 @@
_fpclass
F_X64(_fpclassf)
_fpieee_flt
-_fpreset DATA ; DATA added manually
+_fpreset F_LD80(DATA)
_fputc_nolock
_fputchar
_fputwc_nolock
@@ -2378,6 +2378,7 @@
F_NON_I386(fmodf)
fopen
fopen_s
+F_LD64(fpreset == _fpreset)
fputc
fputs
fputwc
diff --git a/mingw-w64-crt/libarm32/msvcr110d.def.in b/mingw-w64-crt/libarm32/msvcr110d.def.in
index 66a344c..ec4736c 100644
--- a/mingw-w64-crt/libarm32/msvcr110d.def.in
+++ b/mingw-w64-crt/libarm32/msvcr110d.def.in
@@ -1819,6 +1819,7 @@
fmodf
fopen
fopen_s
+fpreset == _fpreset
fprintf
fprintf_s
fputc
diff --git a/mingw-w64-crt/libarm32/msvcr120.def.in b/mingw-w64-crt/libarm32/msvcr120.def.in
index 0f5c425..ec6643d 100644
--- a/mingw-w64-crt/libarm32/msvcr120.def.in
+++ b/mingw-w64-crt/libarm32/msvcr120.def.in
@@ -1902,6 +1902,7 @@
fmodf
fopen
fopen_s
+fpreset == _fpreset
fprintf
fprintf_s
fputc
diff --git a/mingw-w64-crt/libarm32/msvcr120d.def.in b/mingw-w64-crt/libarm32/msvcr120d.def.in
index 7241a9e..b79ecdc 100644
--- a/mingw-w64-crt/libarm32/msvcr120d.def.in
+++ b/mingw-w64-crt/libarm32/msvcr120d.def.in
@@ -1967,6 +1967,7 @@
fmodf
fopen
fopen_s
+fpreset == _fpreset
fprintf
fprintf_s
fputc