winebuild: Create stubs for ARM.

oldstable
André Hentschel 2012-03-27 21:36:26 +02:00 committed by Alexandre Julliard
parent 516bb0ba64
commit 220aeda3a0
2 changed files with 17 additions and 2 deletions

View File

@ -1256,6 +1256,21 @@ void output_stubs( DLLSPEC *spec )
output( "\tmovq $%d,%%rsi\n", odp->ordinal );
output( "\tcall %s\n", asm_name("__wine_spec_unimplemented_stub") );
break;
case CPU_ARM:
output( "\tldr r0,[PC,#0]\n");
output( "\tmov PC,PC\n");
output( "\t.long .L__wine_spec_file_name\n" );
output( "\tldr r1,[PC,#0]\n");
output( "\tmov PC,PC\n");
if (exp_name)
{
output( "\t.long .L%s_string\n", name );
count++;
}
else
output( "\t.long %d\n", odp->ordinal );
output( "\tbl %s\n", asm_name("__wine_spec_unimplemented_stub") );
break;
default:
assert(0);
}

View File

@ -403,9 +403,9 @@ static int parse_spec_stub( ORDDEF *odp, DLLSPEC *spec )
odp->link_name = xstrdup("");
/* don't bother generating stubs for Winelib */
if (odp->flags & FLAG_CPU_MASK)
odp->flags &= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64);
odp->flags &= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64) | FLAG_CPU(CPU_ARM);
else
odp->flags |= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64);
odp->flags |= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64) | FLAG_CPU(CPU_ARM);
return parse_spec_arguments( odp, spec, 1 );
}