diff --git a/rtl/linux/ossysc.inc b/rtl/linux/ossysc.inc index 50e6ce502b..f5cb470e27 100644 --- a/rtl/linux/ossysc.inc +++ b/rtl/linux/ossysc.inc @@ -244,7 +244,12 @@ end; procedure linux_restore; cdecl; nostackframe; assembler; {$ifdef cpuarm} asm +{$ifdef FPC_ABI_EABI} + mov r7, syscall_nr_sigreturn + swi #0x0 +{$else} swi syscall_nr_sigreturn +{$endif} end; {$endif} {$ifdef cpui386} @@ -268,7 +273,12 @@ end; procedure linux_restore_rt; cdecl; nostackframe; assembler; {$ifdef cpuarm} asm +{$ifdef FPC_ABI_EABI} + mov r7, syscall_nr_rt_sigreturn + swi #0x0 +{$else} swi syscall_nr_rt_sigreturn +{$endif} end; {$endif} {$ifdef cpui386}