From 16b62f6817237998f939bb45f2a175770a39ddc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 21 Aug 2014 06:01:23 +0200 Subject: [PATCH] Add patch for linker version in PE header. --- README.md | 3 ++- patches/Makefile | 19 +++++++++++++ ...valid-major-and-minor-linker-version.patch | 27 +++++++++++++++++++ patches/winebuild-LinkerVersion/definition | 4 +++ 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 patches/winebuild-LinkerVersion/0001-winebuild-Set-a-valid-major-and-minor-linker-version.patch create mode 100644 patches/winebuild-LinkerVersion/definition diff --git a/README.md b/README.md index c7f2a157..d2d29119 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@ which are not present in regular wine, and always report such issues to us Included bugfixes and improvements ---------------------------------- -**Bugfixes and features included in the next upcoming release [11]:** +**Bugfixes and features included in the next upcoming release [12]:** * Adobe Reader requires NtProtectVirtualMemory and NtCreateSection to be on separate pages ([Wine Bug #33162](http://bugs.winehq.org/show_bug.cgi?id=33162 "Acrobat Reader 11 crashes on start (native API application virtualization, NtProtectVirtualMemory removes execute page protection on its own code)")) * Fix ITERATE_MoveFiles when no source- and destname is specified ([Wine Bug #10085](http://bugs.winehq.org/show_bug.cgi?id=10085 "Adobe Bridge CS2 complains that it can't start due to licensing restrictions (affects photoshop)")) * Fix issue with invisible dragimages in ImageList ([Wine Bug #36761](http://bugs.winehq.org/show_bug.cgi?id=36761 "Imagelist invisible dragimage")) +* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](http://bugs.winehq.org/show_bug.cgi?id=28768 "Multiple GFWL (Games For Windows Live) 1.x games crash on startup (Kane & Lynch: Dead Men)")) * Gothic 2 demo expects an error when opening a terminating process ([Wine Bug #37087](http://bugs.winehq.org/show_bug.cgi?id=37087 "Gothic 2 english demo fails with 'Conflict: a hook process was found. Please deactivate all Antivirus and Anti-Trojan programs and debuggers.'")) * Multiple applications need BCryptGetFipsAlgorithmMode ([Wine Bug #32194](http://bugs.winehq.org/show_bug.cgi?id=32194 "Multiple games and applications need bcrypt.dll.BCryptGetFipsAlgorithmMode (Chess Position Trainer, Terraria, .NET System.Security.Cryptography)")) * Other Pipelight-specific enhancements diff --git a/patches/Makefile b/patches/Makefile index 7294d6c2..6649c037 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -51,6 +51,7 @@ PATCHLIST := \ user32-GetTipText.ok \ user32-WndProc.ok \ wineboot-HKEY_DYN_DATA.ok \ + winebuild-LinkerVersion.ok \ winepulse-PulseAudio_Support.ok \ winex11-Limited_Resolutions.ok \ winex11-Window_Groups.ok \ @@ -906,6 +907,24 @@ wineboot-HKEY_DYN_DATA.ok: echo '+ { "wineboot-HKEY_DYN_DATA", "Michael Müller", "Add some generic hardware in HKEY_DYN_DATA\\\\Config Manager\\\\Enum." },'; \ ) > wineboot-HKEY_DYN_DATA.ok +# Patchset winebuild-LinkerVersion +# | +# | Included patches: +# | * Set a valid major and minor linker version in the PE header. [by Michael Müller] +# | +# | This patchset fixes the following Wine bugs: +# | * [#28768] Games For Windows Live 1.x expects a valid linker version in the PE header +# | +# | Modified files: +# | * tools/winebuild/spec32.c +# | +.INTERMEDIATE: winebuild-LinkerVersion.ok +winebuild-LinkerVersion.ok: + $(call APPLY_FILE,winebuild-LinkerVersion/0001-winebuild-Set-a-valid-major-and-minor-linker-version.patch) + @( \ + echo '+ { "winebuild-LinkerVersion", "Michael Müller", "Set a valid major and minor linker version in the PE header." },'; \ + ) > winebuild-LinkerVersion.ok + # Patchset winepulse-PulseAudio_Support # | # | Included patches: diff --git a/patches/winebuild-LinkerVersion/0001-winebuild-Set-a-valid-major-and-minor-linker-version.patch b/patches/winebuild-LinkerVersion/0001-winebuild-Set-a-valid-major-and-minor-linker-version.patch new file mode 100644 index 00000000..3be79db7 --- /dev/null +++ b/patches/winebuild-LinkerVersion/0001-winebuild-Set-a-valid-major-and-minor-linker-version.patch @@ -0,0 +1,27 @@ +From 879f9aff357d593c169f2b59728de63792ec7f00 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Thu, 21 Aug 2014 05:57:24 +0200 +Subject: winebuild: Set a valid major and minor linker version + +--- + tools/winebuild/spec32.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c +index 35fe144..c2a3675 100644 +--- a/tools/winebuild/spec32.c ++++ b/tools/winebuild/spec32.c +@@ -529,8 +529,8 @@ void output_module( DLLSPEC *spec ) + spec->characteristics ); + output( "\t.short 0x%04x\n", /* Magic */ + get_ptr_size() == 8 ? IMAGE_NT_OPTIONAL_HDR64_MAGIC : IMAGE_NT_OPTIONAL_HDR32_MAGIC ); +- output( "\t.byte 0\n" ); /* MajorLinkerVersion */ +- output( "\t.byte 0\n" ); /* MinorLinkerVersion */ ++ output( "\t.byte 7\n" ); /* MajorLinkerVersion */ ++ output( "\t.byte 10\n" ); /* MinorLinkerVersion */ + output( "\t.long 0\n" ); /* SizeOfCode */ + output( "\t.long 0\n" ); /* SizeOfInitializedData */ + output( "\t.long 0\n" ); /* SizeOfUninitializedData */ +-- +1.9.1 + diff --git a/patches/winebuild-LinkerVersion/definition b/patches/winebuild-LinkerVersion/definition new file mode 100644 index 00000000..4737c638 --- /dev/null +++ b/patches/winebuild-LinkerVersion/definition @@ -0,0 +1,4 @@ +Author: Michael Müller +Subject: Set a valid major and minor linker version in the PE header. +Revision: 1 +Fixes: [28768] Games For Windows Live 1.x expects a valid linker version in the PE header