WineHQ upgrade breaking dinput8:dinput?

André Hentschel nerv at dawncrow.de
Sun Jul 10 13:40:26 CDT 2016


Am 26.06.2016 um 17:31 schrieb André Hentschel:
> Am 24.04.2016 um 21:12 schrieb Francois Gouget:
>>
>> I have added binaries compiled with my MinGW with -O2 and -O0, and 
>> compiled with the TestBot compiler. I also added assembly files and 
>> compiler version information. All of this is available at:
>>
>> http://fgouget.free.fr/tmp/dinput8-dinput.tar.xz
>>
>>
>> For immediate reference:
>> My compiler is the Debian Testing compiler (buggy):
>>   $ i686-w64-mingw32-gcc --version
>>   i686-w64-mingw32-gcc (GCC) 5.3.1 20160205
>>   Copyright (C) 2015 Free Software Foundation, Inc.
>>   This is free software; see the source for copying conditions.  There is NO
>>   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>>
>> The TestBot compiler is the Debian 7.4 compiler (not buggy):
>>   $ i686-w64-mingw32-gcc --version
>>   i686-w64-mingw32-gcc (GCC) 4.6.3
>>   Copyright (C) 2011 Free Software Foundation, Inc.
>>   This is free software; see the source for copying conditions.  There is NO
>>   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>>
>>
>> And the WineTest.exe binary is compiled with the Debian 8 compiler 
>> which is presumably close to the current Debian Testing one.
> 
> What happens if we compile it using Clang? (totally easy to do so by using wclang [1] to generate a wrapper around clang and mingw-w64)
> Or for me to try it, what's the best way to verify? does it depend on the wine version somewhat?
> 
> [1] https://github.com/tpoechtrager/wclang
> 

I noticed that my mingw-w64 has the same issue, so it was easy to try it out and it works!
Could someone install wclang on that machine and make wine using it please?

It's as easy as running configure like:
./configure CROSSCC=i686-w64-mingw32-clang ...
or
./configure --host=i686-w64-mingw32 CC=i686-w64-mingw32-clang host_alias=i686-w64-mingw32 ...

I compiled with (just exchanged i686-w64-mingw32-gcc with i686-w64-mingw32-clang):
i686-w64-mingw32-clang -c -o device.cross.o ../../../../dlls/dinput8/tests/device.c -I. -I../../../../dlls/dinput8/tests \
  -I../../../include -I../../../../include -D__WINESRC__ -DWINE_CROSSTEST -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
i686-w64-mingw32-clang -c -o dinput.cross.o ../../../../dlls/dinput8/tests/dinput.c -I. -I../../../../dlls/dinput8/tests \
  -I../../../include -I../../../../include -D__WINESRC__ -DWINE_CROSSTEST -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
i686-w64-mingw32-clang -c -o testlist.cross.o testlist.c -I. -I../../../../dlls/dinput8/tests -I../../../include \
  -I../../../../include -D__WINESRC__ -DWINE_CROSSTEST -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
../../../tools/winegcc/winegcc -o dinput8_crosstest.exe -b i686-w64-mingw32 -B../../../tools/winebuild \
  --lib-suffix=.cross.a device.cross.o dinput.cross.o testlist.cross.o \
  ../../../dlls/dinput8/libdinput8.cross.a ../../../dlls/ole32/libole32.cross.a \
  ../../../dlls/user32/libuser32.cross.a ../../../dlls/advapi32/libadvapi32.cross.a 






More information about the wine-devel mailing list