--- Begin Message ---
Source: wine-development
Version: 4.21-2
Severity: serious
control: affects -1 src:wine
Hello, I took some time to have a look on wine FTBFS, and I think I crafted some patches that are pending upstream review
https://bugs.winehq.org/show_bug.cgi?id=48398
+wine-development (4.21-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload (Closes: #-1)
+ * Fix new-gcc errors on arm64.
+ * Do not check anymore for sysctl header file
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 31 Dec 2019 17:27:10 +0100
the sysctl hack is needed for the new glibc
The very same patches are applying cleanly to wine too.
thanks
Gianfranco
diff -Nru wine-5.0~rc1/debian/patches/anysize-array.patch wine-5.0~rc1/debian/patches/anysize-array.patch
--- wine-5.0~rc1/debian/patches/anysize-array.patch 1970-01-01 01:00:00.000000000 +0100
+++ wine-5.0~rc1/debian/patches/anysize-array.patch 2019-12-31 18:29:19.000000000 +0100
@@ -0,0 +1,32 @@
+Description:
+clang -c -o file.o file.c -I. -I../../include -I../../include/msvcrt -D__WINESRC__ -D_REENTRANT -fPIC -fno-builtin -fshort-wchar -Wall -pipe -fcf-protection=none -fno-stack-protector -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
+file.c:1057:49: error: array index 1 is past the end of the array (which contains 1 element) [-Werror,-Warray-bounds]
+ dir_info->FileName[0] == '.' && dir_info->FileName[1] == '.') continue;
+ ^ ~
+../../include/winternl.h:551:5: note: array 'FileName' declared here
+ WCHAR FileName[ANYSIZE_ARRAY];
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+Last-Update: 2019-12-31
+
+--- wine-development-4.21.orig/include/winnt.h
++++ wine-development-4.21/include/winnt.h
+@@ -4115,7 +4115,7 @@ typedef struct tagMESSAGE_RESOURCE_DATA
+ * First a constant for the following typedefs.
+ */
+
+-#define ANYSIZE_ARRAY 1
++#define ANYSIZE_ARRAY 2
+
+ /* FIXME: Orphan. What does it point to? */
+ typedef PVOID PACCESS_TOKEN;
+--- wine-development-4.21.orig/tools/winapi/winapi_test
++++ wine-development-4.21/tools/winapi/winapi_test
+@@ -140,7 +140,7 @@ my $progress_max = scalar(@files);
+ my %type_name2type;
+
+ my %defines = (
+- "ANYSIZE_ARRAY" => 1,
++ "ANYSIZE_ARRAY" => 2,
+ "CCHDEVICENAME" => 32,
+ "CCHILDREN_TITLEBAR+1" => 6,
+ "ELF_VENDOR_SIZE" => 4,
diff -Nru wine-5.0~rc1/debian/patches/fix-bad-comparison.patch wine-5.0~rc1/debian/patches/fix-bad-comparison.patch
--- wine-5.0~rc1/debian/patches/fix-bad-comparison.patch 1970-01-01 01:00:00.000000000 +0100
+++ wine-5.0~rc1/debian/patches/fix-bad-comparison.patch 2019-12-31 18:29:19.000000000 +0100
@@ -0,0 +1,36 @@
+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)
diff -Nru wine-5.0~rc1/debian/patches/for-loop.patch wine-5.0~rc1/debian/patches/for-loop.patch
--- wine-5.0~rc1/debian/patches/for-loop.patch 1970-01-01 01:00:00.000000000 +0100
+++ wine-5.0~rc1/debian/patches/for-loop.patch 2019-12-31 18:29:19.000000000 +0100
@@ -0,0 +1,26 @@
+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",
+
diff -Nru wine-5.0~rc1/debian/patches/no-sysctl.patch wine-5.0~rc1/debian/patches/no-sysctl.patch
--- wine-5.0~rc1/debian/patches/no-sysctl.patch 1970-01-01 01:00:00.000000000 +0100
+++ wine-5.0~rc1/debian/patches/no-sysctl.patch 2019-12-31 17:25:19.000000000 +0100
@@ -0,0 +1,16 @@
+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>
diff -Nru wine-5.0~rc1/debian/patches/series wine-5.0~rc1/debian/patches/series
--- wine-5.0~rc1/debian/patches/series 2019-12-18 05:29:54.000000000 +0100
+++ wine-5.0~rc1/debian/patches/series 2019-12-31 18:29:19.000000000 +0100
@@ -38,3 +38,7 @@
warnings/argument-promotion.patch
warnings/discarded-qualifiers.patch
warnings/uninitialized-variables.patch
+no-sysctl.patch
+fix-bad-comparison.patch
+anysize-array.patch
+for-loop.patch
--- End Message ---