On Wed Oct 12 07:58:15 2022 +0000, Alexandre Julliard wrote:
It breaks the llvm-mingw build:
tools/winebuild/winebuild -b x86_64-w64-mingw32 -w --implib -o dlls/ucrtbase/libucrtbase.cross.a --export \ ../wine/dlls/ucrtbase/ucrtbase.spec dlls/ucrtbase/crt_gccmain.cross.o \ dlls/ucrtbase/crt_main.cross.o dlls/ucrtbase/crt_winmain.cross.o dlls/ucrtbase/crt_wmain.cross.o \ dlls/ucrtbase/crt_wwinmain.cross.o dlls/ucrtbase/mathf.cross.o dlls/ucrtbase/printf.cross.o \ dlls/ucrtbase/sincos.cross.o ld.lld: error: undefined symbol: __wine_import_ucrtbase_name >>> referenced by /tmp/libucrtbase-8744d1.o:(__wine_import_ucrtbase_desc) ld.lld: error: undefined symbol: WinMain >>> referenced by ../crt/crt0_c.c:18 >>> libmingw32.a(lib64_libmingw32_a-crt0_c.o):(main) clang-13: error: linker command failed with exit code 1 (use -v to see invocation) winebuild: /home/julliard/llvm-mingw/bin/x86_64-w64-mingw32-as failed with status 1 make: *** [Makefile:149778: dlls/ucrtbase/libucrtbase.cross.a] Error 1
Indeed, and there's several issues at play. Looks like LLVM dlltool is doing MSVC-like import libs, I'm not sure how well we can do that with assembly files or if it's required.