On Tuesday 24 June 2025 14:47:45 Martin Storsjö wrote: > On Tue, 24 Jun 2025, Pali Rohár wrote: > > > On Tuesday 24 June 2025 14:41:10 Martin Storsjö wrote: > > > On Tue, 24 Jun 2025, Martin Storsjö wrote: > > > > > > > On Sat, 21 Jun 2025, Pali Rohár wrote: > > > > > > > > > AM_CFLAGS contains cflags required to build the mingw-w64 CRT source > > > > > code. > > > > > They are not intended to compile applications (including those used in > > > > > mingw-w64 testsuite). Setting per-target <target>_CFLAGS variable > > > > > overwrites the AM_CFLAGS. So for every testcase sets the custom > > > > > <target>_CFLAGS variable. This ensures that the testcase would not be > > > > > compiled with -D_CRTBLD or -D__MSVCRT_VERSION__=0x600 which is > > > > > unsuitable > > > > > when the mingw-w64 uses the UCRT by default. > > > > > --- > > > > > Should be applied on top of the: > > > > > - "crt: Improve LFS 64-bit functions" > > > > > - "crt: Improve LFS 64-bit functions (part 2)" > > > > > - crt: Fix _*stat32 and _*stat32i64 functions for 64-bit msvcrt.dll > > > > > builds > > > > > --- > > > > > mingw-w64-crt/Makefile.am | 73 +++++++++++++++++++-- > > > > > mingw-w64-crt/testcases/complex/Makefile.am | 50 ++++++++++++++ > > > > > 2 files changed, 116 insertions(+), 7 deletions(-) > > > > > > > > FWIW, this doesn't seem to be quite enough for making the existing > > > > testcases build properly. > > > > > > > > I set up the CI to run these tests, with these patches applied: > > > > https://github.com/mstorsjo/mingw-w64/commits/refs/heads/ci-testsuite/ > > > > > > > > The run results are at > > > > https://github.com/mstorsjo/mingw-w64/actions/runs/15848888686/job/44677297831, > > > > but you won't be able to see the logs if you're not logged in to github. > > > > > > > > The issues encountered by both the Clang and GCC builds are: > > > > > > > > ../testcases/t_ansi_io.c: In function 'main': > > > > ../testcases/t_ansi_io.c:11:10: fatal error: _mingw_print_push.h: No > > > > such file or directory > > > > 11 | #include <_mingw_print_push.h> > > > > > > > > (This header was removed in 2018 in > > > > 70860d945e6be713af352ee62820bccb653589c2.) > > > > > > > > ../testcases/t_trycatch.cpp:3:18: error: ISO C++17 does not allow > > > > dynamic exception specifications > > > > 3 | void foo (int d) throw (int) > > > > | ^~~~~ > > > > > > > > > > > > > > > > Additionally, a UCRT build hits this error: > > > > > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/x86_64-w64-mingw32/14.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > > > > testcases/tstmain_sys_xxx-tstmain_sys_xxx.o: in function `main': > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/tstmain_sys_xxx.c:13:(.text.startup+0xc): > > > > undefined reference to `__imp__sys_errlist' > > > > collect2.exe: error: ld returned 1 exit status > > > > make[2]: *** [Makefile:27717: testcases/tstmain_sys_xxx.exe] Error 1 > > > > > > > > > > > > A 32 bit msvcrt build hits these errors: > > > > > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > testcases/t_lfs-t_lfs.o: in function `main': > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:10:(.text.startup+0x2c): > > > > undefined reference to `_imp__ftello64' > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:13:(.text.startup+0x7d): > > > > undefined reference to `_imp__fseeko64' > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:21:(.text.startup+0x14e): > > > > undefined reference to `freopen64' > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:24:(.text.startup+0x15b): > > > > undefined reference to `tmpfile64' > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:26:(.text.startup+0x180): > > > > undefined reference to `open64' > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:21:(.text.startup+0x1bc): > > > > undefined reference to `freopen64' > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:24:(.text.startup+0x1c9): > > > > undefined reference to `tmpfile64' > > > > D:/a/_temp/msys64/gcc-mingw/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: > > > > > > > > D:\a\mingw-w64\mingw-w64\mingw-w64-crt\build/../testcases/t_lfs.c:24:(.text.startup+0x1d6): > > > > undefined reference to `tmpfile64' > > > > collect2.exe: error: ld returned 1 exit status > > > > make[2]: *** [Makefile:27525: testcases/t_lfs.exe] Error 1 > > > > > > Also, I'm hitting these errors also when targeting "ucrtbase" x86_64, > > > instead of "ucrt". > > > > > > // Martin > > > > Do you have "[PATCH 09/10] crt: Define LFS open64, freopen64, tmpfile64 > > symbols as aliases in crt-aliases.def.in"? It is part of those > > dependency patch series. > > Yes, it's included among the patches here. See the list of commits at > https://github.com/mstorsjo/mingw-w64/commits/refs/heads/ci-testsuite/. > > // Martin
When I run tests manually at the time of sending those my changes, they passed on 32-bit msvcrt locally. Maybe the test suite is using system mingw-w64 libs instead of locally compiled? And it is needed to first install mingw-w64 libs before running test suite? Just guessing. I will look at later once I would be back to my test env. _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public