[Bug 45349] Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V, World of Warcraft)

WineHQ Bugzilla wine-bugs at winehq.org
Thu Jul 30 13:48:59 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=45349

--- Comment #23 from i.Dark_Templar <idarktemplar at mail.ru> ---
(In reply to Justin King-Lacroix from comment #21)
> Re comment #19: How did you build with PE support? (I'm on Debian.) Is it
> more than just having mingw-w64 installed?

I built it on Gentoo.
First I built via crossdev crosstoolchain for x86_64-w64-mingw32 and
i686-w64-mingw32. For i686 toolchain I added '--enable-threads=posix
--disable-sjlj-exceptions --with-dwarf2' configure options, for x86_64
toolchain I added only '--enable-threads=posix'. Not sure if it's relevant.

After building toolchain via crossdev I had following toolchain packages
installed:
cross-i686-w64-mingw32/binutils
cross-i686-w64-mingw32/gcc
cross-i686-w64-mingw32/mingw64-runtime
cross-x86_64-w64-mingw32/binutils
cross-x86_64-w64-mingw32/gcc
cross-x86_64-w64-mingw32/mingw64-runtime

And I had following working crosscompilers since I'm building wine both 32bit
and 64bit:
i686-w64-mingw32-gcc
i686-w64-mingw32-g++
x86_64-w64-mingw32-gcc
x86_64-w64-mingw32-g++

After that I rebuilt both wine-vanilla-5.13 and wine-staging-5.13 adding
'--with-mingw' configure option. wine without staging patchset is called
wine-vanilla in Gentoo, btw. I also added two patches from bug #49590 and
(unrelated) a rebased patch from bug #38166.

When wine is built with mingw support, different libraries are built. Instead
of some '*.dll.so' libraries '*.dll' libraries would be built.

I might remember wrong, but I think when I built wine without mingw, I got
api-ms-win-appmodel-identity-l1-1-0.dll.so, and with mingw I got only
api-ms-win-appmodel-identity-l1-1-0.dll, for example. I might be wrong with
this example, but if you compare wine libraries built with mingw support and
without mingw support, you'll be able to find a lot of such libraries.

(In reply to Justin King-Lacroix from comment #22)
> Because if so, I built wine from HEAD with PE support, and SC2 has the same
> crash.

There might be few issues:
1) Did you build wine with staging patchset or without one? I expect SC2
wouldn't work without staging patches yet.
2) Something might be broken in wine HEAD. I think it's unlikely, but it can be
a case. In that case building release might help.
3) You might have built wine without using mingw. Explicitly adding
'--with-mingw' option should force build system to use mingw crosscompilers or
output an error during configure stage if crosstoolchain doesn't work properly
or not detected.
4) If you have more than one wine package installed, ensure you're using
correct one.
5) Crosscompilers might have been built differently. As I wrote earlier, I
added  '--enable-threads=posix' besides other options because it was required
for building dxvk from source, which I'm using as well. It might have affected
result, it might have not.

While writing this comment, I've launched blizzard app, updated SC2 and
launched it successfully, so it doesn't look like crash might have been caused
by an update to SC2.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list