[PATCH] winebuild: Don't output private entries when generating a .def file.

Dmitry Timoshkov dmitry at baikal.ru
Wed Apr 10 02:00:05 CDT 2019


Alexandre Julliard <julliard at 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.

-- 
Dmitry.



More information about the wine-devel mailing list