From 392933149b1f5b6653e010362a25a3bdc796ae7f Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 5 Apr 2006 20:02:51 +0200 Subject: [PATCH] winebuild: Remove a no longer necessary movzwl instruction. This could cause broken relays to be generated depending on the order of the entry points in the relay list. Also add a few missing tabs in the assembly output. --- tools/winebuild/spec16.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tools/winebuild/spec16.c b/tools/winebuild/spec16.c index d3b4ef35bd4..a41ec0a0743 100644 --- a/tools/winebuild/spec16.c +++ b/tools/winebuild/spec16.c @@ -375,7 +375,6 @@ static void output_call16_function( FILE *outfile, ORDDEF *odp ) fprintf( outfile, "\tcall *8(%%ebp)\n" ); if (needs_ldt) fprintf( outfile, "\tmovl -4(%%ebp),%%esi\n" ); - if (odp->flags & FLAG_RET16) fprintf( outfile, "\tmovzwl %%ax,%%eax\n" ); fprintf( outfile, "\tleave\n" ); fprintf( outfile, "\tret\n" ); @@ -726,17 +725,17 @@ void BuildSpec16File( FILE *outfile, DLLSPEC *spec ) } else { - fprintf( outfile, "shld $16,%%eax,%%edx\n" ); - fprintf( outfile, "orl %%eax,%%eax\n" ); + fprintf( outfile, "\tshld $16,%%eax,%%edx\n" ); + fprintf( outfile, "\torl %%eax,%%eax\n" ); nop_words = 1; } if (argsize) { - fprintf( outfile, "lretw $%u\n", argsize ); + fprintf( outfile, "\tlretw $%u\n", argsize ); nop_words--; } - else fprintf( outfile, "lretw\n" ); + else fprintf( outfile, "\tlretw\n" ); if (nop_words) fprintf( outfile, "\t%s\n", nop_sequence[nop_words-1] ); -- 2.11.4.GIT