2
This file is part of the Free Pascal run time library.
3
Copyright (c) 1999-2000 by Michael Van Canneyt,
4
member of the Free Pascal development team.
6
The syscalls for the new RTL, moved to platform dependant dir.
7
Old linux calling convention is still kept.
9
See the file COPYING.FPC, included in this distribution,
10
for details about the copyright.
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
**********************************************************************}
20
Procedure fpc_geteipasebx;[external name 'fpc_geteipasebx'];
22
function FpSysCall(sysnr:TSysParam):TSysResult; assembler; oldfpccall;[public,alias:'FPC_SYSCALL0'];
25
{ load the registers... }
33
addl $_GLOBAL_OFFSET_TABLE_,%ebx
34
movl fpc_threadvar_relocate_proc@GOT(%ebx),%ecx
36
movl Errno@GOT(%ebx),%edi
39
movl fpc_threadvar_relocate_proc,%ecx
55
function FpSysCall(sysnr,param1 : TSysParam):TSysResult; assembler; oldfpccall;[public,alias:'FPC_SYSCALL1'];
58
{ load the registers... }
67
addl $_GLOBAL_OFFSET_TABLE_,%ebx
68
movl fpc_threadvar_relocate_proc@GOT(%ebx),%ecx
70
movl Errno@GOT(%ebx),%edi
73
movl fpc_threadvar_relocate_proc,%ecx
89
function FpSysCall(sysnr,param1,param2 : TSysParam):TSysResult; assembler; oldfpccall; [public,alias:'FPC_SYSCALL2'];
92
{ load the registers... }
102
addl $_GLOBAL_OFFSET_TABLE_,%ebx
103
movl fpc_threadvar_relocate_proc@GOT(%ebx),%ecx
105
movl Errno@GOT(%ebx),%edi
108
movl fpc_threadvar_relocate_proc,%ecx
124
function FpSysCall(sysnr,param1,param2,param3:TSysParam):TSysResult; assembler; oldfpccall; [public,alias:'FPC_SYSCALL3'];
127
{ load the registers... }
138
addl $_GLOBAL_OFFSET_TABLE_,%ebx
139
movl fpc_threadvar_relocate_proc@GOT(%ebx),%ecx
141
movl Errno@GOT(%ebx),%edi
144
movl fpc_threadvar_relocate_proc,%ecx
160
function FpSysCall(sysnr,param1,param2,param3,param4:TSysParam):TSysResult; assembler; oldfpccall; [public,alias:'FPC_SYSCALL4'];
163
{ load the registers... }
175
addl $_GLOBAL_OFFSET_TABLE_,%ebx
176
movl fpc_threadvar_relocate_proc@GOT(%ebx),%ecx
178
movl Errno@GOT(%ebx),%edi
181
movl fpc_threadvar_relocate_proc,%ecx
197
function FpSysCall(sysnr,param1,param2,param3,param4,param5 : TSysParam):TSysResult; assembler; oldfpccall;[public,alias:'FPC_SYSCALL5'];
200
{ load the registers... }
213
addl $_GLOBAL_OFFSET_TABLE_,%ebx
214
movl fpc_threadvar_relocate_proc@GOT(%ebx),%ecx
216
movl Errno@GOT(%ebx),%edi
219
movl fpc_threadvar_relocate_proc,%ecx
235
{.$ifdef notsupported}
236
{ Only 5 params are pushed, so it'll not work as expected (PFV) }
237
function FpSysCall(sysnr,param1,param2,param3,param4,param5,param6 : TSysParam):TSysResult; assembler; oldfpccall;[public,alias:'FPC_SYSCALL6'];
240
{ load the registers... }
256
addl $_GLOBAL_OFFSET_TABLE_,%ebx
257
movl fpc_threadvar_relocate_proc@GOT(%ebx),%ecx
259
movl Errno@GOT(%ebx),%edi
262
movl fpc_threadvar_relocate_proc,%ecx
277
{.$endif notsupported}
279
{No debugging for syslinux include !}
281
{$UNDEF SYSCALL_DEBUG}