On Sat Jan 17 01:07:01 2026 +0000, Yuxuan Shui wrote:
certain things has `libmsvcrt*.a` and `libwinecrt0.a` in reversed order during linking. for example: ``` tools/winegcc/winegcc -o dlls/msvcr70/tests/x86_64-windows/msvcr70_test.exe --wine-objdir . -b x86_64-w64-mingw32 \ dlls/msvcr70/tests/x86_64-windows/msvcr70.o dlls/msvcr70/tests/x86_64-windows/testlist.o \
-Wl,--debug-file,dlls/msvcr70/tests/x86_64-windows/msvcr70_test.exe.debug \ dlls/winecrt0/x86_64-windows/libwinecrt0.a dlls/msvcr70/x86_64-windows/libmsvcr70.a \ dlls/kernel32/x86_64-windows/libkernel32.a dlls/ntdll/x86_64-windows/libntdll.a ``` the result is `do_global_ctors` (in `crt_main.o` in `libmsvcr70.a`) can't find `_initterm_e`. Sure, we'd need to provide a replacement `_initterm_e` in msvcr70. That doesn't seem a strong enough reason to move stuff to ntdll.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9265#note_127262