https://bugs.winehq.org/show_bug.cgi?id=52420
nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #71681|0 |1 is obsolete| |
--- Comment #6 from nekoNexus@protonmail.ch --- Created attachment 71693 --> https://bugs.winehq.org/attachment.cgi?id=71693 Arch PKGBUILD File for Wine 7.0 Release
So, I managed to narrow it down a bit but not completely (I'm also updating the attachment with my findings for Arch makepkg repoduction):
- If the clang build is pure clang, it will compile, but won't run (tested by running winecfg)
- If the the clang build has mingw enabled, it will compile, but only if ld is used and lld isn't used
- If mingw is enabled with a clang build, relro can't be used because mingw's ld doesn't like the "-z" argument for whatever reason
- If the build succeeds with Clang and mingw (which it always will, provided the above two points are followed), the resulting WoW64 build will run but will throw one stack overflow error
- If certain CFLAGS are passed to clang, the resulting build will throw 3 stack overflow errors; an example would be something like this:
export CFLAGS="-O3 -pipe -fno-plt -minline-all-stringops -fexceptions -Wall \ -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection"
-----
That said, as a reminder, even with the stack overflow errors Wine will still run but a few things are made clear:
- Pure clang builds have some kind of problem preventing use, even with simple flag setups like: "-O3 -pipe -std=gnu89"
- Clang + mingw builds run but I wouldn't trust a build spontaneously throwing overflow errors
and
- Clang + mingw builds require compromising relro