Blob Blame History Raw
Description: <short summary of the patch>
 fixup some conditionals in arm assembler to avoid using instrutions that
 fpc 2.6.0 doesn't support when building the rtl with 2.6.0 (first stage)
Author: Peter Michael Green <plugwash@debian.org>
Forwarded: not-needed
Last-Update: 2013-05-30

--- fpc-2.6.2.orig/fpcsrc/rtl/arm/arm.inc
+++ fpc-2.6.2/fpcsrc/rtl/arm/arm.inc
@@ -895,7 +895,7 @@ end;
 function SwapEndian(const AValue: LongInt): LongInt;assembler;nostackframe;
 asm
         // We're starting with r0 = 4321
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
         mov r2, r0, lsr #24             // r2 = 0004
         and r1, r0, #16711680           // r1 = 0300
         orr r2, r2, r0, lsl #24         // r2 = 1004
@@ -910,7 +910,7 @@ end;
 function SwapEndian(const AValue: DWord): DWord;assembler;nostackframe;
 asm
         // We're starting with r0 = 4321
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
         mov r2, r0, lsr #24             // r2 = 0004
         and r1, r0, #16711680           // r1 = 0300
         orr r2, r2, r0, lsl #24         // r2 = 1004
@@ -925,7 +925,7 @@ end;
 function SwapEndian(const AValue: Int64): Int64; assembler; nostackframe;
 asm
         // We're starting with r0 = 4321 r1 = 8765
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
         mov ip, r1
 
         mov r2, r0, lsr #24             // r2 = 0004
@@ -952,7 +952,7 @@ end;
 function SwapEndian(const AValue: QWord): QWord; assembler; nostackframe;
 asm
         // We're starting with r0 = 4321 r1 = 8765
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
         mov ip, r1
 
         mov r2, r0, lsr #24             // r2 = 0004