winebuild: Allow syscalls to use the cdecl convention.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a12e308eba
commit
0e7f6e0ed3
|
@ -1700,7 +1700,7 @@ void output_syscalls( DLLSPEC *spec )
|
|||
output( "\tmovl $%s,%%edx\n", asm_name("__wine_syscall") );
|
||||
}
|
||||
output( "\tcall *%%edx\n" );
|
||||
output( "\tret $%u\n", get_args_size( odp ));
|
||||
output( "\tret $%u\n", odp->type == TYPE_STDCALL ? get_args_size( odp ) : 0 );
|
||||
break;
|
||||
case CPU_x86_64:
|
||||
/* Chromium depends on syscall thunks having the same form as on
|
||||
|
|
|
@ -323,9 +323,9 @@ static int parse_spec_arguments( ORDDEF *odp, DLLSPEC *spec, int optional )
|
|||
}
|
||||
if (odp->flags & FLAG_SYSCALL)
|
||||
{
|
||||
if (odp->type != TYPE_STDCALL)
|
||||
if (odp->type != TYPE_STDCALL && odp->type != TYPE_CDECL)
|
||||
{
|
||||
error( "A syscall function must use the stdcall convention\n" );
|
||||
error( "A syscall function must use either the stdcall or the cdecl convention\n" );
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue