diff --git a/debian/changelog b/debian/changelog index 405604e3..9753c8d5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ wine-staging (1.7.46) UNRELEASED; urgency=low * Added patch to fix possible use-after-free in wineserver device IPR code. * Added patch to fix wineserver crash when pipe server object is destroyed before client (fixes Wine Staging Bug #393). + * Added patches to improve crosscompiling Wine for other platforms. * Updated kernel32-GetVolumePathName to fix several test failures. * Updated ntoskrnl-Emulator patchset to implement emulation of MOVZX instruction on x86_64. diff --git a/patches/configure-Crosscompiling/0001-configure.ac-Search-for-otool-using-AC_CHECK_TOOL.patch b/patches/configure-Crosscompiling/0001-configure.ac-Search-for-otool-using-AC_CHECK_TOOL.patch new file mode 100644 index 00000000..8ef75c06 --- /dev/null +++ b/patches/configure-Crosscompiling/0001-configure.ac-Search-for-otool-using-AC_CHECK_TOOL.patch @@ -0,0 +1,39 @@ +From 463cba8291e1dba1f381e0930926bc0c4bc26916 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Sun, 21 Jun 2015 20:00:18 +0200 +Subject: configure.ac: Search for otool using AC_CHECK_TOOL. + +This is necessary to allow using otool from custom host toolchains like i686-apple-darwin12-otool. +--- + aclocal.m4 | 2 +- + configure.ac | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/aclocal.m4 b/aclocal.m4 +index 3d43721..9993de1 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -62,7 +62,7 @@ LIBS="-l$1 $5 $LIBS" + AC_LINK_IFELSE([AC_LANG_CALL([], [$2])], + [case "$LIBEXT" in + dll) AS_VAR_SET(ac_Lib,[`$ac_cv_path_LDD conftest.exe | grep "$1" | sed -e "s/dll.*/dll/"';2,$d'`]) ;; +- dylib) AS_VAR_SET(ac_Lib,[`otool -L conftest$ac_exeext | grep "ac_lib_pattern\\.[[0-9A-Za-z.]]*dylib" | sed -e "s/^.*\/\(ac_lib_pattern\.[[0-9A-Za-z.]]*dylib\).*$/\1/"';2,$d'`]) ;; ++ dylib) AS_VAR_SET(ac_Lib,[`$ac_cv_prog_OTOOL -L conftest$ac_exeext | grep "ac_lib_pattern\\.[[0-9A-Za-z.]]*dylib" | sed -e "s/^.*\/\(ac_lib_pattern\.[[0-9A-Za-z.]]*dylib\).*$/\1/"';2,$d'`]) ;; + *) AS_VAR_SET(ac_Lib,[`$READELF -d conftest$ac_exeext | grep "NEEDED.*ac_lib_pattern\\.$LIBEXT" | sed -e "s/^.*\\m4_dquote(\\(ac_lib_pattern\\.$LIBEXT[[^ ]]*\\)\\).*$/\1/"';2,$d'`]) + AS_VAR_IF([ac_Lib],[], + [AS_VAR_SET(ac_Lib,[`$LDD conftest$ac_exeext | grep "ac_lib_pattern\\.$LIBEXT" | sed -e "s/^.*\(ac_lib_pattern\.$LIBEXT[[^ ]]*\).*$/\1/"';2,$d'`])]) ;; +diff --git a/configure.ac b/configure.ac +index f9df3f0..3587a12 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -268,6 +268,7 @@ fi + + AC_CHECK_TOOLS(AR,[ar gar],ar) + AC_CHECK_TOOL(STRIP,strip,strip) ++AC_CHECK_TOOL(OTOOL,otool,otool) + AC_SUBST(ARFLAGS,rc) + AC_PROG_RANLIB + AC_PROG_LN_S +-- +2.4.3 + diff --git a/patches/configure-Crosscompiling/0002-configure.ac-Remove-check-for-strength-reduce-bug.patch b/patches/configure-Crosscompiling/0002-configure.ac-Remove-check-for-strength-reduce-bug.patch new file mode 100644 index 00000000..7724d6d1 --- /dev/null +++ b/patches/configure-Crosscompiling/0002-configure.ac-Remove-check-for-strength-reduce-bug.patch @@ -0,0 +1,42 @@ +From eb555bcc219bdd332d0bff45aa66c26f7a846307 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Sun, 21 Jun 2015 20:04:34 +0200 +Subject: configure.ac: Remove check for strength-reduce bug. + +This was bug was fixed in gcc-2.7.2.1 which was released 19 years ago. +When cross compiling, the configure check currently assumes that the bug +is present, which produces a lot of noise with non-gcc compilers. +--- + configure.ac | 16 ---------------- + 1 file changed, 16 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3587a12..fa6a542 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1788,22 +1788,6 @@ if test "x${GCC}" = "xyes" + then + EXTRACFLAGS="-Wall -pipe" + +- dnl Check for strength-reduce bug +- AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug, +- AC_RUN_IFELSE([AC_LANG_PROGRAM([[int L[[4]] = {0,1,2,3};]], +-[[static int Array[[3]]; +- unsigned int B = 3; +- int i; +- for(i=0; i> "$patchlist" fi +# Patchset configure-Crosscompiling +# | +# | Modified files: +# | * aclocal.m4, configure.ac +# | +if test "$enable_configure_Crosscompiling" -eq 1; then + patch_apply configure-Crosscompiling/0001-configure.ac-Search-for-otool-using-AC_CHECK_TOOL.patch + patch_apply configure-Crosscompiling/0002-configure.ac-Remove-check-for-strength-reduce-bug.patch + ( + echo '+ { "Michael Müller", "configure.ac: Search for otool using AC_CHECK_TOOL.", 1 },'; + echo '+ { "Michael Müller", "configure.ac: Remove check for strength-reduce bug.", 1 },'; + ) >> "$patchlist" +fi + # Patchset crypt32-CMS_Certificates # | # | This patchset fixes the following Wine bugs: @@ -5033,15 +5051,15 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-resource_check_usage +# Patchset wined3d-UnhandledBlendFactor # | # | Modified files: -# | * dlls/wined3d/resource.c +# | * dlls/wined3d/state.c # | -if test "$enable_wined3d_resource_check_usage" -eq 1; then - patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch +if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then + patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch ( - echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },'; + echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },'; ) >> "$patchlist" fi @@ -5057,6 +5075,18 @@ if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then ) >> "$patchlist" fi +# Patchset wined3d-resource_check_usage +# | +# | Modified files: +# | * dlls/wined3d/resource.c +# | +if test "$enable_wined3d_resource_check_usage" -eq 1; then + patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch + ( + echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },'; + ) >> "$patchlist" +fi + # Patchset wined3d-Multisampling # | # | This patchset fixes the following Wine bugs: @@ -5106,18 +5136,6 @@ if test "$enable_wined3d_Revert_PixelFormat" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-UnhandledBlendFactor -# | -# | Modified files: -# | * dlls/wined3d/state.c -# | -if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then - patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch - ( - echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-CSMT_Main # | # | This patchset fixes the following Wine bugs: