winebuild: Create stubs for ARM64.

oldstable
André Hentschel 2015-06-14 23:24:06 +02:00 committed by Alexandre Julliard
parent bef85a14f6
commit d1f9067cf5
2 changed files with 19 additions and 2 deletions

View File

@ -1270,6 +1270,23 @@ void output_stubs( DLLSPEC *spec )
if (exp_name) output( "\t.long .L%s_string-2b\n", name );
else output( "\t.long %u\n", odp->ordinal );
break;
case CPU_ARM64:
output( "\tadr x0, 2f\n" );
output( "\tldur x0, [x0, #0]\n" );
output( "\tadr x1, 2f+8\n" );
output( "\tldur x1, [x1, #0]\n" );
output( "\tadr x2, 1f\n" );
output( "\tldur x2, [x2, #0]\n" );
output( "\tblr x2\n" );
output( "1:\t.quad %s\n", asm_name("__wine_spec_unimplemented_stub") );
output( "2:\t.quad %s\n", asm_name("__wine_spec_file_name") );
if (exp_name)
{
output( "\t.quad .L%s_string\n", name );
count++;
}
else output( "\t.quad %u\n", odp->ordinal );
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) | FLAG_CPU(CPU_ARM);
odp->flags &= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64) | FLAG_CPU(CPU_ARM) | FLAG_CPU(CPU_ARM64);
else
odp->flags |= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64) | FLAG_CPU(CPU_ARM);
odp->flags |= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64) | FLAG_CPU(CPU_ARM) | FLAG_CPU(CPU_ARM64);
return parse_spec_arguments( odp, spec, 1 );
}