Alexandre Julliard julliard@winehq.org wrote:
This patch in particular fixes 32-bit build where a slightly old ming32-dlltool chokes on krn386.exe16.ApiName entries. These are marked as PRIVATE anyway, so they won't appear in the generated import library.
This should be done only for the mingw case, not for the .def import lib case. We need a list of all the functions to get the correct ordinal hints.
What is the sign of the mingw case? Can 'include_stubs' flag be used as an indicator, or something else?
P.S. Also, not mentioned in the patch, for me the 32-bit build still fails like this in dlls/msvcrt/tests: ../../.././../wine64/tools/winegcc/winegcc -o msvcrt_test-stripped.exe -B../../.././../wine64/tools/winebuild \ --sysroot=../../.. -b i586-pc-mingw32 --lib-suffix=.cross.a -s -Wb,-F,msvcrt_test.exe -mno-cygwin \ cpp.cross.o data.cross.o dir.cross.o environ.cross.o file.cross.o headers.cross.o heap.cross.o \ locale.cross.o misc.cross.o printf.cross.o scanf.cross.o signal.cross.o string.cross.o \ time.cross.o testlist.cross.o ../../../dlls/advapi32/libadvapi32.cross.a ../../../dlls/msvcrt/libmsvcrt.cross.a(drjebs00585.o):(.text+0x0): multiple definition of `__onexit' /usr/i586-pc-mingw32/sys-root/mingw/lib/crt2.o:crt1.c:(.text+0x10): first defined here collect2: ld returned 1 exit status winegcc: i586-pc-mingw32-gcc failed
This is a wow64 build, but pure 32-bit build fails same way. I didn't want to make noise with creating a bug report, hopefully you have an idea how to fix this with new PE scheme for the tests.