winebuild-Fake_Dlls: fixup

This commit is contained in:
Zebediah Figura 2019-05-25 00:04:40 -05:00
parent eb91fab43e
commit 5bc08f5e70

View File

@ -1,4 +1,4 @@
From b34e0ac3eee5865a66316f28316b4134c615b078 Mon Sep 17 00:00:00 2001
From 8e59420b744b29a736d3082aae7fc7a94ba9246b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 11 May 2017 05:32:55 +0200
Subject: [PATCH] winebuild: Generate syscall thunks for ntdll exports.
@ -293,7 +293,7 @@ index b21f47277..24a8f1054 100644
entry_point->u.func.nb_args = 0;
assert( !spec->ordinals[0] );
diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
index a0aa01754..fea45e398 100644
index a0aa01754..6ae34a676 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -371,6 +371,109 @@ static void output_relay_debug( DLLSPEC *spec )
@ -366,13 +366,13 @@ index a0aa01754..fea45e398 100644
+ output_cfi( ".cfi_startproc" );
+ output( "\tpushl %%ebp\n" );
+ output_cfi( ".cfi_adjust_cfa_offset 4\n" );
+ output_cfi( ".cfi_rel_offset %ebp,0\n" );
+ output_cfi( ".cfi_rel_offset %%ebp,0\n" );
+ output( "\tmovl %%esp,%%ebp\n" );
+ output_cfi( ".cfi_def_cfa_register %ebp\n" );
+ output_cfi( ".cfi_def_cfa_register %%ebp\n" );
+ output( "\tpushl %%esi\n" );
+ output_cfi( ".cfi_rel_offset %esi,-4\n" );
+ output_cfi( ".cfi_rel_offset %%esi,-4\n" );
+ output( "\tpushl %%edi\n" );
+ output_cfi( ".cfi_rel_offset %edi,-8\n" );
+ output_cfi( ".cfi_rel_offset %%edi,-8\n" );
+ output( "\tleal 12(%%ebp),%%esi\n" );
+ if (UsePIC)
+ {
@ -392,12 +392,12 @@ index a0aa01754..fea45e398 100644
+ else
+ output( "\tcall *%s(,%%eax,%d)\n", asm_name("__wine_syscall_table"), get_ptr_size() );
+ output( "\tpop %%edi\n" );
+ output_cfi( ".cfi_same_value %edi\n" );
+ output_cfi( ".cfi_same_value %%edi\n" );
+ output( "\tpop %%esi\n" );
+ output_cfi( ".cfi_same_value %esi\n" );
+ output_cfi( ".cfi_same_value %%esi\n" );
+ output( "\tleave\n" );
+ output_cfi( ".cfi_def_cfa %esp,4\n" );
+ output_cfi( ".cfi_same_value %ebp\n" );
+ output_cfi( ".cfi_def_cfa %%esp,4\n" );
+ output_cfi( ".cfi_same_value %%ebp\n" );
+ output( "\tret\n" );
+ output_cfi( ".cfi_endproc" );
+ output_function_size( "__wine_syscall_dispatcher" );