From 78e129931ba76ab6971cf0eabfb5312aaa7c9a9b Mon Sep 17 00:00:00 2001 From: pierre Date: Sat, 7 Apr 2012 15:37:03 +0000 Subject: [PATCH] Add NETBSD_USE_STAT30 conditional for recent NetBSD changes, not yet used git-svn-id: trunk@20741 - --- rtl/bsd/ostypes.inc | 2 +- rtl/netbsd/ptypes.inc | 5 ++++- rtl/netbsd/sysnr.inc | 25 ++++++++++++++++++++----- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/rtl/bsd/ostypes.inc b/rtl/bsd/ostypes.inc index 8599e893ab..f15082694f 100644 --- a/rtl/bsd/ostypes.inc +++ b/rtl/bsd/ostypes.inc @@ -69,7 +69,7 @@ TYPE st_nlink : nlink_t; // number of hard links st_ino : ino_t; // inode's number {$else} -{$ifdef netbsd} +{$ifdef netbsd_use_stat30} { order is inverted for better alignment probably } st_mode : mode_t; // inode protection mode st_ino : ino_t; // inode's number diff --git a/rtl/netbsd/ptypes.inc b/rtl/netbsd/ptypes.inc index 4fcdbb281a..e1392b19f3 100644 --- a/rtl/netbsd/ptypes.inc +++ b/rtl/netbsd/ptypes.inc @@ -32,8 +32,11 @@ type TGid = gid_t; pGid = ^gid_t; TIOCtlRequest = cuLong; - +{$ifdef NETBSD_USE_STAT30} ino_t = cint64; { used for file serial numbers } +{$else} + ino_t = clong; +{$endif} TIno = ino_t; pIno = ^ino_t; diff --git a/rtl/netbsd/sysnr.inc b/rtl/netbsd/sysnr.inc index 372e18c96e..c1792827dd 100644 --- a/rtl/netbsd/sysnr.inc +++ b/rtl/netbsd/sysnr.inc @@ -495,8 +495,17 @@ const syscall_nr_kqueue = 344; { syscall: "kevent" ret: "int" args: "int" "const struct kevent *" "size_t" "struct kevent *" "size_t" "const struct timespec *" } syscall_nr_kevent = 345; + { syscall: "__stat30" ret: "int" args: "const char *" "struct stat *" } + syscall_nr___stat30 = 387; - syscall_nr_MAXSYSCALL = 340; + { syscall: "__fstat30" ret: "int" args: "int" "struct stat *" } + syscall_nr___fstat30 = 388; + + { syscall: "__lstat30" ret: "int" args: "const char *" "struct stat *" } + syscall_nr___lstat30 = 389; + + + syscall_nr_MAXSYSCALL = 390; syscall_nr_NSYSENT = 512; @@ -505,12 +514,21 @@ const and removed those who are equal and added some equivalents, unchecked PM } +{$ifdef NETBSD_USE_STAT30} { syscall_nr_compat_12_fstat12 = 189 } { syscall_nr___fstat13 = 279 } - syscall_nr_fstat = syscall_nr___fstat13; + syscall_nr_fstat = syscall_nr___fstat30; { syscall_nr_compat_12_lstat12 = 190 } { syscall_nr___lstat13 = 280 } + syscall_nr_lstat = syscall_nr___lstat30; +{ syscall_nr_compat_12_stat12 = 188; } +{ syscall_nr___stat13 = 278 } + syscall_nr_stat = syscall_nr___stat30; +{$else} + syscall_nr_fstat = syscall_nr___fstat13; syscall_nr_lstat = syscall_nr___lstat13; + syscall_nr_stat = syscall_nr___stat13; +{$endif} { syscall_nr_sigaction = 342; MISSING } { syscall: "__sigaction14" ret: "int" args: "int" "const struct sigaction " "struct sigaction " } syscall_nr_sigaction = syscall_nr___sigaction14; @@ -527,9 +545,6 @@ const syscall_nr_sigreturn = syscall_nr___sigreturn14; { Note: syscall_nr_sigreturn was not on the checked list for FreeBSD } -{ syscall_nr_compat_12_stat12 = 188; } -{ syscall_nr___stat13 = 278 } - syscall_nr_stat = syscall_nr___stat13; { syscall_nr_wait4 = 7 } syscall_nr_waitpid = syscall_nr_wait4; { This one seems to be missing !!!!