mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 00:29:24 +02:00
* fixed arm asssembler, { ... } comments aren't allowed because { ... } is used for register sets
git-svn-id: trunk@3527 -
This commit is contained in:
parent
1d9b6ed5f0
commit
72a8c36bdb
@ -218,35 +218,41 @@ end;
|
|||||||
{$ifdef NEED_USER_TRAMPOLINE}
|
{$ifdef NEED_USER_TRAMPOLINE}
|
||||||
|
|
||||||
procedure linux_restore; cdecl; nostackframe; assembler;
|
procedure linux_restore; cdecl; nostackframe; assembler;
|
||||||
asm
|
|
||||||
{$ifdef cpuarm}
|
{$ifdef cpuarm}
|
||||||
swi __NR_sigreturn;
|
asm
|
||||||
|
swi syscall_nr_sigreturn
|
||||||
|
end;
|
||||||
{$endif}
|
{$endif}
|
||||||
{$ifdef cpui386}
|
{$ifdef cpui386}
|
||||||
|
asm
|
||||||
popl %eax
|
popl %eax
|
||||||
movl $syscall_nr_sigreturn, %eax
|
movl $syscall_nr_sigreturn, %eax
|
||||||
int $0x80
|
int $0x80
|
||||||
|
end;
|
||||||
{$endif}
|
{$endif}
|
||||||
{$ifdef cpux86_64}
|
{$ifdef cpux86_64}
|
||||||
|
asm
|
||||||
movq $syscall_nr_rt_sigreturn, %rax
|
movq $syscall_nr_rt_sigreturn, %rax
|
||||||
syscall
|
syscall
|
||||||
{$endif}
|
|
||||||
end;
|
end;
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
{$ifdef NEED_USER_TRAMPOLINE_RT_DIFFERENT}
|
{$ifdef NEED_USER_TRAMPOLINE_RT_DIFFERENT}
|
||||||
|
|
||||||
procedure linux_restore_rt; cdecl; nostackframe; assembler;
|
procedure linux_restore_rt; cdecl; nostackframe; assembler;
|
||||||
|
{$ifdef cpuarm}
|
||||||
asm
|
asm
|
||||||
{$ifdef cpuarm}
|
swi syscall_nr_rt_sigreturn
|
||||||
swi syscall_nr_rt_sigreturn
|
end;
|
||||||
{$endif}
|
{$endif}
|
||||||
{$ifdef cpui386}
|
{$ifdef cpui386}
|
||||||
|
asm
|
||||||
movl $syscall_nr_rt_sigreturn, %eax
|
movl $syscall_nr_rt_sigreturn, %eax
|
||||||
int $0x80
|
int $0x80
|
||||||
{$endif}
|
|
||||||
end;
|
end;
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
@ -275,8 +281,8 @@ begin
|
|||||||
else
|
else
|
||||||
{$endif}
|
{$endif}
|
||||||
new_action^.sa_restorer := @linux_restore;
|
new_action^.sa_restorer := @linux_restore;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$endif}
|
{$endif}
|
||||||
Fpsigaction:=do_syscall(syscall_nr_rt_sigaction,TSysParam(sig),TSysParam(new_action),TSysParam(old_action),TSysParam(8));
|
Fpsigaction:=do_syscall(syscall_nr_rt_sigaction,TSysParam(sig),TSysParam(new_action),TSysParam(old_action),TSysParam(8));
|
||||||
{$endif cpusparc}
|
{$endif cpusparc}
|
||||||
@ -547,7 +553,7 @@ end;
|
|||||||
|
|
||||||
function FpGetRLimit(resource : cInt; rlim : PRLimit) : cInt;
|
function FpGetRLimit(resource : cInt; rlim : PRLimit) : cInt;
|
||||||
begin
|
begin
|
||||||
FpGetRLimit := do_syscall(syscall_nr_getrlimit,
|
FpGetRLimit := do_syscall(syscall_nr_getrlimit,
|
||||||
TSysParam(resource), TSysParam(rlim));
|
TSysParam(resource), TSysParam(rlim));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user