mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 09:19:45 +02:00
------------------------------------------------------------------------
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 -
This commit is contained in:
parent
8ef53e60e2
commit
a77f220a51
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user