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 <locutusofb...@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 <locutusofb...@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 <locutusofb...@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 <locutusofb...@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 <locutusofb...@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

Reply via email to