diff options
author | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-09-01 14:05:48 +0000 |
---|---|---|
committer | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-09-01 14:05:48 +0000 |
commit | 9b0dec5b034c71af6b6944deede73fe5ed9b7d6a (patch) | |
tree | 18564dff17256f8eed41d8b80cd42562dce40391 /rtl/arm | |
parent | 4d07f7a9a7fcd39ddbd07875882134cd191b9fe4 (diff) | |
download | fpc-9b0dec5b034c71af6b6944deede73fe5ed9b7d6a.tar.gz |
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: http://svn.freepascal.org/svn/fpc/trunk@25393 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/arm')
-rw-r--r-- | rtl/arm/arm.inc | 20 | ||||
-rw-r--r-- | rtl/arm/setjump.inc | 4 |
2 files changed, 24 insertions, 0 deletions
diff --git a/rtl/arm/arm.inc b/rtl/arm/arm.inc index f1d8da6a3f..2f2d544a5f 100644 --- a/rtl/arm/arm.inc +++ b/rtl/arm/arm.inc @@ -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 diff --git a/rtl/arm/setjump.inc b/rtl/arm/setjump.inc index cc8b729374..bcd66193d1 100644 --- a/rtl/arm/setjump.inc +++ b/rtl/arm/setjump.inc @@ -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; |