From: Michael Gilbert Date: Wed, 6 Jul 2022 00:44:32 +0000 (+0100) Subject: explicitly set fpu mode on armhf X-Git-Tag: archive/raspbian/7.0_repack-10+rpi1~3^2~12 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=79a494d620b03ce73a35233d25ab4dc5ffff8edc;p=wine.git explicitly set fpu mode on armhf Gbp-Pq: Topic armhf Gbp-Pq: Name floating-point.patch --- diff --git a/dlls/rpcrt4/cproxy.c b/dlls/rpcrt4/cproxy.c index 968c7b5..465b13b 100644 --- a/dlls/rpcrt4/cproxy.c +++ b/dlls/rpcrt4/cproxy.c @@ -171,6 +171,9 @@ __ASM_GLOBAL_FUNC(call_stubless_func, #ifdef __SOFTFP__ "mov r3, #0\n\t" #else +#ifdef __ARM_PCS_VFP + ".fpu vfpv2\n\t" +#endif "vpush {s0-s15}\n\t" /* store the s0-s15/d0-d7 arguments */ "mov r3, sp\n\t" /* fpu_stack */ #endif diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c index a2fb6ad..46494f2 100644 --- a/tools/winebuild/spec32.c +++ b/tools/winebuild/spec32.c @@ -304,7 +304,12 @@ static void output_relay_debug( DLLSPEC *spec ) output_cfi( ".cfi_startproc" ); output( "\tpush {r0-r3}\n" ); output( "\tmov r2, SP\n"); - if (has_float) output( "\tvpush {s0-s15}\n" ); + if (has_float) { + if (target.cpu == CPU_ARM) { + output( "\t.fpu vfpv2\n" ); + } + output( "\tvpush {s0-s15}\n" ); + } output( "\tpush {LR}\n" ); output( "\tsub SP, #4\n"); output( "\tmovw r1,#%u\n", i - spec->base );