瀏覽代碼

* force usage of stat64 on sparc64
* always use packrecords c for the stat records on sparc64

git-svn-id: trunk@36664 -

florian 8 年之前
父節點
當前提交
e2226598ab
共有 2 個文件被更改,包括 4 次插入3 次删除
  1. 2 1
      rtl/linux/ossysc.inc
  2. 2 2
      rtl/linux/sparc64/stat.inc

+ 2 - 1
rtl/linux/ossysc.inc

@@ -122,7 +122,8 @@ end;
 function Fpstat(path: pchar; var buf: stat):cint; [public, alias : 'FPC_SYSC_STAT'];
 
 begin
-{$if defined(cpu64)}
+{ standard stat call is 32 bit on sparc64, so explicitly force a stat64 call }
+{$if defined(cpu64) and not(defined(cpusparc64))}
   {$if defined(generic_linux_syscalls)}
     Fpstat:=do_syscall(syscall_nr_fstatat,AT_FDCWD,TSysParam(path),TSysParam(@buf),0);
   {$else}

+ 2 - 2
rtl/linux/sparc64/stat.inc

@@ -12,6 +12,8 @@
 
  **********************************************************************}
 
+{$PACKRECORDS C}
+
 {$IFNDEF FPC_USE_LIBC}
 
   { do NOT declare this record as packed, because it needs to be aligned }
@@ -43,8 +45,6 @@
 
 {$ELSE FPC_USE_LIBC}
 
-{$PACKRECORDS C}
-
   Stat = record
     st_dev    : cULongLong;
     st_ino     : cULongLong;