winebuild-Fake_Dlls: Added patch to fix relocation information in fake dlls.

This commit is contained in:
Sebastian Lackner 2017-05-25 04:40:41 +02:00
parent 871cee39d0
commit b2904214bb
2 changed files with 29 additions and 0 deletions

View File

@ -8633,6 +8633,7 @@ if test "$enable_winebuild_Fake_Dlls" -eq 1; then
patch_apply winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
patch_apply winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
patch_apply winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
patch_apply winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
(
printf '%s\n' '+ { "Michael Müller", "winebuild: Generate syscall thunks for ntdll exports.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit stack address.", 1 },';
@ -8640,6 +8641,7 @@ if test "$enable_winebuild_Fake_Dlls" -eq 1; then
printf '%s\n' '+ { "Michael Müller", "winebuild: Use multipass label system to generate fake dlls.", 1 },';
printf '%s\n' '+ { "Michael Müller", "winebuild: Add stub functions in fake dlls.", 1 },';
printf '%s\n' '+ { "Michael Müller", "winebuild: Add syscall thunks in fake dlls.", 1 },';
printf '%s\n' '+ { "Michael Müller", "winebuild: Fix size of relocation information in fake dlls.", 1 },';
) >> "$patchlist"
fi

View File

@ -0,0 +1,27 @@
From ff0ab54bfc6eb41797f5b8e15c48a2ff7a9e8562 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 25 May 2017 03:22:25 +0200
Subject: winebuild: Fix size of relocation information in fake dlls.
---
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 d1bd1683334..56de04855d9 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -1022,8 +1022,8 @@ static void output_fake_module_pass( DLLSPEC *spec )
/* .reloc contents */
align_output_rva( file_align, section_align );
put_label( "reloc_start" );
- put_dword( 0 ); /* VirtualAddress */
- put_dword( 0 ); /* SizeOfBlock */
+ put_dword( label_rva("text_start") ); /* VirtualAddress */
+ put_dword( 8 ); /* SizeOfBlock */
put_label( "reloc_end" );
/* .rsrc contents */
--
2.12.2