From 06e1264e09c77ba78f8d4590036cec99ef67affd Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 13 Aug 2017 12:47:46 +0100 Subject: app-emulation/wine : version bump (single slot) --- app-emulation/wine/files/builtin_ms_va_list.c | 9 ++ app-emulation/wine/files/pr66838.c | 36 +++++ app-emulation/wine/files/pr69140.c | 37 +++++ .../wine/files/wine-1.4_rc2-multilib-portage.patch | 40 ----- app-emulation/wine/files/wine-1.5.26-winegcc.patch | 59 +++++++ app-emulation/wine/files/wine-1.6-memset-O3.patch | 21 +++ .../wine/files/wine-1.8-gnutls-3.5-compat.patch | 39 ----- .../wine/files/wine-1.9.5-multilib-portage.patch | 31 ++++ .../wine/files/wine-gcc-4.9-null-pointer.patch | 35 ---- app-emulation/wine/files/wine-sysmacros.patch | 177 --------------------- 10 files changed, 193 insertions(+), 291 deletions(-) create mode 100644 app-emulation/wine/files/builtin_ms_va_list.c create mode 100644 app-emulation/wine/files/pr66838.c create mode 100644 app-emulation/wine/files/pr69140.c delete mode 100644 app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch create mode 100644 app-emulation/wine/files/wine-1.5.26-winegcc.patch create mode 100644 app-emulation/wine/files/wine-1.6-memset-O3.patch delete mode 100644 app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch create mode 100644 app-emulation/wine/files/wine-1.9.5-multilib-portage.patch delete mode 100644 app-emulation/wine/files/wine-gcc-4.9-null-pointer.patch delete mode 100644 app-emulation/wine/files/wine-sysmacros.patch (limited to 'app-emulation/wine/files') diff --git a/app-emulation/wine/files/builtin_ms_va_list.c b/app-emulation/wine/files/builtin_ms_va_list.c new file mode 100644 index 00000000..f36fc260 --- /dev/null +++ b/app-emulation/wine/files/builtin_ms_va_list.c @@ -0,0 +1,9 @@ +/* Taken from Wine's configure script. LGPL 2.1+ */ + +#include + +int main(void) +{ + void func(__builtin_ms_va_list *args); + return 0; +} diff --git a/app-emulation/wine/files/pr66838.c b/app-emulation/wine/files/pr66838.c new file mode 100644 index 00000000..cd616859 --- /dev/null +++ b/app-emulation/wine/files/pr66838.c @@ -0,0 +1,36 @@ +/* From gcc svn, /branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr66838.c */ +/* Copyrighted and distributed under the same terms as gcc */ + +void abort (void); + +char global; + +__attribute__((sysv_abi, noinline, noclone)) +void sysv_abi_func(char const *desc, void *local) +{ + register int esi asm ("esi"); + register int edi asm ("edi"); + + if (local != &global) + abort (); + + /* Clobber some of the extra SYSV ABI registers. */ + asm volatile ("movl\t%2, %0\n\tmovl\t%2, %1" + : "=r" (esi), "=r" (edi) + : "i" (0xdeadbeef)); +} + +__attribute__((ms_abi, noinline, noclone)) +void ms_abi_func () +{ + sysv_abi_func ("1st call", &global); + sysv_abi_func ("2nd call", &global); + sysv_abi_func ("3rd call", &global); +} + +int +main(void) +{ + ms_abi_func(); + return 0; +} diff --git a/app-emulation/wine/files/pr69140.c b/app-emulation/wine/files/pr69140.c new file mode 100644 index 00000000..7c9e001f --- /dev/null +++ b/app-emulation/wine/files/pr69140.c @@ -0,0 +1,37 @@ +/* { dg-do compile { target lp64 } } */ +/* { dg-options "-O2 -mincoming-stack-boundary=3" } */ + +typedef struct { + unsigned int buf[4]; + unsigned char in[64]; +} MD4_CTX; + +static void +MD4Transform (unsigned int buf[4], const unsigned int in[16]) +{ + unsigned int a, b, c, d; + (b) += ((((c)) & ((d))) | ((~(c)) & ((a)))) + (in[7]); + (a) += ((((b)) & ((c))) | ((~(b)) & ((d)))) + (in[8]); + (d) += ((((a)) & ((b))) | ((~(a)) & ((c)))) + (in[9]); + buf[3] += d; +} + +void __attribute__((ms_abi)) +MD4Update (MD4_CTX *ctx, const unsigned char *buf) +{ + MD4Transform( ctx->buf, (unsigned int *)ctx->in); + MD4Transform( ctx->buf, (unsigned int *)ctx->in); +} + +int +main(void) +{ + MD4_CTX ctx_test = + { + { 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476 }, + { 0, 0 } + }; + unsigned char buf[64]; + + MD4Update(&ctx_test, (const unsigned char *) &buf); +} diff --git a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch b/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch deleted file mode 100644 index be6ffc56..00000000 --- a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=395615 - -Explicitly add the required -m32/m64 to *FLAGS; this overrides any -arch-specific -m* flags that may have been appended by multilib-portage. - -Even though -m32/m64 is now added to *FLAGS, -m32/m64 still has to be -explicitly added to CC and CXX due to wine's build system. For example, -winegcc saves the build-time value of CC and uses it at runtime. - ---- a/configure.ac -+++ b/configure.ac -@@ -133,12 +133,18 @@ - then - CC="$CC -m64" - CXX="$CXX -m64" -+ CFLAGS="$CFLAGS -m64" -+ LDFLAGS="$LDFLAGS -m64" -+ CXXFLAGS="$CXXFLAGS -m64" - host_cpu="x86_64" - notice_platform="64-bit " - AC_SUBST(TARGETFLAGS,"-m64") - else - CC="$CC -m32" - CXX="$CXX -m32" -+ CFLAGS="$CFLAGS -m32" -+ LDFLAGS="$LDFLAGS -m32" -+ CXXFLAGS="$CXXFLAGS -m32" - host_cpu="i386" - notice_platform="32-bit " - AC_SUBST(TARGETFLAGS,"-m32") -@@ -150,6 +156,9 @@ - then - CC="$CC -m32" - CXX="$CXX -m32" -+ CFLAGS="$CFLAGS -m32" -+ LDFLAGS="$LDFLAGS -m32" -+ CXXFLAGS="$CXXFLAGS -m32" - AC_MSG_CHECKING([whether $CC works]) - AC_LINK_IFELSE([AC_LANG_PROGRAM()],AC_MSG_RESULT([yes]), - [AC_MSG_RESULT([no]) diff --git a/app-emulation/wine/files/wine-1.5.26-winegcc.patch b/app-emulation/wine/files/wine-1.5.26-winegcc.patch new file mode 100644 index 00000000..2045e343 --- /dev/null +++ b/app-emulation/wine/files/wine-1.5.26-winegcc.patch @@ -0,0 +1,59 @@ +http://bugs.gentoo.org/260726 + +diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c +index 16b4165..5c77267 100644 +--- a/tools/winebuild/main.c ++++ b/tools/winebuild/main.c +@@ -48,10 +48,13 @@ int link_ext_symbols = 0; + int force_pointer_size = 0; + int unwind_tables = 0; + ++#undef FORCE_POINTER_SIZE + #ifdef __i386__ + enum target_cpu target_cpu = CPU_x86; ++#define FORCE_POINTER_SIZE + #elif defined(__x86_64__) + enum target_cpu target_cpu = CPU_x86_64; ++#define FORCE_POINTER_SIZE + #elif defined(__powerpc__) + enum target_cpu target_cpu = CPU_POWERPC; + #elif defined(__arm__) +@@ -611,6 +614,10 @@ int main(int argc, char **argv) + signal( SIGTERM, exit_on_signal ); + signal( SIGINT, exit_on_signal ); + ++#ifdef FORCE_POINTER_SIZE ++ force_pointer_size = sizeof(size_t); ++#endif ++ + output_file = stdout; + argv = parse_options( argc, argv, spec ); + +diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c +index 06aa200..c44d2e3 100644 +--- a/tools/winegcc/winegcc.c ++++ b/tools/winegcc/winegcc.c +@@ -213,10 +213,13 @@ struct options + strarray* files; + }; + ++#undef FORCE_POINTER_SIZE + #ifdef __i386__ + static const enum target_cpu build_cpu = CPU_x86; ++#define FORCE_POINTER_SIZE + #elif defined(__x86_64__) + static const enum target_cpu build_cpu = CPU_x86_64; ++#define FORCE_POINTER_SIZE + #elif defined(__powerpc__) + static const enum target_cpu build_cpu = CPU_POWERPC; + #elif defined(__arm__) +@@ -1258,6 +1261,9 @@ int main(int argc, char **argv) + opts.linker_args = strarray_alloc(); + opts.compiler_args = strarray_alloc(); + opts.winebuild_args = strarray_alloc(); ++#ifdef FORCE_POINTER_SIZE ++ opts.force_pointer_size = sizeof(size_t); ++#endif + + /* determine the processor type */ + if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp; diff --git a/app-emulation/wine/files/wine-1.6-memset-O3.patch b/app-emulation/wine/files/wine-1.6-memset-O3.patch new file mode 100644 index 00000000..75372f86 --- /dev/null +++ b/app-emulation/wine/files/wine-1.6-memset-O3.patch @@ -0,0 +1,21 @@ +Avoid "undefined reference to `memset'" error when building with +USE=custom-cflags and -O3 in CFLAGS with gcc-4.8. + +See: + +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888 +http://bugs.winehq.org/show_bug.cgi?id=33521 +https://bugs.gentoo.org/show_bug.cgi?id=480508 + +diff --git a/configure.ac b/configure.ac +index d8033cf..fe7cc7d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1767,6 +1767,7 @@ then + + dnl Check for some compiler flags + WINE_TRY_CFLAGS([-fno-builtin],[AC_SUBST(BUILTINFLAG,"-fno-builtin")]) ++ WINE_TRY_CFLAGS([-fno-tree-loop-distribute-patterns]) + WINE_TRY_CFLAGS([-fno-strict-aliasing]) + dnl clang needs to be told to fail on unknown options + saved_CFLAGS=$CFLAGS diff --git a/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch b/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch deleted file mode 100644 index 291c4a51..00000000 --- a/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch +++ /dev/null @@ -1,39 +0,0 @@ -From bf5ac531a030bce9e798ab66bc53e84a65ca8fdb Mon Sep 17 00:00:00 2001 -From: Michael Cronenworth -Date: Thu, 16 Jun 2016 00:21:13 -0500 -Subject: [PATCH] secur32: Provide a static declaration for - gnutls_cipher_get_block_size. - -Instead of providing an extern provide a static declaration. The -function return type changed from signed to unsigned in GnuTLS 3.5. - -Signed-off-by: Michael Cronenworth -Signed-off-by: Alexandre Julliard ---- - dlls/secur32/schannel_gnutls.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c -index b10b629..bcadd47 100644 ---- a/dlls/secur32/schannel_gnutls.c -+++ b/dlls/secur32/schannel_gnutls.c -@@ -42,7 +42,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(secur32); - WINE_DECLARE_DEBUG_CHANNEL(winediag); - - /* Not present in gnutls version < 2.9.10. */ --extern int gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm); -+static int (*pgnutls_cipher_get_block_size)(gnutls_cipher_algorithm_t algorithm); - - static void *libgnutls_handle; - #define MAKE_FUNCPTR(f) static typeof(f) * p##f -@@ -52,7 +52,6 @@ MAKE_FUNCPTR(gnutls_certificate_allocate_credentials); - MAKE_FUNCPTR(gnutls_certificate_free_credentials); - MAKE_FUNCPTR(gnutls_certificate_get_peers); - MAKE_FUNCPTR(gnutls_cipher_get); --MAKE_FUNCPTR(gnutls_cipher_get_block_size); - MAKE_FUNCPTR(gnutls_cipher_get_key_size); - MAKE_FUNCPTR(gnutls_credentials_set); - MAKE_FUNCPTR(gnutls_deinit); --- -2.1.4 - diff --git a/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch b/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch new file mode 100644 index 00000000..c19d0d8a --- /dev/null +++ b/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch @@ -0,0 +1,31 @@ +https://bugs.gentoo.org/show_bug.cgi?id=395615 + +Explicitly add the required -m32/m64 to *FLAGS; this overrides any +arch-specific -m* flags that may have been appended by multilib-portage. + +Even though -m32/m64 is now added to *FLAGS, -m32/m64 still has to be +explicitly added to CC and CXX due to wine's build system. For example, +winegcc saves the build-time value of CC and uses it at runtime. + +--- a/configure.ac 2016-03-05 20:53:50.574628728 -0500 ++++ b/configure.ac 2016-03-05 20:57:54.945617833 -0500 +@@ -141,6 +141,9 @@ + then + CC="$CC -m32" + CXX="$CXX -m32" ++ CFLAGS="$CFLAGS -m32" ++ LDFLAGS="$LDFLAGS -m32" ++ CXXFLAGS="$CXXFLAGS -m32" + AC_MSG_CHECKING([whether $CC works]) + AC_LINK_IFELSE([AC_LANG_PROGRAM()],AC_MSG_RESULT([yes]), + [AC_MSG_RESULT([no]) +@@ -160,6 +163,9 @@ + fi + CC="$CC -m64" + CXX="$CXX -m64" ++ CFLAGS="$CFLAGS -m64" ++ LDFLAGS="$LDFLAGS -m64" ++ CXXFLAGS="$CXXFLAGS -m64" + host_cpu="x86_64" + notice_platform="64-bit " + AC_SUBST(TARGETFLAGS,"-m64") diff --git a/app-emulation/wine/files/wine-gcc-4.9-null-pointer.patch b/app-emulation/wine/files/wine-gcc-4.9-null-pointer.patch deleted file mode 100644 index 213f2c6c..00000000 --- a/app-emulation/wine/files/wine-gcc-4.9-null-pointer.patch +++ /dev/null @@ -1,35 +0,0 @@ -From deb274226783ab886bdb44876944e156757efe2b Mon Sep 17 00:00:00 2001 -From: Daniel Beitler -Date: Sun, 18 May 2014 13:27:42 -0400 -Subject: [PATCH] msi: Prevent call to memset with a null pointer in - get_tablecolumns function. - ---- - dlls/msi/table.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dlls/msi/table.c b/dlls/msi/table.c -index 8012369..9ed9421 100644 ---- a/dlls/msi/table.c -+++ b/dlls/msi/table.c -@@ -671,7 +671,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF - /* Note: _Columns table doesn't have non-persistent data */ - - /* if maxcount is non-zero, assume it's exactly right for this table */ -- memset( colinfo, 0, maxcount * sizeof(*colinfo) ); -+ if (colinfo) memset( colinfo, 0, maxcount * sizeof(*colinfo) ); - count = table->row_count; - for (i = 0; i < count; i++) - { -@@ -684,7 +684,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF - /* check the column number is in range */ - if (col < 1 || col > maxcount) - { -- ERR("column %d out of range\n", col); -+ ERR("column %d out of range (maxcount: %d)\n", col, maxcount); - continue; - } - /* check if this column was already set */ --- -1.9.1 - diff --git a/app-emulation/wine/files/wine-sysmacros.patch b/app-emulation/wine/files/wine-sysmacros.patch deleted file mode 100644 index 4ea515df..00000000 --- a/app-emulation/wine/files/wine-sysmacros.patch +++ /dev/null @@ -1,177 +0,0 @@ -From ca8a08606d3f0900b3f4aa8f2e6547882a22dba8 Mon Sep 17 00:00:00 2001 -From: Seong-ho Cho -Date: Mon, 18 Apr 2016 04:25:38 +0900 -Subject: [PATCH] configure: Add AC_HEADER_MAJOR to find where major() is - defined. - -Signed-off-by: Seong-ho Cho -Signed-off-by: Alexandre Julliard ---- - configure | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 1 + - dlls/ntdll/cdrom.c | 5 +++++ - dlls/ntdll/directory.c | 5 +++++ - dlls/ntdll/file.c | 5 +++++ - include/config.h.in | 8 ++++++++ - server/fd.c | 5 +++++ - 7 files changed, 79 insertions(+) - -diff --git a/configure b/configure -index 1cb0e59..ffb1825 100755 ---- a/configure -+++ b/configure -@@ -6836,6 +6836,56 @@ fi - - done - -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 -+$as_echo_n "checking whether sys/types.h defines makedev... " >&6; } -+if ${ac_cv_header_sys_types_h_makedev+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+int -+main () -+{ -+return makedev(0, 0); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_header_sys_types_h_makedev=yes -+else -+ ac_cv_header_sys_types_h_makedev=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5 -+$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } -+ -+if test $ac_cv_header_sys_types_h_makedev = no; then -+ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" -+if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : -+ -+$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h -+ -+fi -+ -+ -+ -+ if test $ac_cv_header_sys_mkdev_h = no; then -+ ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" -+if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : -+ -+$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h -+ -+fi -+ -+ -+ fi -+fi -+ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 - $as_echo_n "checking whether stat file-mode macros are broken... " >&6; } - if ${ac_cv_header_stat_broken+:} false; then : -diff --git a/configure.ac b/configure.ac -index 6189aa9..201bc77 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -512,6 +512,7 @@ AC_CHECK_HEADERS(\ - valgrind/valgrind.h \ - zlib.h - ) -+AC_HEADER_MAJOR() - AC_HEADER_STAT() - - dnl **** Checks for headers that depend on other ones **** -diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c -index ee36045..2c64106 100644 ---- a/dlls/ntdll/cdrom.c -+++ b/dlls/ntdll/cdrom.c -@@ -38,6 +38,11 @@ - #ifdef HAVE_SYS_STAT_H - # include - #endif -+#ifdef MAJOR_IN_MKDEV -+# include -+#elif defined(MAJOR_IN_SYSMACROS) -+# include -+#endif - #include - - #ifdef HAVE_SYS_IOCTL_H -diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c -index 93fe594..4d431c0 100644 ---- a/dlls/ntdll/directory.c -+++ b/dlls/ntdll/directory.c -@@ -47,6 +47,11 @@ - #ifdef HAVE_SYS_ATTR_H - #include - #endif -+#ifdef MAJOR_IN_MKDEV -+# include -+#elif defined(MAJOR_IN_SYSMACROS) -+# include -+#endif - #ifdef HAVE_SYS_VNODE_H - /* Work around a conflict with Solaris' system list defined in sys/list.h. */ - #define list SYSLIST -diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index 7e5da59..b3bd9d6 100644 ---- a/dlls/ntdll/file.c -+++ b/dlls/ntdll/file.c -@@ -57,6 +57,11 @@ - #ifdef HAVE_SYS_SOCKET_H - #include - #endif -+#ifdef MAJOR_IN_MKDEV -+# include -+#elif defined(MAJOR_IN_SYSMACROS) -+# include -+#endif - #ifdef HAVE_UTIME_H - # include - #endif -diff --git a/include/config.h.in b/include/config.h.in -index 0650f31..06b192f 100644 ---- a/include/config.h.in -+++ b/include/config.h.in -@@ -1335,6 +1335,14 @@ - /* Define to 1 if you have the `__res_get_state' function. */ - #undef HAVE___RES_GET_STATE - -+/* Define to 1 if `major', `minor', and `makedev' are declared in . -+ */ -+#undef MAJOR_IN_MKDEV -+ -+/* Define to 1 if `major', `minor', and `makedev' are declared in -+ . */ -+#undef MAJOR_IN_SYSMACROS -+ - /* Define to the address where bug reports for this package should be sent. */ - #undef PACKAGE_BUGREPORT - -diff --git a/server/fd.c b/server/fd.c -index 1fd1ce7..17b1b66 100644 ---- a/server/fd.c -+++ b/server/fd.c -@@ -83,6 +83,11 @@ - #endif - #include - #include -+#ifdef MAJOR_IN_MKDEV -+#include -+#elif defined(MAJOR_IN_SYSMACROS) -+#include -+#endif - #include - #include - #ifdef HAVE_SYS_SYSCALL_H --- -2.7.4 - -- cgit v1.2.3