build-env: Don't use 'exchange instruction set' instructions on ARM to fix build on ARMv6 e.g. Nokia N810.
This commit is contained in:
parent
9334c202c4
commit
f901fa9769
|
@ -178,7 +178,8 @@ __ASM_GLOBAL_FUNC( wine_call_on_stack,
|
||||||
"mov sp, r2\n\t" /* stack */
|
"mov sp, r2\n\t" /* stack */
|
||||||
"mov r2, r0\n\t" /* func -> scratch register */
|
"mov r2, r0\n\t" /* func -> scratch register */
|
||||||
"mov r0, r1\n\t" /* arg */
|
"mov r0, r1\n\t" /* arg */
|
||||||
"blx r2\n\t" /* call func */
|
"mov LR, PC\n\t" /* return after branch */
|
||||||
|
"mov PC, r2\n\t" /* call func */
|
||||||
"mov sp, r4\n\t" /* restore old sp from local var */
|
"mov sp, r4\n\t" /* restore old sp from local var */
|
||||||
"pop {r4,PC}") /* fetch return address into pc */
|
"pop {r4,PC}") /* fetch return address into pc */
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -1002,7 +1002,7 @@ static void output_delayed_import_thunks( const DLLSPEC *spec )
|
||||||
output( "\tmov IP,r0\n");
|
output( "\tmov IP,r0\n");
|
||||||
output( "\tldmfd SP!, {r4-r10,FP,LR}\n" );
|
output( "\tldmfd SP!, {r4-r10,FP,LR}\n" );
|
||||||
output( "\tldmfd SP!, {r0-r3}\n" );
|
output( "\tldmfd SP!, {r0-r3}\n" );
|
||||||
output( "\tbx IP\n");
|
output( "\tmov PC,IP\n");
|
||||||
break;
|
break;
|
||||||
case CPU_POWERPC:
|
case CPU_POWERPC:
|
||||||
if (target_platform == PLATFORM_APPLE) extra_stack_storage = 56;
|
if (target_platform == PLATFORM_APPLE) extra_stack_storage = 56;
|
||||||
|
|
Loading…
Reference in New Issue