mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 18:49:16 +02:00
* RiscV32: fpc_longjmp needs nostackframe directive
* RiscV: unified procedure directives of fpc_*jmp git-svn-id: trunk@48961 -
This commit is contained in:
parent
9ccdf2b3bf
commit
d399df83ba
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
**********************************************************************}
|
**********************************************************************}
|
||||||
|
|
||||||
function fpc_setjmp(var S : jmp_buf) : longint;assembler;[Public, alias : 'FPC_SETJMP'];nostackframe;compilerproc;
|
function fpc_setjmp(var S : jmp_buf) : longint;[Public, alias : 'FPC_SETJMP'];compilerproc;assembler;nostackframe;
|
||||||
asm
|
asm
|
||||||
sw ra, jmp_buf.ra(a0)
|
sw ra, jmp_buf.ra(a0)
|
||||||
sw s0, jmp_buf.s0(a0)
|
sw s0, jmp_buf.s0(a0)
|
||||||
@ -72,7 +72,7 @@ function fpc_setjmp(var S : jmp_buf) : longint;assembler;[Public, alias : 'FPC_S
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure fpc_longjmp(var S : jmp_buf;value : longint);assembler;[Public, alias : 'FPC_LONGJMP'];compilerproc;
|
procedure fpc_longjmp(var S : jmp_buf;value : longint);[Public, alias : 'FPC_LONGJMP'];compilerproc;assembler;nostackframe;
|
||||||
asm
|
asm
|
||||||
lw ra, jmp_buf.ra(a0)
|
lw ra, jmp_buf.ra(a0)
|
||||||
lw s0, jmp_buf.s0(a0)
|
lw s0, jmp_buf.s0(a0)
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
**********************************************************************}
|
**********************************************************************}
|
||||||
|
|
||||||
function fpc_setjmp(var S : jmp_buf) : longint;assembler;nostackframe;[Public, alias : 'FPC_SETJMP'];nostackframe;compilerproc;
|
function fpc_setjmp(var S : jmp_buf) : longint;[Public, alias : 'FPC_SETJMP'];compilerproc;assembler;nostackframe;
|
||||||
asm
|
asm
|
||||||
sd ra, 0*8(a0)
|
sd ra, 0*8(a0)
|
||||||
sd s0, 1*8(a0)
|
sd s0, 1*8(a0)
|
||||||
@ -51,7 +51,7 @@ function fpc_setjmp(var S : jmp_buf) : longint;assembler;nostackframe;[Public, a
|
|||||||
{$endif FPUFD or FPUD}
|
{$endif FPUFD or FPUD}
|
||||||
{$if defined(FPUF)}
|
{$if defined(FPUF)}
|
||||||
frcsr t0
|
frcsr t0
|
||||||
|
|
||||||
sd t0, 14*8(a0)
|
sd t0, 14*8(a0)
|
||||||
|
|
||||||
fsw f8, 30*4(a0)
|
fsw f8, 30*4(a0)
|
||||||
@ -72,7 +72,7 @@ function fpc_setjmp(var S : jmp_buf) : longint;assembler;nostackframe;[Public, a
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure fpc_longjmp(var S : jmp_buf;value : longint);assembler;nostackframe;[Public, alias : 'FPC_LONGJMP'];compilerproc;
|
procedure fpc_longjmp(var S : jmp_buf;value : longint);[Public, alias : 'FPC_LONGJMP'];compilerproc;assembler;nostackframe;
|
||||||
asm
|
asm
|
||||||
ld ra, 0*8(a0)
|
ld ra, 0*8(a0)
|
||||||
ld s0, 1*8(a0)
|
ld s0, 1*8(a0)
|
||||||
@ -123,7 +123,7 @@ procedure fpc_longjmp(var S : jmp_buf;value : longint);assembler;nostackframe;[P
|
|||||||
flw f27, 41*4(a0)
|
flw f27, 41*4(a0)
|
||||||
|
|
||||||
fscsr sp
|
fscsr sp
|
||||||
{$endif FPUF}
|
{$endif FPUF}
|
||||||
ld sp, 13*8(a0)
|
ld sp, 13*8(a0)
|
||||||
|
|
||||||
beq a1, x0, .Lone
|
beq a1, x0, .Lone
|
||||||
|
Loading…
Reference in New Issue
Block a user