From a77f220a518b2da6fa7d0a7115bae0b1e8c037f8 Mon Sep 17 00:00:00 2001 From: pierre Date: Fri, 27 Mar 2020 21:49:47 +0000 Subject: [PATCH] ------------------------------------------------------------------------ r41140 | pierre | 2019-01-30 10:48:21 +0000 (Wed, 30 Jan 2019) | 1 line Fix cycling of arm compiler starting with release ppcarm 3.0.4 ------------------------------------------------------------------------ --- Merging r41140 into '.': U rtl/arm/setjump.inc --- Recording mergeinfo for merge of r41140 into '.': U . git-svn-id: branches/fixes_3_2@44375 - --- rtl/arm/setjump.inc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rtl/arm/setjump.inc b/rtl/arm/setjump.inc index 763c7613c8..629906358b 100644 --- a/rtl/arm/setjump.inc +++ b/rtl/arm/setjump.inc @@ -23,9 +23,13 @@ function fpc_setjmp(var S : jmp_buf) : longint;assembler;[Public, alias : 'FPC_S // fstmiad increases the address register always by 2n+1 words, so fix this sub r0,r0,#4 {$else} + {$ifdef VER3_0} + fstmiad r0!, {d8-d15} + {$else} vstmia r0!, {d8-d15} {$endif} {$endif} + {$endif} {$if defined(CPUTHUMB2)} stmia r0!, {v1-v6, sl, fp} @@ -70,8 +74,12 @@ procedure fpc_longjmp(var S : jmp_buf;value : longint);assembler;[Public, alias it eq moveq r0, #1 {$if defined(FPUVFPV2) or defined(FPUVFPV3) or defined(FPUVFPV4) or defined(FPUVFPV3_D16)} + {$ifdef VER3_0} + fldmiad ip!, {d8-d15} + {$else} vldmia ip!, {d8-d15} {$endif} + {$endif} ldmia ip!, {v1-v6, sl, fp} ldr sp, [ip] add ip, ip, #4 @@ -108,9 +116,13 @@ procedure fpc_longjmp(var S : jmp_buf;value : longint);assembler;[Public, alias // increases fldmiax the address register always by 2n+1 words, so fix this sub ip,ip,#4 {$else} + {$ifdef VER3_0} + fldmiad ip!, {d8-d15} + {$else} vldmia ip!, {d8-d15} {$endif} {$endif} + {$endif} ldmia ip,{v1-v6, sl, fp, sp, pc} {$endif} end;