mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-11 18:08:15 +02:00
* made system unit on m68k-linux compilable
git-svn-id: trunk@5266 -
This commit is contained in:
parent
56196fc242
commit
b07cd83892
8
.gitattributes
vendored
8
.gitattributes
vendored
@ -4633,8 +4633,12 @@ rtl/linux/m68k/gprt0.as -text
|
||||
rtl/linux/m68k/gprt21.as -text
|
||||
rtl/linux/m68k/prt0.as -text
|
||||
rtl/linux/m68k/prt1.as -text
|
||||
rtl/linux/m68k/signal.inc svneol=native#text/plain
|
||||
rtl/linux/m68k/sighnd.inc svneol=native#text/plain
|
||||
rtl/linux/m68k/sighndh.inc svneol=native#text/plain
|
||||
rtl/linux/m68k/stat.inc svneol=native#text/plain
|
||||
rtl/linux/m68k/syscall.inc svneol=native#text/plain
|
||||
rtl/linux/m68k/syscallh.inc svneol=native#text/plain
|
||||
rtl/linux/m68k/sysnr.inc svneol=native#text/plain
|
||||
rtl/linux/oldlinux.pp svneol=native#text/plain
|
||||
rtl/linux/osdefs.inc svneol=native#text/plain
|
||||
rtl/linux/osmacro.inc svneol=native#text/plain
|
||||
@ -4717,6 +4721,8 @@ rtl/m68k/readme -text
|
||||
rtl/m68k/set.inc svneol=native#text/plain
|
||||
rtl/m68k/setjump.inc svneol=native#text/plain
|
||||
rtl/m68k/setjumph.inc svneol=native#text/plain
|
||||
rtl/m68k/strings.inc svneol=native#text/plain
|
||||
rtl/m68k/stringss.inc svneol=native#text/plain
|
||||
rtl/macos/MPWmake -text
|
||||
rtl/macos/Makefile svneol=native#text/plain
|
||||
rtl/macos/Makefile.fpc svneol=native#text/plain
|
||||
|
@ -4,7 +4,7 @@
|
||||
member of the Free Pascal development team.
|
||||
|
||||
The syscalls for the new RTL, moved to platform dependant dir.
|
||||
Old linux calling convention is stil kept.
|
||||
Old linux calling convention is still kept.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
116
rtl/linux/m68k/sighnd.inc
Normal file
116
rtl/linux/m68k/sighnd.inc
Normal file
@ -0,0 +1,116 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by Michael Van Canneyt,
|
||||
member of the Free Pascal development team.
|
||||
|
||||
Signal handler is arch dependant due to processor to language
|
||||
exception conversion.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
|
||||
const
|
||||
{ Bits in control register }
|
||||
RoundingMode = $30;
|
||||
RoundingPrecision = $c0;
|
||||
InexactDecimal = $100;
|
||||
InexactOperation = $200;
|
||||
DivideByZero = $400;
|
||||
UnderFlow = $800;
|
||||
OverFlow = $1000;
|
||||
OperandError = $2000;
|
||||
SignalingNaN = $4000;
|
||||
BranchOnUnordered = $800;
|
||||
|
||||
fpucw : longint = {InexactOperation or }DivideByZero or
|
||||
OverFlow or OperandError or
|
||||
SignalingNaN or BranchOnUnordered;
|
||||
fpust : longint = 0;
|
||||
{ Bits in status register }
|
||||
FPU_Invalid = $80;
|
||||
FPU_Denormal = $8;
|
||||
FPU_DivisionByZero = $10;
|
||||
FPU_Overflow = $40;
|
||||
FPU_Underflow = $20;
|
||||
{ m68k is not stack based }
|
||||
FPU_StackUnderflow = $0;
|
||||
FPU_StackOverflow = $0;
|
||||
FPU_All = $f8;
|
||||
|
||||
|
||||
Procedure ResetFPU;
|
||||
begin
|
||||
asm
|
||||
fmove.l fpucw,fpcr
|
||||
fmove.l fpust,fpsr
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function GetFPUState(const SigContext : TSigContext) : longint;
|
||||
begin
|
||||
GetfpuState:=SigContext.psr;
|
||||
{$ifdef SYSTEM_DEBUG}
|
||||
Writeln(stderr,'FpuState = ',GetFpuState);
|
||||
{$endif SYSTEM_DEBUG}
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure SignalToRunerror(Sig: longint; Info : pointer; var SigContext: TSigContext); cdecl;
|
||||
var
|
||||
res,fpustate : word;
|
||||
begin
|
||||
res:=0;
|
||||
case sig of
|
||||
SIGFPE :
|
||||
begin
|
||||
{ this is not allways necessary but I don't know yet
|
||||
how to tell if it is or not PM }
|
||||
res:=200;
|
||||
fpustate:=GetFPUState(SigContext);
|
||||
|
||||
if (FpuState and FPU_All) <> 0 then
|
||||
begin
|
||||
{ first check the more precise options }
|
||||
if (FpuState and FPU_DivisionByZero)<>0 then
|
||||
res:=200
|
||||
else if (FpuState and FPU_Overflow)<>0 then
|
||||
res:=205
|
||||
else if (FpuState and FPU_Underflow)<>0 then
|
||||
res:=206
|
||||
else if (FpuState and FPU_Denormal)<>0 then
|
||||
res:=216
|
||||
else if (FpuState and (FPU_StackOverflow or FPU_StackUnderflow))<>0 then
|
||||
res:=207
|
||||
else if (FpuState and FPU_Invalid)<>0 then
|
||||
res:=216
|
||||
else
|
||||
res:=207; {'Coprocessor Error'}
|
||||
end;
|
||||
ResetFPU;
|
||||
end;
|
||||
SIGILL,
|
||||
SIGBUS,
|
||||
SIGSEGV :
|
||||
res:=216;
|
||||
end;
|
||||
|
||||
reenable_signal(sig);
|
||||
|
||||
{ give runtime error at the position where the signal was raised }
|
||||
if res<>0 then
|
||||
begin
|
||||
{ HandleErrorAddrFrame(res,SigContext.sc_pc,SigContext.sc_fp);}
|
||||
{ fp is not saved in context record :( }
|
||||
HandleError(res);
|
||||
HandleError(res);
|
||||
end;
|
||||
end;
|
57
rtl/linux/m68k/sighndh.inc
Normal file
57
rtl/linux/m68k/sighndh.inc
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by Pierre Muller,
|
||||
member of the Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
type
|
||||
{ REMARK: floating point regs are defined as arrays of
|
||||
3 longints; I don't know if C does align this to
|
||||
16 byte boundaries for each element of the array PM }
|
||||
{ If C does we might need to define this as
|
||||
array from 0 to 3 }
|
||||
|
||||
tfpreg = array[0..2] of longint;
|
||||
|
||||
pfpstate = ^tfpstate;
|
||||
tfpstate = record
|
||||
pcr,psr,fpiaddr : longint;
|
||||
fpreg : array [0..7] of tfpreg;
|
||||
end;
|
||||
|
||||
{ as defined in asm_m68k/signal.h }
|
||||
Stack_T = Record
|
||||
ss_sp : pointer;
|
||||
ss_flags : longint;
|
||||
ss_size : size_t;
|
||||
end;
|
||||
|
||||
{ SigContextRec corresponds to the ucontext record
|
||||
in linux asm-m68k/ucontext.h include file }
|
||||
PSigContext = ^TSigContext;
|
||||
TSigContext = record
|
||||
uc_flags : cardinal;
|
||||
uc_link : pSigContext;
|
||||
uc_stack : stack_t; { what's that ?? }
|
||||
{ fields from 'version' to 'pc'
|
||||
correspond to the mcontext struct in asm-m68k/ucontext.h file }
|
||||
version : longint; { SigContext version check }
|
||||
{ 18 general registers }
|
||||
d0,d1,d2,d3,d4,d5,d6,d7 : cardinal;
|
||||
a0,a1,a2,a3,a4,a5 : cardinal;
|
||||
fp,sp,ps,pc : cardinal;
|
||||
{ fields from 'pcr' to 'fpreg'
|
||||
are floating point part }
|
||||
pcr,psr,fpiaddr : longint;
|
||||
fpreg : array[0..7] of tfpreg; { how is this aligned ?? }
|
||||
filler : array[0..79] of cardinal;
|
||||
sigmask : TSigSet;
|
||||
end;
|
@ -1,220 +0,0 @@
|
||||
{
|
||||
$Id: signal.inc,v 1.1.2.2 2002/10/10 19:31:28 pierre Exp $
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by Pierre Muller,
|
||||
member of the Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{$packrecords C}
|
||||
{********************
|
||||
Signal
|
||||
********************}
|
||||
|
||||
Const
|
||||
{ For sending a signal }
|
||||
SA_NOCLDSTOP = 1;
|
||||
SA_SHIRQ = $04000000;
|
||||
SA_STACK = $08000000;
|
||||
SA_RESTART = $10000000;
|
||||
SA_INTERRUPT = $20000000;
|
||||
SA_NOMASK = $40000000;
|
||||
SA_ONESHOT = $80000000;
|
||||
|
||||
SIG_BLOCK = 0;
|
||||
SIG_UNBLOCK = 1;
|
||||
SIG_SETMASK = 2;
|
||||
|
||||
SIG_DFL = 0 ;
|
||||
SIG_IGN = 1 ;
|
||||
SIG_ERR = -1 ;
|
||||
|
||||
SIGHUP = 1;
|
||||
SIGINT = 2;
|
||||
SIGQUIT = 3;
|
||||
SIGILL = 4;
|
||||
SIGTRAP = 5;
|
||||
SIGABRT = 6;
|
||||
SIGIOT = 6;
|
||||
SIGBUS = 7;
|
||||
SIGFPE = 8;
|
||||
SIGKILL = 9;
|
||||
SIGUSR1 = 10;
|
||||
SIGSEGV = 11;
|
||||
SIGUSR2 = 12;
|
||||
SIGPIPE = 13;
|
||||
SIGALRM = 14;
|
||||
SIGTerm = 15;
|
||||
SIGSTKFLT = 16;
|
||||
SIGCHLD = 17;
|
||||
SIGCONT = 18;
|
||||
SIGSTOP = 19;
|
||||
SIGTSTP = 20;
|
||||
SIGTTIN = 21;
|
||||
SIGTTOU = 22;
|
||||
SIGURG = 23;
|
||||
SIGXCPU = 24;
|
||||
SIGXFSZ = 25;
|
||||
SIGVTALRM = 26;
|
||||
SIGPROF = 27;
|
||||
SIGWINCH = 28;
|
||||
SIGIO = 29;
|
||||
SIGPOLL = SIGIO;
|
||||
SIGPWR = 30;
|
||||
SIGUNUSED = 31;
|
||||
|
||||
|
||||
|
||||
{ not sure this value is correct for m68k PM }
|
||||
const
|
||||
SI_PAD_SIZE = ((128 div sizeof(longint)) - 3);
|
||||
|
||||
|
||||
type
|
||||
{ REMARK: floating point regs are defined as arrays of
|
||||
3 longints; I don't know if C does align this to
|
||||
16 byte boundaries for each element of the array PM }
|
||||
{ If C does we might need to define this as
|
||||
array from 0 to 3 }
|
||||
|
||||
tfpreg = array[0..2] of longint;
|
||||
|
||||
pfpstate = ^tfpstate;
|
||||
tfpstate = record
|
||||
pcr,psr,fpiaddr : longint;
|
||||
fpreg : array [0..7] of tfpreg;
|
||||
end;
|
||||
|
||||
Size_T = cardinal;
|
||||
|
||||
SigSet = Longint;
|
||||
PSigSet = ^SigSet;
|
||||
|
||||
{ as defined in asm_m68k/signal.h }
|
||||
Stack_T = Record
|
||||
ss_sp : pointer;
|
||||
ss_flags : longint;
|
||||
ss_size : size_t;
|
||||
end;
|
||||
|
||||
{ SigContextRec corresponds to the ucontext record
|
||||
in linux asm-m68k/ucontext.h include file }
|
||||
PSigContextRec = ^SigContextRec;
|
||||
SigContextRec = record
|
||||
uc_flags : cardinal;
|
||||
uc_link : pSigContextRec;
|
||||
uc_stack : stack_t; { what's that ?? }
|
||||
{ fields from 'version' to 'pc'
|
||||
correspond to the mcontext struct in asm-m68k/ucontext.h file }
|
||||
version : longint; { SigContext version check }
|
||||
{ 18 general registers }
|
||||
d0,d1,d2,d3,d4,d5,d6,d7 : cardinal;
|
||||
a0,a1,a2,a3,a4,a5 : cardinal;
|
||||
fp,sp,ps,pc : cardinal;
|
||||
{ fields from 'pcr' to 'fpreg'
|
||||
are floating point part }
|
||||
pcr,psr,fpiaddr : longint;
|
||||
fpreg : array[0..7] of tfpreg; { how is this aligned ?? }
|
||||
filler : array[0..79] of cardinal;
|
||||
sigmask : SigSet;
|
||||
end;
|
||||
|
||||
|
||||
PSigInfoRec = ^SigInfoRec;
|
||||
SigInfoRec = record
|
||||
si_signo: longint;
|
||||
si_errno: longint;
|
||||
si_code: longint;
|
||||
|
||||
case longint of
|
||||
0:
|
||||
(pad: array[0 .. SI_PAD_SIZE-1] of longint);
|
||||
1: { kill }
|
||||
( kill: record
|
||||
pid: longint; { sender's pid }
|
||||
uid : longint; { sender's uid }
|
||||
end );
|
||||
2: { POSIX.1b timers }
|
||||
( timer : record
|
||||
timer1 : cardinal;
|
||||
timer2 : cardinal;
|
||||
end );
|
||||
3: { POSIX.1b signals }
|
||||
( rt : record
|
||||
pid : longint; { sender's pid }
|
||||
uid : longint; { sender's uid }
|
||||
sigval : longint;
|
||||
end );
|
||||
4: { SIGCHLD }
|
||||
( sigchld : record
|
||||
pid : longint; { which child }
|
||||
uid : longint; { sender's uid }
|
||||
status : longint; { exit code }
|
||||
utime : timeval;
|
||||
stime : timeval;
|
||||
end );
|
||||
5: { SIGILL, SIGFPE, SIGSEGV, SIGBUS }
|
||||
( sigfault : record
|
||||
addr : pointer;{ faulting insn/memory ref. }
|
||||
end );
|
||||
6:
|
||||
( sigpoll : record
|
||||
band : longint; { POLL_IN, POLL_OUT, POLL_MSG }
|
||||
fd : longint;
|
||||
end );
|
||||
end;
|
||||
|
||||
|
||||
SignalHandler = Procedure(Sig : Longint);cdecl;
|
||||
PSignalHandler = ^SignalHandler;
|
||||
SignalRestorer = Procedure;cdecl;
|
||||
PSignalRestorer = ^SignalRestorer;
|
||||
{ the third argument is only a guess for now,
|
||||
asm-m68k/signal.h gives only void * arg type PM }
|
||||
TSigAction = procedure(Sig: Longint; SigInfoPtr : PSigInfoRec; SigContextPtr : PSigContextRec);cdecl;
|
||||
|
||||
|
||||
SigActionRec = packed record
|
||||
Handler : record
|
||||
case byte of
|
||||
0: (Sh: SignalHandler);
|
||||
1: (Sa: TSigAction);
|
||||
end;
|
||||
Sa_Mask : SigSet;
|
||||
Sa_Flags : Longint;
|
||||
Sa_restorer : SignalRestorer; { Obsolete - Don't use }
|
||||
end;
|
||||
PSigActionRec = ^SigActionRec;
|
||||
(*
|
||||
Procedure SigAction(Signum:Integer;Act,OldAct:PSigActionRec );
|
||||
{
|
||||
Change action of process upon receipt of a signal.
|
||||
Signum specifies the signal (all except SigKill and SigStop).
|
||||
If Act is non-nil, it is used to specify the new action.
|
||||
If OldAct is non-nil the previous action is saved there.
|
||||
}
|
||||
Var
|
||||
sr : Syscallregs;
|
||||
begin
|
||||
sr.reg2:=Signum;
|
||||
sr.reg3:=Longint(act);
|
||||
sr.reg4:=Longint(oldact);
|
||||
SysCall(Syscall_nr_sigaction,sr);
|
||||
end; *)
|
||||
|
||||
{
|
||||
$Log: signal.inc,v $
|
||||
Revision 1.1.2.2 2002/10/10 19:31:28 pierre
|
||||
* update those files that are unused currently
|
||||
|
||||
Revision 1.1.2.1 2001/07/13 15:05:40 pierre
|
||||
+ first signal context tries
|
||||
|
||||
}
|
60
rtl/linux/m68k/syscall.inc
Normal file
60
rtl/linux/m68k/syscall.inc
Normal file
@ -0,0 +1,60 @@
|
||||
{
|
||||
Copyright (c) 2002 by the Free Pascal development team
|
||||
|
||||
Syscall implementation for linux m68k
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
****************************************************************************
|
||||
|
||||
}
|
||||
|
||||
function FpSysCall(sysnr:TSysParam):TSysResult; assembler; [public,alias:'FPC_SYSCALL0'];
|
||||
asm
|
||||
end;
|
||||
|
||||
|
||||
function FpSysCall(sysnr,param1:TSysParam):TSysResult; assembler; [public,alias:'FPC_SYSCALL1'];
|
||||
asm
|
||||
end;
|
||||
|
||||
|
||||
function FpSysCall(sysnr,param1,param2:TSysParam):TSysResult; assembler; [public,alias:'FPC_SYSCALL2'];
|
||||
asm
|
||||
end;
|
||||
|
||||
|
||||
function FpSysCall(sysnr,param1,param2,param3:TSysParam):TSysResult; assembler; [public,alias:'FPC_SYSCALL3'];
|
||||
asm
|
||||
end;
|
||||
|
||||
|
||||
function FpSysCall(sysnr,param1,param2,param3,param4:TSysParam):TSysResult; assembler; [public,alias:'FPC_SYSCALL4'];
|
||||
asm
|
||||
end;
|
||||
|
||||
|
||||
function FpSysCall(sysnr,param1,param2,param3,param4,param5:TSysParam):TSysResult; assembler; [public,alias:'FPC_SYSCALL5'];
|
||||
asm
|
||||
end;
|
||||
|
||||
|
||||
{$ifdef notsupported}
|
||||
function FpSysCall(sysnr,param1,param2,param3,param4,param5,param6:TSysParam):TSysResult; assembler; [public,alias:'FPC_SYSCALL6'];
|
||||
asm
|
||||
end;
|
||||
|
||||
|
||||
{$endif notsupported}
|
37
rtl/linux/m68k/syscallh.inc
Normal file
37
rtl/linux/m68k/syscallh.inc
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
Copyright (c) 2002 by Marco van de Voort
|
||||
|
||||
Header for syscall in system unit for i386 *BSD.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
****************************************************************************
|
||||
|
||||
}
|
||||
|
||||
Type
|
||||
TSysResult = longint;
|
||||
TSysParam = Longint;
|
||||
|
||||
function Do_SysCall(sysnr:TSysParam):TSysResult; external name 'FPC_SYSCALL0';
|
||||
function Do_SysCall(sysnr,param1:TSysParam):TSysResult; external name 'FPC_SYSCALL1';
|
||||
function Do_SysCall(sysnr,param1,param2:TSysParam):TSysResult; external name 'FPC_SYSCALL2';
|
||||
function Do_SysCall(sysnr,param1,param2,param3:TSysParam):TSysResult; external name 'FPC_SYSCALL3';
|
||||
function Do_SysCall(sysnr,param1,param2,param3,param4:TSysParam):TSysResult; external name 'FPC_SYSCALL4';
|
||||
function Do_SysCall(sysnr,param1,param2,param3,param4,param5:TSysParam):TSysResult; external name 'FPC_SYSCALL5';
|
||||
{$ifdef notsupported}
|
||||
function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6:TSysParam):TSysResult; external name 'FPC_SYSCALL6';
|
||||
{$endif notsupported}
|
||||
|
497
rtl/linux/m68k/sysnr.inc
Normal file
497
rtl/linux/m68k/sysnr.inc
Normal file
@ -0,0 +1,497 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by Michael Van Canneyt,
|
||||
member of the Free Pascal development team.
|
||||
|
||||
Syscall nrs for 2.4.18
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{$warning FIX ME!!!!}
|
||||
|
||||
{
|
||||
* This file contains the system call numbers.
|
||||
}
|
||||
|
||||
Const
|
||||
syscall_nr_exit = 1;
|
||||
syscall_nr_fork = 2;
|
||||
syscall_nr_read = 3;
|
||||
syscall_nr_write = 4;
|
||||
syscall_nr_open = 5;
|
||||
syscall_nr_close = 6;
|
||||
syscall_nr_waitpid = 7;
|
||||
syscall_nr_creat = 8;
|
||||
syscall_nr_link = 9;
|
||||
syscall_nr_unlink = 10;
|
||||
syscall_nr_execve = 11;
|
||||
syscall_nr_chdir = 12;
|
||||
syscall_nr_time = 13;
|
||||
syscall_nr_mknod = 14;
|
||||
syscall_nr_chmod = 15;
|
||||
syscall_nr_lchown = 16;
|
||||
syscall_nr_break = 17;
|
||||
syscall_nr_oldstat = 18;
|
||||
syscall_nr_lseek = 19;
|
||||
syscall_nr_getpid = 20;
|
||||
syscall_nr_mount = 21;
|
||||
syscall_nr_umount = 22;
|
||||
syscall_nr_setuid = 23;
|
||||
syscall_nr_getuid = 24;
|
||||
syscall_nr_stime = 25;
|
||||
syscall_nr_ptrace = 26;
|
||||
syscall_nr_alarm = 27;
|
||||
syscall_nr_oldfstat = 28;
|
||||
syscall_nr_pause = 29;
|
||||
syscall_nr_utime = 30;
|
||||
syscall_nr_stty = 31;
|
||||
syscall_nr_gtty = 32;
|
||||
syscall_nr_access = 33;
|
||||
syscall_nr_nice = 34;
|
||||
syscall_nr_ftime = 35;
|
||||
syscall_nr_sync = 36;
|
||||
syscall_nr_kill = 37;
|
||||
syscall_nr_rename = 38;
|
||||
syscall_nr_mkdir = 39;
|
||||
syscall_nr_rmdir = 40;
|
||||
syscall_nr_dup = 41;
|
||||
syscall_nr_pipe = 42;
|
||||
syscall_nr_times = 43;
|
||||
syscall_nr_prof = 44;
|
||||
syscall_nr_brk = 45;
|
||||
syscall_nr_setgid = 46;
|
||||
syscall_nr_getgid = 47;
|
||||
syscall_nr_signal = 48;
|
||||
syscall_nr_geteuid = 49;
|
||||
syscall_nr_getegid = 50;
|
||||
syscall_nr_acct = 51;
|
||||
syscall_nr_umount2 = 52;
|
||||
syscall_nr_lock = 53;
|
||||
syscall_nr_ioctl = 54;
|
||||
syscall_nr_fcntl = 55;
|
||||
syscall_nr_mpx = 56;
|
||||
syscall_nr_setpgid = 57;
|
||||
syscall_nr_ulimit = 58;
|
||||
syscall_nr_oldolduname = 59;
|
||||
syscall_nr_umask = 60;
|
||||
syscall_nr_chroot = 61;
|
||||
syscall_nr_ustat = 62;
|
||||
syscall_nr_dup2 = 63;
|
||||
syscall_nr_getppid = 64;
|
||||
syscall_nr_getpgrp = 65;
|
||||
syscall_nr_setsid = 66;
|
||||
syscall_nr_sigaction = 67;
|
||||
syscall_nr_sgetmask = 68;
|
||||
syscall_nr_ssetmask = 69;
|
||||
syscall_nr_setreuid = 70;
|
||||
syscall_nr_setregid = 71;
|
||||
syscall_nr_sigsuspend = 72;
|
||||
syscall_nr_sigpending = 73;
|
||||
syscall_nr_sethostname = 74;
|
||||
syscall_nr_setrlimit = 75;
|
||||
syscall_nr_getrlimit = 76; { Back compatible 2Gig limited rlimit }
|
||||
syscall_nr_getrusage = 77;
|
||||
syscall_nr_gettimeofday = 78;
|
||||
syscall_nr_settimeofday = 79;
|
||||
syscall_nr_getgroups = 80;
|
||||
syscall_nr_setgroups = 81;
|
||||
syscall_nr_select = 82;
|
||||
syscall_nr_symlink = 83;
|
||||
syscall_nr_oldlstat = 84;
|
||||
syscall_nr_readlink = 85;
|
||||
syscall_nr_uselib = 86;
|
||||
syscall_nr_swapon = 87;
|
||||
syscall_nr_reboot = 88;
|
||||
syscall_nr_readdir = 89;
|
||||
syscall_nr_mmap = 90;
|
||||
syscall_nr_munmap = 91;
|
||||
syscall_nr_truncate = 92;
|
||||
syscall_nr_ftruncate = 93;
|
||||
syscall_nr_fchmod = 94;
|
||||
syscall_nr_fchown = 95;
|
||||
syscall_nr_getpriority = 96;
|
||||
syscall_nr_setpriority = 97;
|
||||
syscall_nr_profil = 98;
|
||||
syscall_nr_statfs = 99;
|
||||
syscall_nr_fstatfs = 100;
|
||||
syscall_nr_ioperm = 101;
|
||||
syscall_nr_socketcall = 102;
|
||||
syscall_nr_syslog = 103;
|
||||
syscall_nr_setitimer = 104;
|
||||
syscall_nr_getitimer = 105;
|
||||
syscall_nr_stat = 106;
|
||||
syscall_nr_lstat = 107;
|
||||
syscall_nr_fstat = 108;
|
||||
syscall_nr_olduname = 109;
|
||||
syscall_nr_iopl = 110;
|
||||
syscall_nr_vhangup = 111;
|
||||
syscall_nr_idle = 112;
|
||||
syscall_nr_vm86old = 113;
|
||||
syscall_nr_wait4 = 114;
|
||||
syscall_nr_swapoff = 115;
|
||||
syscall_nr_sysinfo = 116;
|
||||
syscall_nr_ipc = 117;
|
||||
syscall_nr_fsync = 118;
|
||||
syscall_nr_sigreturn = 119;
|
||||
syscall_nr_clone = 120;
|
||||
syscall_nr_setdomainname = 121;
|
||||
syscall_nr_uname = 122;
|
||||
syscall_nr_modify_ldt = 123;
|
||||
syscall_nr_adjtimex = 124;
|
||||
syscall_nr_mprotect = 125;
|
||||
syscall_nr_sigprocmask = 126;
|
||||
syscall_nr_create_module = 127;
|
||||
syscall_nr_init_module = 128;
|
||||
syscall_nr_delete_module = 129;
|
||||
syscall_nr_get_kernel_syms = 130;
|
||||
syscall_nr_quotactl = 131;
|
||||
syscall_nr_getpgid = 132;
|
||||
syscall_nr_fchdir = 133;
|
||||
syscall_nr_bdflush = 134;
|
||||
syscall_nr_sysfs = 135;
|
||||
syscall_nr_personality = 136;
|
||||
syscall_nr_afs_syscall = 137; { Syscall for Andrew File System }
|
||||
syscall_nr_setfsuid = 138;
|
||||
syscall_nr_setfsgid = 139;
|
||||
syscall_nr__llseek = 140;
|
||||
syscall_nr_getdents = 141;
|
||||
syscall_nr__newselect = 142;
|
||||
syscall_nr_flock = 143;
|
||||
syscall_nr_msync = 144;
|
||||
syscall_nr_readv = 145;
|
||||
syscall_nr_writev = 146;
|
||||
syscall_nr_getsid = 147;
|
||||
syscall_nr_fdatasync = 148;
|
||||
syscall_nr__sysctl = 149;
|
||||
syscall_nr_mlock = 150;
|
||||
syscall_nr_munlock = 151;
|
||||
syscall_nr_mlockall = 152;
|
||||
syscall_nr_munlockall = 153;
|
||||
syscall_nr_sched_setparam = 154;
|
||||
syscall_nr_sched_getparam = 155;
|
||||
syscall_nr_sched_setscheduler = 156;
|
||||
syscall_nr_sched_getscheduler = 157;
|
||||
syscall_nr_sched_yield = 158;
|
||||
syscall_nr_sched_get_priority_max = 159;
|
||||
syscall_nr_sched_get_priority_min = 160;
|
||||
syscall_nr_sched_rr_get_interval = 161;
|
||||
syscall_nr_nanosleep = 162;
|
||||
syscall_nr_mremap = 163;
|
||||
syscall_nr_setresuid = 164;
|
||||
syscall_nr_getresuid = 165;
|
||||
syscall_nr_vm86 = 166;
|
||||
syscall_nr_query_module = 167;
|
||||
syscall_nr_poll = 168;
|
||||
syscall_nr_nfsservctl = 169;
|
||||
syscall_nr_setresgid = 170;
|
||||
syscall_nr_getresgid = 171;
|
||||
syscall_nr_prctl = 172;
|
||||
syscall_nr_rt_sigreturn = 173;
|
||||
syscall_nr_rt_sigaction = 174;
|
||||
syscall_nr_rt_sigprocmask = 175;
|
||||
syscall_nr_rt_sigpending = 176;
|
||||
syscall_nr_rt_sigtimedwait = 177;
|
||||
syscall_nr_rt_sigqueueinfo = 178;
|
||||
syscall_nr_rt_sigsuspend = 179;
|
||||
syscall_nr_pread = 180;
|
||||
syscall_nr_pwrite = 181;
|
||||
syscall_nr_chown = 182;
|
||||
syscall_nr_getcwd = 183;
|
||||
syscall_nr_capget = 184;
|
||||
syscall_nr_capset = 185;
|
||||
syscall_nr_sigaltstack = 186;
|
||||
syscall_nr_sendfile = 187;
|
||||
syscall_nr_getpmsg = 188; { some people actually want streams }
|
||||
syscall_nr_putpmsg = 189; { some people actually want streams }
|
||||
syscall_nr_vfork = 190;
|
||||
syscall_nr_ugetrlimit = 191; { SuS compliant getrlimit }
|
||||
syscall_nr_mmap2 = 192;
|
||||
syscall_nr_truncate64 = 193;
|
||||
syscall_nr_ftruncate64 = 194;
|
||||
syscall_nr_stat64 = 195;
|
||||
syscall_nr_lstat64 = 196;
|
||||
syscall_nr_fstat64 = 197;
|
||||
syscall_nr_lchown32 = 198;
|
||||
syscall_nr_getuid32 = 199;
|
||||
syscall_nr_getgid32 = 200;
|
||||
syscall_nr_geteuid32 = 201;
|
||||
syscall_nr_getegid32 = 202;
|
||||
syscall_nr_setreuid32 = 203;
|
||||
syscall_nr_setregid32 = 204;
|
||||
syscall_nr_getgroups32 = 205;
|
||||
syscall_nr_setgroups32 = 206;
|
||||
syscall_nr_fchown32 = 207;
|
||||
syscall_nr_setresuid32 = 208;
|
||||
syscall_nr_getresuid32 = 209;
|
||||
syscall_nr_setresgid32 = 210;
|
||||
syscall_nr_getresgid32 = 211;
|
||||
syscall_nr_chown32 = 212;
|
||||
syscall_nr_setuid32 = 213;
|
||||
syscall_nr_setgid32 = 214;
|
||||
syscall_nr_setfsuid32 = 215;
|
||||
syscall_nr_setfsgid32 = 216;
|
||||
syscall_nr_pivot_root = 217;
|
||||
syscall_nr_mincore = 218;
|
||||
syscall_nr_madvise = 219;
|
||||
syscall_nr_madvise1 = 219; { delete when C lib stub is removed }
|
||||
syscall_nr_getdents64 = 220;
|
||||
syscall_nr_fcntl64 = 221;
|
||||
syscall_nr_security = 223; { syscall for security modules }
|
||||
syscall_nr_gettid = 224;
|
||||
syscall_nr_readahead = 225;
|
||||
syscall_nr_setxattr = 226;
|
||||
syscall_nr_lsetxattr = 227;
|
||||
syscall_nr_fsetxattr = 228;
|
||||
syscall_nr_getxattr = 229;
|
||||
syscall_nr_lgetxattr = 230;
|
||||
syscall_nr_fgetxattr = 231;
|
||||
syscall_nr_listxattr = 232;
|
||||
syscall_nr_llistxattr = 233;
|
||||
syscall_nr_flistxattr = 234;
|
||||
syscall_nr_removexattr = 235;
|
||||
syscall_nr_lremovexattr = 236;
|
||||
syscall_nr_fremovexattr = 237;
|
||||
syscall_nr_tkill = 238;
|
||||
syscall_nr_sendfile64 = 239;
|
||||
syscall_nr_futex = 240;
|
||||
syscall_nr_sched_setaffinity = 241;
|
||||
syscall_nr_sched_getaffinity = 242;
|
||||
syscall_nr_set_thread_area = 243;
|
||||
syscall_nr_get_thread_area = 244;
|
||||
syscall_nr_io_setup = 245;
|
||||
syscall_nr_io_destroy = 246;
|
||||
syscall_nr_io_getevents = 247;
|
||||
syscall_nr_io_submit = 248;
|
||||
syscall_nr_io_cancel = 249;
|
||||
syscall_nr_fadvise64 = 250;
|
||||
syscall_nr_set_zone_reclaim = 251;
|
||||
syscall_nr_exit_group = 252;
|
||||
syscall_nr_lookup_dcookie = 253;
|
||||
syscall_nr_epoll_create = 254;
|
||||
syscall_nr_epoll_ctl = 255;
|
||||
syscall_nr_epoll_wait = 256;
|
||||
syscall_nr_remap_file_pages = 257;
|
||||
syscall_nr_set_tid_address = 258;
|
||||
syscall_nr_timer_create = 259;
|
||||
syscall_nr_timer_settime = syscall_nr_timer_create+1;
|
||||
syscall_nr_timer_gettime = syscall_nr_timer_create+2;
|
||||
syscall_nr_timer_getoverrun = syscall_nr_timer_create+3;
|
||||
syscall_nr_timer_delete = syscall_nr_timer_create+4;
|
||||
syscall_nr_clock_settime = syscall_nr_timer_create+5;
|
||||
syscall_nr_clock_gettime = syscall_nr_timer_create+6;
|
||||
syscall_nr_clock_getres = syscall_nr_timer_create+7;
|
||||
syscall_nr_clock_nanosleep = syscall_nr_timer_create+8;
|
||||
syscall_nr_statfs64 = 268;
|
||||
syscall_nr_fstatfs64 = 269;
|
||||
syscall_nr_tgkill = 270;
|
||||
syscall_nr_utimes = 271;
|
||||
syscall_nr_fadvise64_64 = 272;
|
||||
syscall_nr_vserver = 273;
|
||||
syscall_nr_mbind = 274;
|
||||
syscall_nr_get_mempolicy = 275;
|
||||
syscall_nr_set_mempolicy = 276;
|
||||
syscall_nr_mq_open = 277;
|
||||
syscall_nr_mq_unlink = syscall_nr_mq_open+1;
|
||||
syscall_nr_mq_timedsend = syscall_nr_mq_open+2;
|
||||
syscall_nr_mq_timedreceive = syscall_nr_mq_open+3;
|
||||
syscall_nr_mq_notify = syscall_nr_mq_open+4;
|
||||
syscall_nr_mq_getsetattr = syscall_nr_mq_open+5;
|
||||
syscall_nr_sys_kexec_load = 283;
|
||||
syscall_nr_waitid = 284;
|
||||
{ syscall_sys_setaltroot 285 }
|
||||
syscall_nr_add_key = 286;
|
||||
syscall_nr_request_key = 287;
|
||||
syscall_nr_keyctl = 288;
|
||||
syscall_nr_ioprio_set = 289;
|
||||
syscall_nr_ioprio_get = 290;
|
||||
syscall_nr_inotify_init = 291;
|
||||
syscall_nr_inotify_add_watch = 292;
|
||||
syscall_nr_inotify_rm_watch = 293;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -314,3 +314,31 @@ function abs(l : longint) : longint;
|
||||
end;
|
||||
|
||||
|
||||
function InterLockedDecrement (var Target: longint) : longint;
|
||||
begin
|
||||
{$warning FIX ME}
|
||||
end;
|
||||
|
||||
|
||||
function InterLockedIncrement (var Target: longint) : longint;
|
||||
begin
|
||||
{$warning FIX ME}
|
||||
end;
|
||||
|
||||
|
||||
function InterLockedExchange (var Target: longint;Source : longint) : longint;
|
||||
begin
|
||||
{$warning FIX ME}
|
||||
end;
|
||||
|
||||
|
||||
function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint;
|
||||
begin
|
||||
{$warning FIX ME}
|
||||
end;
|
||||
|
||||
|
||||
function InterlockedCompareExchange(var Target: longint; NewValue: longint; Comperand: longint): longint;
|
||||
begin
|
||||
{$warning FIX ME}
|
||||
end;
|
||||
|
18
rtl/m68k/strings.inc
Normal file
18
rtl/m68k/strings.inc
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2000 by Jonas Maebe, member of the
|
||||
Free Pascal development team
|
||||
|
||||
Processor dependent part of strings.pp, that can be shared with
|
||||
sysutils unit.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
|
18
rtl/m68k/stringss.inc
Normal file
18
rtl/m68k/stringss.inc
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by Jonas Maebe, member of the
|
||||
Free Pascal development team
|
||||
|
||||
Processor dependent part of strings.pp, not shared with
|
||||
sysutils unit.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user