Re: [Mingw-w64-public] [PATCH 3/7] crt: msvcr120 and UCRT: Fix X64 _(w)findfirst and _(w)findnext symbol aliases

2024-04-30 Thread Pali Rohár
On Tuesday 30 April 2024 11:57:02 Martin Storsjö wrote:
> On Sat, 27 Apr 2024, Pali Rohár wrote:
> 
> > These symbols on X64 should resolve to _findfirst64i32/_findnext64i32
> > functions, like in other CRT libraries and header files.
> 
> It could be worth mentioning in the commit message, that the 32 bit versions
> of these aliases or redirects, are intentionally left as they were, even if
> we at this point know its wrong, as we are about to change it in a later
> patch soon. (Leaving things untouched is one thing, but here we're adding
> new F32() wrappers, even if they are kept pointing at the wrong function.)
> 
> // Martin

Yes, Adding sentence like that should really help.


___
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 3/7] crt: msvcr120 and UCRT: Fix X64 _(w)findfirst and _(w)findnext symbol aliases

2024-04-30 Thread Martin Storsjö

On Sat, 27 Apr 2024, Pali Rohár wrote:


These symbols on X64 should resolve to _findfirst64i32/_findnext64i32
functions, like in other CRT libraries and header files.


It could be worth mentioning in the commit message, that the 32 bit 
versions of these aliases or redirects, are intentionally left as they 
were, even if we at this point know its wrong, as we are about to change 
it in a later patch soon. (Leaving things untouched is one thing, but here 
we're adding new F32() wrappers, even if they are kept pointing at the 
wrong function.)


// 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 3/7] crt: msvcr120 and UCRT: Fix X64 _(w)findfirst and _(w)findnext symbol aliases

2024-04-27 Thread Pali Rohár
These symbols on X64 should resolve to _findfirst64i32/_findnext64i32
functions, like in other CRT libraries and header files.
---
 mingw-w64-crt/Makefile.am | 4 
 ...l1-1-0.def => api-ms-win-crt-filesystem-l1-1-0.def.in} | 8 ++--
 mingw-w64-crt/lib-common/msvcr120_app.def.in  | 8 
 mingw-w64-crt/lib-common/ucrtbase.def.in  | 6 --
 mingw-w64-crt/lib64/msvcr120.def.in   | 4 ++--
 mingw-w64-crt/lib64/msvcr120d.def.in  | 4 ++--
 6 files changed, 22 insertions(+), 12 deletions(-)
 rename mingw-w64-crt/lib-common/{api-ms-win-crt-filesystem-l1-1-0.def => 
api-ms-win-crt-filesystem-l1-1-0.def.in} (85%)

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index e6a21446b494..97ba61e7a213 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -1114,6 +1114,7 @@ processed_defs += lib32/crtdll.def lib32/msvcrt10.def 
lib32/msvcrt20.def lib32/m
  lib32/msvcr80.def lib32/msvcr90.def 
lib32/msvcr90d.def lib32/msvcr100.def lib32/msvcr110.def lib32/msvcr120.def 
lib32/msvcr120d.def \
  lib32/msvcr120_app.def lib32/msvcp120_app.def 
lib32/ucrtbase.def \
  lib32/api-ms-win-crt-math-l1-1-0.def 
lib32/api-ms-win-crt-private-l1-1-0.def lib32/api-ms-win-crt-runtime-l1-1-0.def 
\
+ lib32/api-ms-win-crt-filesystem-l1-1-0.def \
  lib32/vcruntime140_app.def
 
 endif
@@ -1490,6 +1491,7 @@ processed_defs += lib64/msvcrt.def lib64/msvcr80.def 
lib64/msvcr90.def lib64/msv
  lib64/advapi32.def lib64/clbcatq.def 
lib64/kernel32.def lib64/ole32.def \
  lib64/oleaut32.def lib64/user32.def 
lib64/ws2_32.def \
  lib64/api-ms-win-crt-math-l1-1-0.def 
lib64/api-ms-win-crt-private-l1-1-0.def lib64/api-ms-win-crt-runtime-l1-1-0.def 
\
+ lib64/api-ms-win-crt-filesystem-l1-1-0.def \
  lib64/vcruntime140_app.def
 
 endif
@@ -1832,6 +1834,7 @@ processed_defs += libarm32/msvcrt.def 
libarm32/msvcr80.def libarm32/msvcr90.def
  libarm32/advapi32.def libarm32/clbcatq.def 
libarm32/kernel32.def libarm32/ole32.def libarm32/oleaut32.def \
  libarm32/user32.def libarm32/ws2_32.def \
  libarm32/api-ms-win-crt-math-l1-1-0.def 
libarm32/api-ms-win-crt-private-l1-1-0.def 
libarm32/api-ms-win-crt-runtime-l1-1-0.def \
+ libarm32/api-ms-win-crt-filesystem-l1-1-0.def 
\
  libarm32/vcruntime140_app.def
 
 endif
@@ -2126,6 +2129,7 @@ processed_defs += libarm64/msvcrt.def 
libarm64/ucrtbase.def \
  libarm64/advapi32.def libarm64/clbcatq.def 
libarm64/kernel32.def libarm64/ole32.def libarm64/oleaut32.def \
  libarm64/user32.def libarm64/ws2_32.def \
  libarm64/api-ms-win-crt-math-l1-1-0.def 
libarm64/api-ms-win-crt-private-l1-1-0.def 
libarm64/api-ms-win-crt-runtime-l1-1-0.def \
+ libarm64/api-ms-win-crt-filesystem-l1-1-0.def 
\
  libarm64/vcruntime140_app.def
 
 endif
diff --git a/mingw-w64-crt/lib-common/api-ms-win-crt-filesystem-l1-1-0.def 
b/mingw-w64-crt/lib-common/api-ms-win-crt-filesystem-l1-1-0.def.in
similarity index 85%
rename from mingw-w64-crt/lib-common/api-ms-win-crt-filesystem-l1-1-0.def
rename to mingw-w64-crt/lib-common/api-ms-win-crt-filesystem-l1-1-0.def.in
index 45ae728baf07..219361b7047f 100644
--- a/mingw-w64-crt/lib-common/api-ms-win-crt-filesystem-l1-1-0.def
+++ b/mingw-w64-crt/lib-common/api-ms-win-crt-filesystem-l1-1-0.def.in
@@ -2,6 +2,8 @@ LIBRARY api-ms-win-crt-filesystem-l1-1-0
 
 EXPORTS
 
+#include "func.def.in"
+
 _access
 ; access is provided as an alias for __mingw_access
 ; access == _access
@@ -12,12 +14,14 @@ _chdrive
 _chmod
 chmod == _chmod
 _findclose
-_findfirst == _findfirst64
+F32(_findfirst == _findfirst64)
+F64(_findfirst == _findfirst64i32)
 _findfirst32
 _findfirst32i64
 _findfirst64
 _findfirst64i32
-_findnext == _findnext64
+F32(_findnext == _findnext64)
+F64(_findnext == _findnext64i32)
 _findnext32
 _findnext32i64
 _findnext64
diff --git a/mingw-w64-crt/lib-common/msvcr120_app.def.in 
b/mingw-w64-crt/lib-common/msvcr120_app.def.in
index 1cc7548560fc..e2474e77c372 100644
--- a/mingw-w64-crt/lib-common/msvcr120_app.def.in
+++ b/mingw-w64-crt/lib-common/msvcr120_app.def.in
@@ -,7 +,7 @@ F_I386(_findfirst == _findfirst32)
 F_X86_ANY(_findfirst32i64)
 _findfirst64
 F_X86_ANY(_findfirst64i32)
-F_X64(_findfirst == _findfirst64)
+F_X64(_findfirst == _findfirst64i32)
 F_ARM32(_findfirsti64)
 F_ARM32(_findnext)
 F_X86_ANY(_findnext32)
@@