Re: [Mingw-w64-public] [PATCH 15/15] crt: msvcrt.def.in: Reorder symbols chronologically and add comments

2024-04-04 Thread Martin Storsjö

On Mon, 1 Apr 2024, Pali Rohár wrote:


Library msvcrt.dll was used by Visual C++ versions 4.2 - 6.0 and is also
part of the Windows system starting with NT 4.0 and 98.

Currently the file msvcrt.def.in contains mix of all symbols in semi
alphabetical order, with ad-hoc symbol aliases which some are not exported
by any msvcrt.dll version (but needed for mingw-w64).

Cleanup symbol definitions, reorder them into chronological order according
to released msvcrt.dll versions and add exhausting comments explaining from
which msvcrt.dll version is symbol present and also if it is being replaced
by other symbol at linking time for backward version compatibility reasons.

If at symbol line is comment "replaced by" it means that the symbol is


I think this sentence (and the next one) is easier to read if you'd add 
the word "there" before "is", i.e. "there is comment". Adding some a/an 
makes it a bit more legible English as well, and rephrasing a little, e.g. 
"If there is a comment "replaced by" at a symbol line, it means ..."



+_endthread ; In Windows XP and Windows XP SP1 OS system version of msvcrt.dll 
this symbol has name _endthread@4, in all other versions (including XP SP3) is 
has standard name
+_endthreadex ; In Windows XP and Windows XP SP1 OS system version of 
msvcrt.dll this symbol has name _endthreadex@4, in all other versions 
(including XP SP3) is has standard name


There's a typo in these ocmments, "is has standard name", I guess you mean 
"it has standard name".



+; This is list of additional symbol aliases not available in any CRT library
+; FIXME: should they be removed?
+F32(_ftime_s == _ftime32_s)
+F64(_ftime_s == _ftime64_s)
+snwprintf == _snwprintf
+vsnwprintf == _vsnwprintf


I would maybe remove the implication that these maybe should be removed, 
or rephrase the fixme, like e.g. "FIXME: check if these really are needed" 
or so.



+
+; This is list of some symbols from X86 version of libmingwex library which 
can be defined on ARM as alias to some msvcrt.dll symbols


FWIW, the reason here is that on arm, long double is equal to regular 
double, so we don't need to provide our own replacements for these 
functions.


// Martin

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


Re: [Mingw-w64-public] [PATCH 12/15] crt: msvcrt.def.in: Add symbols introduced in Windows Vista I386 and X64

2024-04-04 Thread Martin Storsjö

On Mon, 1 Apr 2024, Pali Rohár wrote:


---
mingw-w64-crt/lib-common/msvcrt.def.in | 136 -
1 file changed, 88 insertions(+), 48 deletions(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index 818d5149b156..71a6efcde3c9 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -369,12 +369,14 @@ _XcptFilter
F_ARM_ANY(__AdjustPointer)
F_NON_I386(__C_specific_handler)
__CppXcptFilter
+F_X86_ANY(__CxxCallUnwindDelDtor)
F_I386(__CxxCallUnwindDtor)
F_I386(__CxxCallUnwindVecDtor)
F_I386(__CxxDetectRethrow)
F_I386(__CxxExceptionFilter)
F_X86_ANY(__CxxFrameHandler)
-F_ARM_ANY(__CxxFrameHandler3)
+__CxxFrameHandler2
+__CxxFrameHandler3
F_I386(__CxxLongjmpUnwind@4)
F_I386(__CxxQueryExceptionSize)
F_I386(__CxxRegisterExceptionObject)
@@ -403,10 +405,10 @@ __crtGetLocaleInfoW
__crtGetStringTypeW
__crtLCMapStringA
__crtLCMapStringW
-F_ARM_ANY(__daylight)
+__daylight
__dllonexit
__doserrno
-F_ARM_ANY(__dstbias)
+__dstbias


These two symbols, __daylight and __dstbias, probably should be marked 
DATA (based on their declaration in headers at least).


// Martin

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


Re: [Mingw-w64-public] [PATCH] crt: Use LoadLibraryA() in delayimp.c for char* type

2024-04-04 Thread Martin Storsjö

On Mon, 1 Apr 2024, Pali Rohár wrote:


dli.szDll is of LPCSTR type, which is always const char* (and not wchar_t*).
So instead of LoadLibrary() (which may take wchar_t* if _UNICODE macro is
defined by compiler) use LoadLibraryA() (which always takes char*).
---
mingw-w64-crt/misc/delayimp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-crt/misc/delayimp.c b/mingw-w64-crt/misc/delayimp.c
index ca4b51ad161d..caa6166f066a 100644
--- a/mingw-w64-crt/misc/delayimp.c
+++ b/mingw-w64-crt/misc/delayimp.c
@@ -177,7 +177,7 @@ FARPROC WINAPI __delayLoadHelper2(PCImgDelayDescr 
pidd,FARPROC *ppfnIATEntry)
  if(hmod==0) {
if(__pfnDliNotifyHook2)
  hmod = (HMODULE) (((*__pfnDliNotifyHook2)(dliNotePreLoadLibrary,)));
-if(hmod==0) hmod = LoadLibrary(dli.szDll);
+if(hmod==0) hmod = LoadLibraryA(dli.szDll);
if(hmod==0) {
  dli.dwLastError = GetLastError();
  if(__pfnDliFailureHook2)
--
2.20.1


LGTM, pushed. Thanks!

// Martin

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


Re: [Mingw-w64-public] [PATCH 01/15] crt: msvcrt.def.in: Add I386 C++ symbols

2024-04-04 Thread Martin Storsjö

On Mon, 1 Apr 2024, Pali Rohár wrote:


In msvcrt.def.in file are already defined mangled C++ symbols for X64 and
ARM32 versions of msvcrt.dll, so add also them for I386 version.

These symbols are present in Visual C++ 4.2 version of msvcrt.dll and same
set of symbols are in Visual C++ 5.0 and 6.0 versions.
---
mingw-w64-crt/lib-common/msvcrt.def.in | 101 +
1 file changed, 101 insertions(+)


Except for the patches I commented on, in this 15 patch series, the rest 
seemed reasonable, so I pushed most of them. I omitted patch 4, 12 and 15 
that I had comments on, and 14 which conflicted due to omitting those 
earlier patches.


Thanks for these patches!

// Martin

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


Re: [Mingw-w64-public] [PATCH 12/15] crt: msvcrt.def.in: Add symbols introduced in Windows Vista I386 and X64

2024-04-04 Thread Pali Rohár
On Friday 05 April 2024 00:02:02 Martin Storsjö wrote:
> On Mon, 1 Apr 2024, Pali Rohár wrote:
> 
> > ---
> > mingw-w64-crt/lib-common/msvcrt.def.in | 136 -
> > 1 file changed, 88 insertions(+), 48 deletions(-)
> > 
> > diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
> > b/mingw-w64-crt/lib-common/msvcrt.def.in
> > index 818d5149b156..71a6efcde3c9 100644
> > --- a/mingw-w64-crt/lib-common/msvcrt.def.in
> > +++ b/mingw-w64-crt/lib-common/msvcrt.def.in
> > @@ -369,12 +369,14 @@ _XcptFilter
> > F_ARM_ANY(__AdjustPointer)
> > F_NON_I386(__C_specific_handler)
> > __CppXcptFilter
> > +F_X86_ANY(__CxxCallUnwindDelDtor)
> > F_I386(__CxxCallUnwindDtor)
> > F_I386(__CxxCallUnwindVecDtor)
> > F_I386(__CxxDetectRethrow)
> > F_I386(__CxxExceptionFilter)
> > F_X86_ANY(__CxxFrameHandler)
> > -F_ARM_ANY(__CxxFrameHandler3)
> > +__CxxFrameHandler2
> > +__CxxFrameHandler3
> > F_I386(__CxxLongjmpUnwind@4)
> > F_I386(__CxxQueryExceptionSize)
> > F_I386(__CxxRegisterExceptionObject)
> > @@ -403,10 +405,10 @@ __crtGetLocaleInfoW
> > __crtGetStringTypeW
> > __crtLCMapStringA
> > __crtLCMapStringW
> > -F_ARM_ANY(__daylight)
> > +__daylight
> > __dllonexit
> > __doserrno
> > -F_ARM_ANY(__dstbias)
> > +__dstbias
> 
> These two symbols, __daylight and __dstbias, probably should be marked DATA
> (based on their declaration in headers at least).

__daylight and __dstbias (with two leading underlines) are regular
functions, not global variables. mingw-w64-crt does not provide its own
replacement version for these functions.

No other def file marks them as DATA and neither gendef does not detect
these symbols as DATA in any my examined msvcrt.dll version.

So why should they be marked as DATA?


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


Re: [Mingw-w64-public] [PATCH 04/15] crt: msvcrt.def.in: Export _Crt* symbols also on I386 and X64

2024-04-04 Thread Martin Storsjö

On Mon, 1 Apr 2024, Pali Rohár wrote:


They are present in msvcrt.dll since Windows Vista.
---
mingw-w64-crt/lib-common/msvcrt.def.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index 460a1bab097b..5b2f4ddb2f08 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -299,7 +299,7 @@ __ExceptionPtrToBool
?what@exception@@UBAPBDXZ
#endif

-#ifdef DEF_ARM32
+#if defined(DEF_ARM32) || defined(DEF_I386) || defined(DEF_X64)


I'd rather remove the ifdef altogether. If they're available on those 
three architectures, they're quite likely available on arm64 as well. And 
I just checked; the arm64 version of msvcrt.dll also does contain these 
symbols.


The reason for this discrepancy to begin with, was that most of these def 
files have started from dumps of different versions of msvcrt.dll; the 
arm32 dump was made from a much newer version that the other ones.


For arm64, we've not really done any bulk import from dumps at all. When 
arm64 became relevant, we instead unified the common similar bits from 
i386/x86_64/arm32 (leading to a shared file with these symbols only 
available for arm32, as that was what it looked like in the 3 separate 
dumps before that) and concluded that whatever is common/shared between 
them, also should exist similarly for arm64.


// Martin

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


Re: [Mingw-w64-public] [PATCH 06/15] crt: msvcrt.def.in: Do not export symbol wcsnlen on I386 and X64

2024-04-04 Thread Martin Storsjö

On Mon, 1 Apr 2024, Pali Rohár wrote:


Symbol wcsnlen was first introduced in Windows Vista version of msvcrt.dll
and mingw-w64 already provides replacement implementation in libmingwex. So
always use the replacement implementation on I386 and X64 and do not export
it. Also remove DATA keyword and use it in the same way as other wc*
symbols like wcsrtombs.
---
mingw-w64-crt/lib-common/msvcrt.def.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index af9405c45d41..126097187f69 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -1703,7 +1703,7 @@ wcsncmp
wcsncpy
wcsncpy_s
; We provide replacement implementation in libmingwex
-wcsnlen DATA
+F_ARM_ANY(wcsnlen)


FWIW, this looks reasonable.

The UCRT import libraries (ucrtbase.def.in and 
api-ms-win-crt-string-l1-1-0.def) have copied the


; We provide replacement implementation in libmingwex
wcsnlen DATA

pattern here (as this marking in msvcrt.def.in didn't say why we're 
replacing this function). With your rationale in mind, we could probably 
remove that marker and "DATA" attribute from those def files, to allow the 
real UCRT version to be used.


We could also consider moving this function from libmingwex into the 
libmsvcr* import libraries instead, to reduce the amount of unnecessary 
statically linked functions in UCRT configurations. (In principle, we 
could also make it specific to the x86 versions of msvcr*, as we can rely 
on this being present on ARM.)


To be clear - this isn't a blocker for this patch, it looks reasonable on 
its own, but we (any of us) probably should clear this up for UCRT at 
least.


// Martin

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


Re: [Mingw-w64-public] [PATCH 1/3] crt: Add non-inline variant of UCRT _scprintf, _snprintf and _snscanf functions

2024-04-04 Thread Martin Storsjö

On Sat, 30 Mar 2024, Pali Rohár wrote:


On Monday 25 March 2024 13:59:49 LIU Hao wrote:

在 2024-03-24 23:17, Pali Rohár 写道:

I see... The problem is that inline version of that function in stdio.h
conflicts with non-inline version in ucrt__scprintf.c file.

One option how to avoid this problem is to not include stdio.h into
ucrt__scprintf.c file.

Other option can be to remove inline version completely.


Please propose an updated patch for that.

In 'ucrt__snwprintf.c' there are some hacks around it.


Thank you for help. In attachment is an updated version. I checked that
it works on top of the current master branch (because original version
of the change is 2 years old now) and that it works for cases when
target application includes stdio.h header file and also when it does
not include it.


For changes like this, where we're adding non-inline functions for 
_scprintf, _snprintf and _snscanf, I would very much prefer if we'd also 
remove the inline form of these functions at the same time.


Right now, in the current form, the non-inline version of these functions 
are almost dead code and untestable with normal, proper use of the 
headers. It'd only be possible to test it by compiling code with headers 
in non-UCRT mode and linking against an UCRT import library.


So instead, I'd prefer to remove the inline form of these functions, for 
clarity and simplicity. Then all use of these functions in UCRT mode go 
through these non-inline functions, and we can be sure that they work as 
intended just by testing using these functions in any UCRT environment.


// Martin

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


Re: [Mingw-w64-public] [PATCH 1/3] crt: msvcrt20.def.in: Document different msvcrt20.dll versions

2024-04-04 Thread Martin Storsjö

On Mon, 1 Apr 2024, Pali Rohár wrote:


The original msvcrt20.dll version from Visual C++ 2.0 does not contain some
symbols, which are present in the version from Visual C++ 2.1 Upgrade. Also
Win32s version of msvcrt20.dll from Visual C++ 2.0 does not contain all
symbols as full version. Follow up Visual C++ 2.2 Upgrade version have not
introduced any new symbol. Windows OS system versions of msvcrt20.dll
contains same set of symbols as full version from Visual C++ 2.1 Upgrade.
---
mingw-w64-crt/lib32/msvcrt20.def.in | 109 +++-
1 file changed, 57 insertions(+), 52 deletions(-)


Thanks, these 3 patches seemed reasonable, so I pushed them.

// Martin

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


[Mingw-w64-public] [PATCH 2/5] crt: msvcrt.def.in: Do not export symbols unavailable on X64 since Vista

2024-04-04 Thread Pali Rohár
Symbols _getdllprocaddr, _heapadd, _heapused, _loaddll and _unloaddll are
available also in Windows XP x64 but were removed in Windows Vista x64 and
not present in any later Windows x64 version. So do not export these
symbols for X64.
---
 mingw-w64-crt/lib-common/msvcrt.def.in | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index a6f6da184274..cf8b6507b913 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -483,7 +483,7 @@ _getche
 _getcwd
 _getdcwd
 _getdiskfree
-_getdllprocaddr
+F_I386(_getdllprocaddr) ; _getdllprocaddr is available also in Windows XP x64, 
but was removed in Windows Vista x64
 _getdrive
 F_X86_ANY(_getdrives)
 _getmaxstdio
@@ -493,11 +493,11 @@ F_X86_ANY(_getsystime)
 _getw
 F_X86_ANY(_getws)
 F_I386(_global_unwind2)
-F_X86_ANY(_heapadd)
+F_I386(_heapadd) ; _heapadd is available also in Windows XP x64, but was 
removed in Windows Vista x64
 _heapchk
 _heapmin
 F_X86_ANY(_heapset)
-F_X86_ANY(_heapused)
+F_I386(_heapused) ; _heapused is available also in Windows XP x64, but was 
removed in Windows Vista x64
 _heapwalk
 _hypot
 _i64toa
@@ -546,7 +546,7 @@ _j1
 _jn
 _kbhit
 _lfind
-F_X86_ANY(_loaddll)
+F_I386(_loaddll) ; _loaddll is available also in Windows XP x64, but was 
removed in Windows Vista x64
 F_I386(_local_unwind2)
 _lock
 _locking
@@ -710,7 +710,7 @@ _ultow
 _umask
 _ungetch
 _unlink
-F_X86_ANY(_unloaddll)
+F_I386(_unloaddll) ; _unloaddll is available also in Windows XP x64, but was 
removed in Windows Vista x64
 _unlock
 _utime
 _vsnprintf
-- 
2.20.1



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


[Mingw-w64-public] [PATCH 1/5] crt: msvcrt.def.in: Consistently use lowercase word "replaced"

2024-04-04 Thread Pali Rohár
---
 mingw-w64-crt/lib-common/msvcrt.def.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index d03b79314c12..a6f6da184274 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -1219,7 +1219,7 @@ __libm_sse2_tanf
 __strncnt
 __wcserror_s
 __wcsncnt
-; _access_s Replaced by emu
+; _access_s replaced by emu
 _aligned_free_dbg
 _aligned_malloc_dbg
 _aligned_offset_malloc_dbg
@@ -1607,8 +1607,8 @@ _vwprintf_l
 _vwprintf_p
 _vwprintf_p_l
 _vwprintf_s_l
-; _waccess_s Replaced by emu
-; _wasctime_s Replaced by emu
+; _waccess_s replaced by emu
+; _wasctime_s replaced by emu
 F_NON_I386(_wassert) ; i386 _wassert replaced by emu
 _wcscoll_l
 _wcsdup_dbg
-- 
2.20.1



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


[Mingw-w64-public] [PATCH 3/5] crt: msvcrt.def.in: Do not export symbol __CxxCallUnwindDelDtor on X64

2024-04-04 Thread Pali Rohár
Symbol __CxxCallUnwindDelDtor is not available in any X64 version of
msvcrt.dll library. So do not export it on X64.
---
 mingw-w64-crt/lib-common/msvcrt.def.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index cf8b6507b913..1aff69eff437 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -1189,7 +1189,7 @@ _CrtSetReportHook
 _CrtSetReportHook2
 _CrtSetReportMode
 #endif
-F_X86_ANY(__CxxCallUnwindDelDtor)
+F_I386(__CxxCallUnwindDelDtor)
 __CxxFrameHandler3
 __daylight
 __dstbias
-- 
2.20.1



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


[Mingw-w64-public] [PATCH 4/5] crt: msvcrt.def.in: Move symbol tanhf to correct section

2024-04-04 Thread Pali Rohár
Symbol tanhf is available since Windows Vista x64. It is not available on
any 32-bit x86 version. So move this symbol from ARM-only section into
since-Vista section.
---
 mingw-w64-crt/lib-common/msvcrt.def.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index 1aff69eff437..ffc2812b92ac 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -1702,6 +1702,7 @@ strncpy_s
 strtok_s
 swprintf_s
 swscanf_s
+F_ARM_ANY(tanhf) ; i386 tanhf provided by emu and x64 tanhf replaced by emu
 tmpfile_s
 tmpnam_s
 F_ARM_ANY(utime) ; i386 and x64 utime replaced by alias in msvcrt-common.def.in
@@ -1777,7 +1778,6 @@ _libm_sse2_tan_precise
 ; TODO: move them to appropriate OS system version section (version in which 
they were introduced)
 F_ARM_ANY(_memcpy_strict_align)
 F_ARM_ANY(fabsf) ; i386 and x64 fabsf provided by emu
-F_ARM_ANY(tanhf) ; i386 and x64 tanhf provided by emu
 
 

 ; This is end of the list of symbols available in the Windows OS system 
versions of msvcrt.dll ;
-- 
2.20.1



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


[Mingw-w64-public] [PATCH 5/5] crt: msvcrt.def.in: Fix aliases for time related symbols on X64

2024-04-04 Thread Pali Rohár
Windows XP x64 does not provide 32-bit time functions. Those are provided
on X64 systems since Windows Vista x64.

Main function symbols (those without suffixes) are 64-bit on all Windows
x64 systems.

So remove aliasing of X64 "time" symbol to "_time64" symbol as it is not
needed.

Symbol "_difftime64" was added in Windows Vista. So for compatibility with
Windows XP x64, define "_difftime64" symbol as alias to "difftime". Both
symbols have same functionality.

And export _ctime32, _mktime32, _time32 and _wctime32 symbols also on X64
version of msvcrt.dll as they are available since Windows Vista for both
I386 and X64. Note that they are not available on Windows XP x64, but there
is no reason to not export them (because mingw-w64 crt does not provide any
fallback replacement implementation).
---
 mingw-w64-crt/lib-common/msvcrt.def.in | 22 +++---
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index ffc2812b92ac..c3dc34745aef 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -952,7 +952,7 @@ swscanf
 system
 tan
 tanh ; if we implement tanh, we can set it to DATA only.
-time F_NON_I386(== _time64)
+time
 tmpfile
 tmpnam
 tolower
@@ -1250,9 +1250,7 @@ _crtDbgFlag
 _cscanf_l
 _cscanf_s
 _cscanf_s_l
-; _ctime32 replaced by below aliases
-F_ARM_ANY(_ctime32)
-F_I386(_ctime32 == ctime)
+_ctime32 F_I386(== ctime) ; i386 _ctime32 replaced by alias
 ; _ctime32_s replaced by emu
 ; _ctime64_s replaced by emu
 _cwprintf_l
@@ -1264,7 +1262,7 @@ _cwscanf_l
 _cwscanf_s
 _cwscanf_s_l
 _difftime32 F_I386(== difftime) ; i386 _difftime32 replaced by alias
-_difftime64
+_difftime64 F_X64(== difftime) ; x64 _difftime64 replaced by alias
 _ecvt_s
 F_I386(_except_handler4_common)
 _expand_dbg
@@ -1464,11 +1462,9 @@ _mbtowc_l
 _mbsnlen
 _mbstrnlen
 _memicmp_l
-_mkgmtime32
+_mkgmtime32 F_I386(== _mkgmtime) ; i386 _mkgmtime32 replaced by alias
 ; _mktemp_s replaced by emu
-; _mktime32 replaced by below aliases
-F_I386(_mktime32 == mktime)
-F_ARM_ANY(_mktime32)
+_mktime32 F_I386(== mktime) ; i386 _mktime32 replaced by alias
 F_NON_I386(_msize_dbg)
 F_I386(_msize_debug)
 _printf_l
@@ -1544,9 +1540,7 @@ _swprintf_s_l
 _swscanf_l
 _swscanf_s_l
 _tempnam_dbg
-; _time32 replaced by below aliases
-F_I386(_time32 == time)
-F_ARM_ANY(_time32)
+_time32 F_I386(== time) ; i386 _time32 replaced by alias
 _tolower_l
 _toupper_l
 _towlower_l
@@ -1634,9 +1628,7 @@ _wcsupr_l
 _wcsupr_s
 _wcsupr_s_l
 _wcsxfrm_l
-; _wctime32 replaced by below aliases
-F_I386(_wctime32 == _wctime)
-F_ARM_ANY(_wctime32)
+_wctime32 F_I386(== _wctime) ; i386 _wctime32 replaced by alias
 ; _wctime32_s replaced by emu
 ; _wctime64_s replaced by emu
 _wctomb_l
-- 
2.20.1



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