Browse Source

* mmap had another, yet unknown 8th parameter which must be 0 and comes after the offset param

marco 20 years ago
parent
commit
8884d2e079
3 changed files with 32 additions and 4 deletions
  1. 20 1
      rtl/bsd/i386/syscall.inc
  2. 7 1
      rtl/bsd/i386/syscallh.inc
  3. 5 2
      rtl/bsd/ossysc.inc

+ 20 - 1
rtl/bsd/i386/syscall.inc

@@ -181,10 +181,29 @@ asm
    addl  $28,%esp
 end;
 
+function FpSysCall(sysnr,param1,param2,param3,param4,param5,param6,param7,param8:TSysParam):int64;{$ifndef VER1_0} oldfpccall;{$endif}  assembler; [public,alias:'FPC_DOSYS8'];
+
+asm
+   movl  sysnr,%eax
+   pushl param8
+   pushl param7
+   pushl param6
+   pushl param5
+   pushl param4
+   pushl param3
+   pushl param2
+   pushl Param1
+   call  actualsyscall
+   addl  $32,%esp
+end;
+
 {$endif}
 {
   $Log$
-  Revision 1.12  2005-02-14 17:13:21  peter
+  Revision 1.13  2005-04-24 19:11:28  marco
+   * mmap had another, yet unknown 8th parameter which must be 0 and comes after the offset param
+
+  Revision 1.12  2005/02/14 17:13:21  peter
     * truncate log
 
 }

+ 7 - 1
rtl/bsd/i386/syscallh.inc

@@ -45,11 +45,17 @@ function do_sysCall(sysnr,param1,param2,param3,param4:TSysParam):TSysResult;{$if
 function do_sysCall(sysnr,param1,param2,param3,param4,param5:TSysParam):TSysResult; {$ifndef VER1_0} oldfpccall;{$endif}  external name 'FPC_DOSYS5';
 function do_sysCall(sysnr,param1,param2,param3,param4,param5,param6:TSysParam):int64;{$ifndef VER1_0} oldfpccall;{$endif}  external name 'FPC_DOSYS6';
 function do_sysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:TSysParam):int64; {$ifndef VER1_0} oldfpccall;{$endif}  external name 'FPC_DOSYS7';
+function do_sysCall(sysnr,param1,param2,param3,param4,param5,param6,param7,param8:TSysParam):int64; {$ifndef VER1_0} oldfpccall;{$endif}  external name 'FPC_DOSYS8';
+
+
 {$endif}
 
 {
   $Log$
-  Revision 1.10  2005-02-14 17:13:21  peter
+  Revision 1.11  2005-04-24 19:11:28  marco
+   * mmap had another, yet unknown 8th parameter which must be 0 and comes after the offset param
+
+  Revision 1.10  2005/02/14 17:13:21  peter
     * truncate log
 
 }

+ 5 - 2
rtl/bsd/ossysc.inc

@@ -91,7 +91,7 @@ Function Fpmmap(start:pointer;len:size_t;prot:cint;flags:cint;fd:cint;offst:off_
 begin
   Fpmmap:=pointer(longint(do_syscall(syscall_nr_mmap,TSysParam(Start),Len,Prot,Flags,fd,
         {$ifdef FPC_BIG_ENDIAN}    hi(offst),lo(offst){$endif}
-        {$ifdef FPC_LITTLE_ENDIAN} lo(offst),hi(offst){$endif}
+        {$ifdef FPC_LITTLE_ENDIAN} lo(offst),hi(offst){$endif},0
         )));
 end;
 
@@ -535,7 +535,10 @@ end;
 
 {
  $Log$
- Revision 1.25  2005-03-13 14:11:06  marco
+ Revision 1.26  2005-04-24 19:11:28  marco
+  * mmap had another, yet unknown 8th parameter which must be 0 and comes after the offset param
+
+ Revision 1.25  2005/03/13 14:11:06  marco
   * fix from mischi
 
  Revision 1.24  2005/02/14 17:13:21  peter