crtdll.dll library has some DATA symbols with _dll suffix.
Fix generating aliases for these symbols.
---
 .../def-include/msvcrt-common.def.in          | 23 +++++++++++++++++++
 mingw-w64-crt/lib32/crtdll.def.in             |  1 +
 2 files changed, 24 insertions(+)

diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in 
b/mingw-w64-crt/def-include/msvcrt-common.def.in
index 125982d5bf53..98ab6d6b62f8 100644
--- a/mingw-w64-crt/def-include/msvcrt-common.def.in
+++ b/mingw-w64-crt/def-include/msvcrt-common.def.in
@@ -2,6 +2,7 @@
 
 #define ADD_UNDERSCORE(symbol) symbol == _ ## symbol
 #define ADD_UNDERSCORE_DATA(symbol) symbol DATA == _ ## symbol
+#define ADD_UNDERSCORE_DATA_DLL(symbol) symbol DATA == _ ## symbol ## _dll
 #define ADD_DOUBLE_UNDERSCORE(symbol) symbol == __ ## symbol
 
 ; This is list of symbol aliases from the Visual C++ 1.0 oldnames.lib library
@@ -22,14 +23,22 @@ ADD_UNDERSCORE(creat)
 ; ADD_UNDERSCORE(cscanf)
 ADD_UNDERSCORE(cwait)
 #ifndef UCRTBASE
+#ifdef CRTDLL
+ADD_UNDERSCORE_DATA_DLL(daylight)
+#else
 ADD_UNDERSCORE_DATA(daylight)
 #endif
+#endif
 ADD_UNDERSCORE(dup)
 ADD_UNDERSCORE(dup2)
 ADD_UNDERSCORE(ecvt)
 #ifndef UCRTBASE
+#ifdef CRTDLL
+; ADD_UNDERSCORE_DATA_DLL(environ)
+#else
 ; ADD_UNDERSCORE_DATA(environ)
 #endif
+#endif
 ADD_UNDERSCORE(eof)
 ADD_UNDERSCORE(execl)
 ADD_UNDERSCORE(execle)
@@ -50,8 +59,12 @@ ADD_UNDERSCORE(fputchar)
 ; ADD_UNDERSCORE(fstat)
 ; ADD_UNDERSCORE(ftime)
 #ifndef UCRTBASE
+#ifdef CRTDLL
+; ADD_UNDERSCORE_DATA_DLL(HUGE)
+#else
 ; ADD_UNDERSCORE_DATA(HUGE)
 #endif
+#endif
 ADD_UNDERSCORE(gcvt)
 ADD_UNDERSCORE(getch)
 ADD_UNDERSCORE(getche)
@@ -114,13 +127,23 @@ ADD_UNDERSCORE(strset)
 ADD_UNDERSCORE(strupr)
 ADD_UNDERSCORE(swab)
 #ifndef UCRTBASE
+// sys_errlist is without _dll suffix in crtdll.dll
 ; ADD_UNDERSCORE_DATA(sys_errlist)
+#ifdef CRTDLL
+; ADD_UNDERSCORE_DATA_DLL(sys_nerr)
+#else
 ; ADD_UNDERSCORE_DATA(sys_nerr)
 #endif
+#endif
 ADD_UNDERSCORE(tell)
 ADD_UNDERSCORE(tempnam)
 #ifndef UCRTBASE
+#ifdef CRTDLL
+ADD_UNDERSCORE_DATA_DLL(timezone)
+#else
 ADD_UNDERSCORE_DATA(timezone)
+#endif
+// tzname is without _dll suffix in crtdll.dll
 ADD_UNDERSCORE_DATA(tzname)
 ADD_UNDERSCORE(tzset)
 #endif
diff --git a/mingw-w64-crt/lib32/crtdll.def.in 
b/mingw-w64-crt/lib32/crtdll.def.in
index 47c5f4558085..06f4ee68ceee 100644
--- a/mingw-w64-crt/lib32/crtdll.def.in
+++ b/mingw-w64-crt/lib32/crtdll.def.in
@@ -623,6 +623,7 @@ _ltow
 _ultow
 
 ; include symbol aliases for compatibility with msvcrt.dll
+#define CRTDLL
 #define PRE_C95_SWPRINTF
 #define FIXED_SIZE_SYMBOLS
 #define NO_WIDE_FIXED_SIZE
-- 
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