Bläddra i källkod

* arm-linux-eabi uses mmap2 and ugetrlimit

git-svn-id: trunk@11908 -
florian 17 år sedan
förälder
incheckning
7c6e0a48e9
2 ändrade filer med 15 tillägg och 2 borttagningar
  1. 2 1
      rtl/linux/osdefs.inc
  2. 13 1
      rtl/linux/ossysc.inc

+ 2 - 1
rtl/linux/osdefs.inc

@@ -33,7 +33,8 @@
   {$endif}
 {$endif}
 
-{$if defined(cpupowerpc) or defined(cpupowerpc64) or defined(cpui386)}
+{$if defined(cpupowerpc) or defined(cpupowerpc64) or defined(cpui386) or
+  (defined(cpuarm) and defined(FPC_ABI_EABI))}
   {$DEFINE has_ugetrlimit}
 {$endif}
 

+ 13 - 1
rtl/linux/ossysc.inc

@@ -471,7 +471,11 @@ type
 {$endif cpum68k}
 
 {$ifdef cpuarm}
-{$define OLDMMAP}
+  {$ifdef FPC_ABI_EABI}
+    {$define MMAP2}
+  {$else FPC_ABI_EABI}
+    {$define OLDMMAP}
+  {$endif FPC_ABI_EABI}
 {$endif cpuarm}
 
 
@@ -491,11 +495,19 @@ begin
   Fpmmap:=pointer(do_syscall(syscall_nr_mmap,TSysParam(@MMapArgs)));
 end;
 {$else OLDMMAP}
+{$ifdef MMAP2}
+begin
+  {$message warning need mmap64 syscall, hi(off) not used}
+  Fpmmap:= pointer(do_syscall(syscall_nr_mmap2,TSysParam(adr),TSysParam(len),
+    TSysParam(prot),TSysParam(flags),TSysParam(fd),TSysParam(lo(off))));
+end;
+{$else MMAP2}
 begin
   {$message warning need mmap64 syscall, hi(off) not used}
   Fpmmap:= pointer(do_syscall(syscall_nr_mmap,TSysParam(adr),TSysParam(len),
     TSysParam(prot),TSysParam(flags),TSysParam(fd),TSysParam(lo(off))));
 end;
+{$endif MMAP2}
 {$endif OLDMMAP}