Enable underscored fpreset alias for ARM targets in crt-aliases.def.in
include file, which is automatically included into all msvcr*.def.in and
ucrt*.def.in files.

Underscored alias is still present in api-ms-win-crt-runtime-l1-1-0.def.in
file as api-ms-win-crt*.def.in files do not use crt-aliases.def.in yet.

This change fixes more issues with commit 87ec8e6c5a62 ("crt: Use .def
files for fpreset and _fpreset on ARM targets.") which:
- enabled underscored alias also for i386 and x64 msvcr120_app.dll builds
- forgot to add underscored alias for arm32 msvcr110.dll builds
- added duplicated code into individual msvcr*.def.in files, which was already 
de-duplicated
- removed comment about DATA keywords (manually added needs to be revisited)
---
 mingw-w64-crt/def-include/crt-aliases.def.in                  | 4 ++++
 mingw-w64-crt/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in | 3 +--
 mingw-w64-crt/lib-common/msvcr120_app.def.in                  | 1 -
 mingw-w64-crt/lib-common/msvcrt.def.in                        | 1 -
 mingw-w64-crt/lib-common/ucrtbase-common.def.in               | 3 +--
 mingw-w64-crt/libarm32/msvcr110d.def.in                       | 1 -
 mingw-w64-crt/libarm32/msvcr120.def.in                        | 1 -
 mingw-w64-crt/libarm32/msvcr120d.def.in                       | 1 -
 8 files changed, 6 insertions(+), 9 deletions(-)
---

Now when I'm looking at this change, I think that there is another
problem with _fpreset in some *cr* builds. It is needed to add
"DATA" keyword into all i386 and x64 definitions of _fpreset.

And seems that the mingw-w64-crt/crt/CRT_fp8.c file should be
completely removed as it looks like that its symbols are in direct
conflict with fp10.c symbols and symbols in individual def files.

What do you think about these two followup changes?

---
diff --git a/mingw-w64-crt/def-include/crt-aliases.def.in 
b/mingw-w64-crt/def-include/crt-aliases.def.in
index 06526dde56e3..144fafa558a5 100644
--- a/mingw-w64-crt/def-include/crt-aliases.def.in
+++ b/mingw-w64-crt/def-include/crt-aliases.def.in
@@ -208,7 +208,11 @@ ADD_UNDERSCORE(write)
 ; This is list of symbol aliases added in the Visual C++ 2.0 oldnames.lib 
library
 ; All these symbols with leading underscore are present also in pre-2.0 CRT 
versions: crtdll.dll and msvcrt10.dll
 ; ADD_UNDERSCORE(control87)
+#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__
+ADD_UNDERSCORE(fpreset)
+#else
 ; ADD_UNDERSCORE(fpreset) ; Alias fpreset is set in CRT_fp10.c and CRT_fp8.c
+#endif
 ADD_UNDERSCORE(wcsdup)
 ADD_UNDERSCORE(wcsicmp)
 ADD_UNDERSCORE(wcsicoll)
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 d747fafc5fc4..06a8f3790bf6 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,7 +44,7 @@ _errno
 _execute_onexit_table
 _exit
 _fpieee_flt
-_fpreset F_LD80(DATA)
+_fpreset F_LD80(DATA) ; DATA added manually
 _get_doserrno
 _get_errno
 _get_initial_narrow_environment
@@ -108,7 +108,6 @@ fesetenv DATA
 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 eccf24885d50..86747ec4e887 100644
--- a/mingw-w64-crt/lib-common/msvcr120_app.def.in
+++ b/mingw-w64-crt/lib-common/msvcr120_app.def.in
@@ -2019,7 +2019,6 @@ fmod
 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 772b567c94e7..7a029b8d423a 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -968,7 +968,6 @@ fgetws
 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 c6f602e851a0..7a4997608b57 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 @@ _flushall
 _fpclass
 F_X64(_fpclassf)
 _fpieee_flt
-_fpreset F_LD80(DATA)
+_fpreset F_LD80(DATA) ; DATA added manually
 _fputc_nolock
 _fputchar
 _fputwc_nolock
@@ -2378,7 +2378,6 @@ fmod
 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 ec4736cc1221..66a344ce887f 100644
--- a/mingw-w64-crt/libarm32/msvcr110d.def.in
+++ b/mingw-w64-crt/libarm32/msvcr110d.def.in
@@ -1819,7 +1819,6 @@ fmod
 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 ec6643da5a06..0f5c42508a2c 100644
--- a/mingw-w64-crt/libarm32/msvcr120.def.in
+++ b/mingw-w64-crt/libarm32/msvcr120.def.in
@@ -1902,7 +1902,6 @@ fmod
 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 b79ecdcb3454..7241a9e7ba7e 100644
--- a/mingw-w64-crt/libarm32/msvcr120d.def.in
+++ b/mingw-w64-crt/libarm32/msvcr120d.def.in
@@ -1967,7 +1967,6 @@ fmod
 fmodf
 fopen
 fopen_s
-fpreset == _fpreset
 fprintf
 fprintf_s
 fputc
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to