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.
This commit is contained in:
Alexandre Julliard 2006-04-05 20:02:51 +02:00
parent c205d115c8
commit 392933149b
1 changed files with 4 additions and 5 deletions

View File

@ -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] );