Fix compilation of arm-wince on Linux(?).

rtl/arm/arm.inc & setjump.inc:
  * don't use BX if the current CPU (default for arm-wince is ARMv3)  does not support it

git-svn-id: trunk@25393 -
This commit is contained in:
svenbarth 2013-09-01 14:05:48 +00:00
parent b288179d56
commit 7babce23da
2 changed files with 24 additions and 0 deletions

View File

@ -607,7 +607,11 @@ asm
movs r0, r1
// unlock and return
str r2, [r3]
{$ifdef CPUARM_HAS_BX}
bx lr
{$else}
mov pc,lr
{$endif}
.Lfpc_system_lock:
.long fpc_system_lock
@ -692,7 +696,11 @@ asm
mov r0, r1
// unlock and return
str r2, [r3]
{$ifdef CPUARM_HAS_BX}
bx lr
{$else}
mov pc,lr
{$endif}
.Lfpc_system_lock:
.long fpc_system_lock
@ -752,7 +760,11 @@ asm
// unlock and return
mov r2, #0
str r2, [r3]
{$ifdef CPUARM_HAS_BX}
bx lr
{$else}
mov pc,lr
{$endif}
.Lfpc_system_lock:
.long fpc_system_lock
@ -816,7 +828,11 @@ asm
// unlock and return
mov r2, #0
str r2, [r3]
{$ifdef CPUARM_HAS_BX}
bx lr
{$else}
mov pc,lr
{$endif}
.Lfpc_system_lock:
.long fpc_system_lock
@ -881,7 +897,11 @@ asm
// unlock and return
mov r3, #0
str r3, [r12]
{$ifdef CPUARM_HAS_BX}
bx lr
{$else}
mov pc,lr
{$endif}
.Lfpc_system_lock:
.long fpc_system_lock

View File

@ -53,7 +53,11 @@ function fpc_setjmp(var S : jmp_buf) : longint;assembler;[Public, alias : 'FPC_S
{$else}
stmia r0,{v1-v6, sl, fp, sp, lr}
mov r0,#0
{$ifdef CPUARM_HAS_BX}
bx lr
{$else}
mov pc,lr
{$endif}
{$endif}
end;