Bug#947884: wine-development: patches for arm64 build failure
Hello Michael
On Sat, 18 Jan 2020 12:55:37 -0500 Michael Gilbert <mgilbert@debian.org> wrote:
> version: 5.0~rc1-2
>
> On Wed, Jan 1, 2020 at 12:15 PM Gianfranco Costamagna wrote:
> > Hello, I took some time to have a look on wine FTBFS, and I think I crafted some patches that are pending upstream review
>
> This never affected debian's wine-development package. I applied a
> much simpler patch for wine, which was affected.
>
unfortunately your patch wasn't enough for failures with new gcc and glibc (experimental)
https://bugs.winehq.org/show_bug.cgi?id=48398
(btw upstream is asking to just stop using maintainer mode to build)
something we still need is:
Description: a for loop from n down to >=0 can't be assigned to an unsigned int
clang -c -o variant.o variant.c -I. -I../../include -I../../include/msvcrt -D__WINESRC__ -D_OLEAUT32_ -D_REENTRANT -fPIC -fno-builtin -fshort-wchar -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wno-pragma-pack -Wstrict-prototypes -Wtype-limits -Wvla -Wwrite-strings -Wpointer-arith -gdwarf-2 -gstrict-dwarf -Werror -Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-shift-overflow -Wno-unused-function -Wno-deprecated-declarations -Wno-enum-conversion -Wno-absolute-value
signal_arm64.c:1606:48: error: result of comparison of unsigned expression >= 0 is always true [-Werror,-Wtautological-unsigned-zero-compare]
for (i = func->u.s.RegF / 2 - 1; i >= 0; i--)
~ ^ ~
signal_arm64.c:1634:44: error: result of comparison of unsigned expression >= 0 is always true [-Werror,-Wtautological-unsigned-zero-compare]
for (i = func->u.s.RegI / 2 - 1; i >= 0; i--)
~ ^ ~
2 errors generated.
make[2]: *** [Makefile:331: signal_arm64.o] Error 1
Author: Gianfranco Costamagna <locutusofborg@debian.org>
--- wine-development-4.21.orig/dlls/ntdll/signal_arm64.c
+++ wine-development-4.21/dlls/ntdll/signal_arm64.c
@@ -1519,7 +1519,8 @@ static void process_unwind_codes( BYTE *
static void *unwind_packed_data( ULONG_PTR base, ULONG_PTR pc, RUNTIME_FUNCTION *func,
CONTEXT *context, KNONVOLATILE_CONTEXT_POINTERS *ptrs )
{
- unsigned int i, len, offset, skip = 0;
+ int i;
+ unsigned int len, offset, skip = 0;
unsigned int int_size = func->u.s.RegI * 8, fp_size = func->u.s.RegF * 8, regsave, local_size;
TRACE( "function %lx-%lx: len=%#x flag=%x regF=%u regI=%u H=%u CR=%u frame=%x\n",
(or to ignore the autological-unsigned-zero-compare new flag)
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;
--- wine-5.0~rc1.orig/dlls/gdiplus/graphics.c
+++ wine-5.0~rc1/dlls/gdiplus/graphics.c
@@ -6836,8 +6836,8 @@ GpStatus WINGDIPAPI GdipTransformPoints(
GpCoordinateSpace src_space, GpPointF *points, INT count)
{
if(!graphics || !points || count <= 0 ||
- dst_space < 0 || dst_space > CoordinateSpaceDevice ||
- src_space < 0 || src_space > CoordinateSpaceDevice)
+ dst_space > CoordinateSpaceDevice ||
+ src_space > CoordinateSpaceDevice)
return InvalidParameter;
if(graphics->busy)
and:
Description: Do not look for sysctl, to avoid gcc warnings with Werror=cpp on newer glibc
Author: Gianfranco Costamagna <locutusofborg@debian.org>
Last-Update: 2019-12-31
--- wine-5.0~rc1.orig/configure.ac
+++ wine-5.0~rc1/configure.ac
@@ -553,7 +553,7 @@ AC_HEADER_STAT()
dnl **** Checks for headers that depend on other ones ****
-AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/sysctl.h sys/user.h sys/vfs.h],,,
+AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
[#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
Reply to: