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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public