Module: wine Branch: master Commit: 220aeda3a0e69309c65a1f09843fae7e517e0145 URL: http://source.winehq.org/git/wine.git/?a=commit;h=220aeda3a0e69309c65a1f0984...
Author: André Hentschel nerv@dawncrow.de Date: Tue Mar 27 21:36:26 2012 +0200
winebuild: Create stubs for ARM.
---
tools/winebuild/import.c | 15 +++++++++++++++ tools/winebuild/parser.c | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c index af02a9d..c73b86c 100644 --- a/tools/winebuild/import.c +++ b/tools/winebuild/import.c @@ -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); } diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c index 6a1eb85..1e23e3c 100644 --- a/tools/winebuild/parser.c +++ b/tools/winebuild/parser.c @@ -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 ); }