Win64 patch 6/9 (winebuild)
Ge van Geldorp
ge at gse.nl
Mon Jul 10 01:58:59 CDT 2006
Changelog:
Ge van Geldorp <ge at gse.nl>
- Save registers which might contain parameters for the function to be called
tools/winebuild/import.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c
index 3dcab2d..c06512a 100644
--- a/tools/winebuild/import.c
+++ b/tools/winebuild/import.c
@@ -932,10 +932,20 @@ static void output_delayed_import_thunks
break;
case CPU_x86_64:
fprintf( outfile, "\tpushq %%rdi\n" );
+ fprintf( outfile, "\tpushq %%rsi\n" );
+ fprintf( outfile, "\tpushq %%rdx\n" );
+ fprintf( outfile, "\tpushq %%rcx\n" );
+ fprintf( outfile, "\tpushq %%r8\n" );
+ fprintf( outfile, "\tpushq %%r9\n" );
fprintf( outfile, "\tsubq $8,%%rsp\n" );
fprintf( outfile, "\tmovq %%r11,%%rdi\n" );
fprintf( outfile, "\tcall %s\n", asm_name("__wine_spec_delay_load") );
fprintf( outfile, "\taddq $8,%%rsp\n" );
+ fprintf( outfile, "\tpopq %%r9\n" );
+ fprintf( outfile, "\tpopq %%r8\n" );
+ fprintf( outfile, "\tpopq %%rcx\n" );
+ fprintf( outfile, "\tpopq %%rdx\n" );
+ fprintf( outfile, "\tpopq %%rsi\n" );
fprintf( outfile, "\tpopq %%rdi\n" );
fprintf( outfile, "\tjmp *%%rax\n" );
break;
--
1.4.0
More information about the wine-patches
mailing list