[wine] Update to 1.7.39
mooninite
mooninite at fedoraproject.org
Tue Mar 24 02:58:06 UTC 2015
commit 764a0da0a3827f9e8d886f61d43d29b525107f17
Author: Michael Cronenworth <mike at cchtml.com>
Date: Mon Mar 23 21:57:56 2015 -0500
Update to 1.7.39
.gitignore | 6 +--
sources | 6 +--
wine-gcc5.patch | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wine.spec | 28 +++++-----
4 files changed, 182 insertions(+), 19 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 562e43c..68c8868 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
-/wine-1.7.38.tar.bz2
-/wine-1.7.38.tar.bz2.sign
-/wine-staging-1.7.38.tar.gz
+/wine-1.7.39.tar.bz2
+/wine-1.7.39.tar.bz2.sign
+/wine-staging-1.7.39.tar.gz
diff --git a/sources b/sources
index 59fb56f..12e114f 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-0e2c4eae7b5093cb4b7018974994915f wine-1.7.38.tar.bz2
-63ed73652a1b0068ca096f1324e643d6 wine-1.7.38.tar.bz2.sign
-a6385ebf1c6830cc4732bb9a49bb4419 wine-staging-1.7.38.tar.gz
+eada8f9fde77a72e1d1f682020d4cbfe wine-1.7.39.tar.bz2
+3d1c993249d4ca1971a69724657286ab wine-1.7.39.tar.bz2.sign
+88b30faba37a5889843a96bfbc81af35 wine-staging-1.7.39.tar.gz
diff --git a/wine-gcc5.patch b/wine-gcc5.patch
new file mode 100644
index 0000000..e90ede6
--- /dev/null
+++ b/wine-gcc5.patch
@@ -0,0 +1,161 @@
+--- wine-1.7.38/dlls/ntdll/sec.c.orig 2015-03-06 07:27:36.000000000 -0600
++++ wine-1.7.38/dlls/ntdll/sec.c 2015-03-19 10:42:37.117665983 -0500
+@@ -1714,7 +1714,7 @@
+ * the native function returns something like
+ * "S-1-5-21-0000000000-000000000-0000000000-500";
+ */
+-NTSTATUS WINAPI RtlConvertSidToUnicodeString(
++NTSTATUS WINAPI __attribute__((optimize("O0"))) RtlConvertSidToUnicodeString(
+ PUNICODE_STRING String,
+ PSID pSid,
+ BOOLEAN AllocateString)
+--- wine-1.7.38/dlls/ntdll/directory.c.orig 2015-03-19 13:53:47.952588902 -0500
++++ wine-1.7.38/dlls/ntdll/directory.c 2015-03-19 13:52:51.571954998 -0500
+@@ -3008,7 +3008,7 @@
+ * element doesn't have to exist; in that case STATUS_NO_SUCH_FILE is
+ * returned, but the unix name is still filled in properly.
+ */
+-NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret,
++NTSTATUS CDECL __attribute__((optimize("O0"))) wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret,
+ UINT disposition, BOOLEAN check_case )
+ {
+ static const WCHAR unixW[] = {'u','n','i','x'};
+--- wine-1.7.38/dlls/kernel32/volume.c.orig 2015-03-19 15:01:23.647111174 -0500
++++ wine-1.7.38/dlls/kernel32/volume.c 2015-03-19 15:00:59.460854627 -0500
+@@ -714,7 +714,7 @@
+ /***********************************************************************
+ * GetVolumeInformationW (KERNEL32.@)
+ */
+-BOOL WINAPI GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len,
++BOOL WINAPI __attribute__((optimize("O0"))) GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len,
+ DWORD *serial, DWORD *filename_len, DWORD *flags,
+ LPWSTR fsname, DWORD fsname_len )
+ {
+--- wine-1.7.39/dlls/ntdll/virtual.c.orig 2015-03-23 09:22:18.512141978 -0500
++++ wine-1.7.39/dlls/ntdll/virtual.c 2015-03-23 09:22:47.951415202 -0500
+@@ -2346,7 +2346,7 @@
+ * NtQueryVirtualMemory (NTDLL.@)
+ * ZwQueryVirtualMemory (NTDLL.@)
+ */
+-NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
++NTSTATUS WINAPI __attribute__((optimize("O0"))) NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
+ MEMORY_INFORMATION_CLASS info_class, PVOID buffer,
+ SIZE_T len, SIZE_T *res_len )
+ {
+--- wine-1.7.39/dlls/kernel32/process.c.orig 2015-03-23 11:35:21.490412754 -0500
++++ wine-1.7.39/dlls/kernel32/process.c 2015-03-23 12:12:36.928665968 -0500
+@@ -1088,7 +1088,7 @@
+ *
+ * Startup routine of a new process. Runs on the new process stack.
+ */
+-static DWORD WINAPI start_process( PEB *peb )
++static DWORD WINAPI __attribute__((optimize("O0"))) start_process( PEB *peb )
+ {
+ IMAGE_NT_HEADERS *nt;
+ LPTHREAD_START_ROUTINE entry;
+--- wine-1.7.39/dlls/winex11.drv/window.c.orig 2015-03-23 12:14:36.789785691 -0500
++++ wine-1.7.39/dlls/winex11.drv/window.c 2015-03-23 12:35:56.656863213 -0500
+@@ -1270,7 +1270,7 @@
+ *
+ * Synchronize the X client window position with the Windows one
+ */
+-static void sync_client_position( struct x11drv_win_data *data,
++static void __attribute__((optimize("O0"))) sync_client_position( struct x11drv_win_data *data,
+ const RECT *old_client_rect, const RECT *old_whole_rect )
+ {
+ int mask = 0;
+--- wine-1.7.39/dlls/gdi32/freetype.c.orig 2015-03-20 08:41:44.000000000 -0500
++++ wine-1.7.39/dlls/gdi32/freetype.c 2015-03-23 14:15:25.884759565 -0500
+@@ -6389,7 +6389,7 @@
+
+ static const BYTE masks[8] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};
+
+-static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
++static DWORD __attribute__((optimize("O0"))) get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
+ LPGLYPHMETRICS lpgm, ABC *abc, DWORD buflen, LPVOID buf,
+ const MAT2* lpmat)
+ {
+--- wine-1.7.39/dlls/rpcrt4/rpc_binding.c.orig 2015-03-20 08:41:44.000000000 -0500
++++ wine-1.7.39/dlls/rpcrt4/rpc_binding.c 2015-03-23 17:00:45.215424859 -0500
+@@ -984,7 +984,7 @@
+ /***********************************************************************
+ * RpcBindingCopy (RPCRT4.@)
+ */
+-RPC_STATUS RPC_ENTRY RpcBindingCopy(
++RPC_STATUS RPC_ENTRY __attribute__((optimize("O0"))) RpcBindingCopy(
+ RPC_BINDING_HANDLE SourceBinding,
+ RPC_BINDING_HANDLE* DestinationBinding)
+ {
+--- wine-1.7.39/dlls/gdi32/font.c.orig 2015-03-23 20:33:48.751656009 -0500
++++ wine-1.7.39/dlls/gdi32/font.c 2015-03-23 20:33:52.295693767 -0500
+@@ -1297,7 +1297,7 @@
+ * Return the size of the string as it would be if it was output properly by
+ * e.g. TextOut.
+ */
+-BOOL WINAPI GetTextExtentExPointW( HDC hdc, LPCWSTR str, INT count, INT max_ext,
++BOOL WINAPI __attribute__((optimize("O0"))) GetTextExtentExPointW( HDC hdc, LPCWSTR str, INT count, INT max_ext,
+ LPINT nfit, LPINT dxs, LPSIZE size )
+ {
+ DC *dc;
+--- wine-1.7.39/dlls/gdi32/mapping.c.orig 2015-03-23 20:21:39.025790911 -0500
++++ wine-1.7.39/dlls/gdi32/mapping.c 2015-03-23 20:27:31.380589949 -0500
+@@ -324,7 +324,7 @@
+ /***********************************************************************
+ * DPtoLP (GDI32.@)
+ */
+-BOOL WINAPI DPtoLP( HDC hdc, LPPOINT points, INT count )
++BOOL WINAPI __attribute__((optimize("O0"))) DPtoLP( HDC hdc, LPPOINT points, INT count )
+ {
+ DC * dc = get_dc_ptr( hdc );
+ if (!dc) return FALSE;
+@@ -352,7 +352,7 @@
+ /***********************************************************************
+ * LPtoDP (GDI32.@)
+ */
+-BOOL WINAPI LPtoDP( HDC hdc, LPPOINT points, INT count )
++BOOL WINAPI __attribute__((optimize("O0"))) LPtoDP( HDC hdc, LPPOINT points, INT count )
+ {
+ DC * dc = get_dc_ptr( hdc );
+ if (!dc) return FALSE;
+--- wine-1.7.39/dlls/user32/win.c.orig 2015-03-23 21:42:20.861715642 -0500
++++ wine-1.7.39/dlls/user32/win.c 2015-03-23 21:45:49.223517788 -0500
+@@ -2955,7 +2955,7 @@
+ /*****************************************************************
+ * SetParent (USER32.@)
+ */
+-HWND WINAPI SetParent( HWND hwnd, HWND parent )
++HWND WINAPI __attribute__((optimize("O0"))) SetParent( HWND hwnd, HWND parent )
+ {
+ HWND full_handle;
+ HWND old_parent = 0;
+--- wine-1.7.39/programs/winecfg/appdefaults.c.orig 2015-03-23 21:15:50.402096990 -0500
++++ wine-1.7.39/programs/winecfg/appdefaults.c 2015-03-23 21:16:22.345452810 -0500
+@@ -78,7 +78,7 @@
+ static const char szKeyNT[] = "Software\\Microsoft\\Windows NT\\CurrentVersion";
+ static const char szKeyProdNT[] = "System\\CurrentControlSet\\Control\\ProductOptions";
+
+-static int get_registry_version(void)
++static int __attribute__((optimize("O0"))) get_registry_version(void)
+ {
+ int i, best = -1, platform, major, minor = 0, build = 0;
+ char *p, *ver, *type = NULL;
+--- wine-1.7.39/programs/winemenubuilder/winemenubuilder.c.orig 2015-03-23 21:18:24.651815189 -0500
++++ wine-1.7.39/programs/winemenubuilder/winemenubuilder.c 2015-03-23 21:24:20.565779739 -0500
+@@ -2323,7 +2323,7 @@
+ return ret;
+ }
+
+-static void update_association(LPCWSTR extension, LPCSTR mimeType, LPCWSTR progId,
++static void __attribute__((optimize("O0"))) update_association(LPCWSTR extension, LPCSTR mimeType, LPCWSTR progId,
+ LPCSTR appName, LPCSTR desktopFile, LPCSTR openWithIcon)
+ {
+ static const WCHAR ProgIDW[] = {'P','r','o','g','I','D',0};
+@@ -2400,7 +2400,7 @@
+ HeapFree(GetProcessHeap(), 0, openWithIconW);
+ }
+
+-static BOOL cleanup_associations(void)
++static BOOL __attribute__((optimize("O0"))) cleanup_associations(void)
+ {
+ static const WCHAR openW[] = {'o','p','e','n',0};
+ static const WCHAR DesktopFileW[] = {'D','e','s','k','t','o','p','F','i','l','e',0};
diff --git a/wine.spec b/wine.spec
index 31b5817..108dc40 100644
--- a/wine.spec
+++ b/wine.spec
@@ -21,8 +21,8 @@
%endif
Name: wine
-Version: 1.7.38
-Release: 3%{?dist}
+Version: 1.7.39
+Release: 1%{?dist}
Summary: A compatibility layer for windows applications
Group: Applications/Emulators
@@ -68,6 +68,8 @@ Source501: wine-tahoma.conf
Source502: wine-README-tahoma
Patch511: wine-cjk.patch
+# temporary workaround for GCC 5.0 optimization regressions
+Patch512: wine-gcc5.patch
# wine compholio patches for pipelight.
# pulseaudio-patch is covered by that patch-set, too.
@@ -615,6 +617,9 @@ This package adds the opencl driver for wine.
%prep
%setup -q
%patch511 -p1 -b.cjk
+%if 0%{?fedora} > 21
+%patch512 -p1 -b.gcc5
+%endif
# setup and apply compholio-patches or pulseaudio-patch.
# since the pulse patch is included in the compholio patches use it from
@@ -640,20 +645,13 @@ autoreconf
%build
-%if 0%{?fedora} > 21
-# GCC 5 has a optimization that causes wine to break
-%ifnarch %{arm}
-export CFLAGS="\
--fbranch-count-reg -fcombine-stack-adjustments -fcompare-elim -fcprop-registers -fdefer-pop -fforward-propagate -fguess-branch-probability -fif-conversion2 -fif-conversion -finline-functions-called-once -fipa-pure-const -fipa-profile -fipa-reference -fmerge-constants -fmove-loop-invariants -fshrink-wrap -fsplit-wide-types -fssa-phiopt -ftree-bit-ccp -ftree-ccp -ftree-ch -ftree-copy-prop -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-sink -ftree-slsr -ftree-sra -ftree-pta -ftree-ter \
--falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcrossjumping -fcse-follow-jumps -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -fgcse -fhoist-adjacent-loads -findirect-inlining -finline-small-functions -fipa-cp -fipa-cp-alignment -fipa-icf -fipa-icf-functions -fipa-ra -fipa-sra -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -fthread-jumps -ftree-builtin-call-dce -ftree-pre -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=cheap \
--pipe -Wall -Werror=format-security -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -g -mtune=generic -Wno-error"
-%else
-export CFLAGS="-O0 -g -pipe -Wall -Werror=format-security -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -Wno-error"
-%endif
-%else
# disable fortify as it breaks wine
# http://bugs.winehq.org/show_bug.cgi?id=24606
# http://bugs.winehq.org/show_bug.cgi?id=25073
+%if 0%{?fedora} > 21
+export TEMP_CFLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/-O2/-O1/'`"
+export CFLAGS="`echo $TEMP_CFLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'` -Wno-error"
+%else
export CFLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'` -Wno-error"
%endif
@@ -1854,6 +1852,10 @@ fi
%{_libdir}/wine/opencl.dll.so
%changelog
+* Sun Mar 22 2015 Michael Cronenworth <mike at cchtml.com> 1.7.39-1
+- version upgrade
+- Enable some optimizations and workarounds for GCC5 regressions
+
* Tue Mar 10 2015 Adam Jackson <ajax at redhat.com> 1.7.38-3
- Drop sysvinit subpackage on F23+
More information about the scm-commits
mailing list