https://bugs.winehq.org/show_bug.cgi?id=48398
Bug ID: 48398 Summary: [PATCH] build failure on arm64 with new gcc Product: Wine Version: 5.0-rc1 Hardware: aarch64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: costamagnagianfranco@yahoo.it Distribution: ---
Description: ../../tools/winegcc/winegcc -o d3dcompiler_47.dll.so --wine-objdir ../.. -fPIC -fasynchronous-unwind-tables -shared d3dcompiler_47.spec -mno-cygwin asmparser.o blob.o bytecodewriter.o compiler.o main.o preproc.o reflection.o utils.o asmshader.tab.o hlsl.tab.o ppy.tab.o asmshader.yy.o hlsl.yy.o ppl.yy.o version.res ../../dlls/dxguid/libdxguid.a ../../dlls/uuid/libuuid.a -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-rpath,/usr/lib/aarch64-linux-gnu/wine ../d3dx9_36/effect.c:1472:12: error: result of comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-unsigned-enum-zero-compare] if (op < 0 || op > SCT_PSINT) ~~ ^ ~ 1 error generated.
Author: Gianfranco Costamagna locutusofborg@debian.org
Forwarded: pending Last-Update: 2019-12-31
--- wine-5.0~rc1.orig/dlls/d3dx9_36/effect.c +++ wine-5.0~rc1/dlls/d3dx9_36/effect.c @@ -1469,7 +1469,7 @@ static HRESULT d3dx_set_shader_const_sta D3DXVECTOR4 value; HRESULT ret;
- if (op < 0 || op > SCT_PSINT) + if (op > SCT_PSINT) { FIXME("Unknown op %u.\n", op); return D3DERR_INVALIDCALL;
An enum starting with 0 can't obviously assume negative values...
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #1 from Gianfranco costamagnagianfranco@yahoo.it --- if you want an example of a failure is here: https://launchpadlibrarian.net/458461799/buildlog_ubuntu-focal-arm64.wine_5....
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #2 from Gianfranco costamagnagianfranco@yahoo.it --- https://launchpad.net/ubuntu/+source/wine/5.0~rc1-1ubuntu1 and the fixed version https://launchpad.net/ubuntu/+source/wine/5.0~rc1-1ubuntu2
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #3 from Gianfranco costamagnagianfranco@yahoo.it --- Created attachment 66165 --> https://bugs.winehq.org/attachment.cgi?id=66165 full patch for the issue
this is the full patch, with a fix for another really similar issue.
There are other issues I didn't figure out yet
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #4 from Gianfranco costamagnagianfranco@yahoo.it --- Created attachment 66172 --> https://bugs.winehq.org/attachment.cgi?id=66172 second patch for another issue
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #5 from Gianfranco costamagnagianfranco@yahoo.it --- Created attachment 66173 --> https://bugs.winehq.org/attachment.cgi?id=66173 third patch for the issue
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #6 from Gianfranco costamagnagianfranco@yahoo.it --- The three patches makes the build succeed now.
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- I'd recommend taking out --enable-maintainer-mode, you shouldn't need that.
https://bugs.winehq.org/show_bug.cgi?id=48398
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Summary|[PATCH] build failure on |Wine 5.0-rc1 fails to build |arm64 with new gcc |in maintainer mode | |(-Werror) with gcc 9.x and | |clang 9.x/10.x
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to explicitly mention maintainer mode which enables '-Werror'. The host/target architecture doesn't matter here. Also not limited to gcc. You can take any recent toolchain from LLVM 9.x/10.x releases, including Martin's LLVM MinGW which is based on upstream LLVM -> confirming.
Regards
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #9 from Gianfranco costamagnagianfranco@yahoo.it --- Alexander, thanks for pointing the maintainer mode hack.
However, they are real bugs, so instead of disabling the maintainer mode, I think it is better to fix them... (disabling maintainer mode should be asked to the Debian maintainer, I can if you ask me to do it)
https://bugs.winehq.org/show_bug.cgi?id=48398
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- The third one is probably a bug, but the others are just harmless or incorrect warnings.
Note that by using maintainer mode you'll constantly run into build failures, because compilers add new warnings all the time.
https://bugs.winehq.org/show_bug.cgi?id=48398
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fgouget@codeweavers.com Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=48398
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #11 from Fabian Maurer dark.shadow4@web.de --- What's the state on this?