Commit 0e7f6e0e authored by Alexandre Julliard's avatar Alexandre Julliard

winebuild: Allow syscalls to use the cdecl convention.

parent a12e308e
......@@ -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;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment