diff options
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/make-syscalls.sh | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/kernel-features.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/paths.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/preadv.c | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/pwritev.c | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sys/mount.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sys/timex.h | 14 |
7 files changed, 31 insertions, 15 deletions
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh index ca82e1f331..8abb0349bf 100644 --- a/sysdeps/unix/make-syscalls.sh +++ b/sysdeps/unix/make-syscalls.sh @@ -155,6 +155,7 @@ shared-only-routines += $file case x"$callnum" in x_) echo "\ + \$(make-target-directory) (echo '/* Dummy module requested by syscalls.list */'; \\" ;; x*) diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 2fa8524db9..97725e7291 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -531,9 +531,7 @@ #endif /* Support for preadv and pwritev was added in 2.6.30. */ -#if __LINUX_KERNEL_VERSION >= 0x02061e \ - && (defined __i386__ || defined __x86_64__ || defined __powerpc__ \ - || defined __ia64__ || defined __sparc__ && defined __sh__) +#if __LINUX_KERNEL_VERSION >= 0x02061e # define __ASSUME_PREADV 1 # define __ASSUME_PWRITEV 1 #endif diff --git a/sysdeps/unix/sysv/linux/paths.h b/sysdeps/unix/sysv/linux/paths.h index a87831e74a..1b01c0d179 100644 --- a/sysdeps/unix/sysv/linux/paths.h +++ b/sysdeps/unix/sysv/linux/paths.h @@ -44,6 +44,7 @@ #define _PATH_DEVDB "/var/run/dev.db" #define _PATH_DEVNULL "/dev/null" #define _PATH_DRUM "/dev/drum" +#define _PATH_GSHADOW "/etc/gshadow" #define _PATH_KLOG "/proc/kmsg" #define _PATH_KMEM "/dev/kmem" #define _PATH_LASTLOG "/var/log/lastlog" diff --git a/sysdeps/unix/sysv/linux/preadv.c b/sysdeps/unix/sysv/linux/preadv.c index 0d4a6c3803..72722ebc0d 100644 --- a/sysdeps/unix/sysv/linux/preadv.c +++ b/sysdeps/unix/sysv/linux/preadv.c @@ -37,6 +37,10 @@ # define OFF_T off_t #endif +#define LO_HI_LONG(val) \ + (off_t) val, \ + (off_t) ((((uint64_t) (val)) >> (sizeof (long) * 4)) >> (sizeof (long) * 4)) + #ifndef __ASSUME_PREADV static ssize_t PREADV_REPLACEMENT (int, __const struct iovec *, int, OFF_T) internal_function; @@ -55,15 +59,13 @@ PREADV (fd, vector, count, offset) if (SINGLE_THREAD_P) result = INLINE_SYSCALL (preadv, 5, fd, vector, count, - (off_t) ((off64_t) offset >> 32), - (off_t) (offset & 0xffffffff)); + LO_HI_LONG (offset)); else { int oldtype = LIBC_CANCEL_ASYNC (); result = INLINE_SYSCALL (preadv, 5, fd, vector, count, - (off_t) ((off64_t) offset >> 32), - (off_t) (offset & 0xffffffff)); + LO_HI_LONG (offset)); LIBC_CANCEL_RESET (oldtype); } diff --git a/sysdeps/unix/sysv/linux/pwritev.c b/sysdeps/unix/sysv/linux/pwritev.c index 5c30eae51f..2e9cbb2536 100644 --- a/sysdeps/unix/sysv/linux/pwritev.c +++ b/sysdeps/unix/sysv/linux/pwritev.c @@ -37,6 +37,10 @@ # define OFF_T off_t #endif +#define LO_HI_LONG(val) \ + (off_t) val, \ + (off_t) ((((uint64_t) (val)) >> (sizeof (long) * 4)) >> (sizeof (long) * 4)) + #ifndef __ASSUME_PWRITEV static ssize_t PWRITEV_REPLACEMENT (int, __const struct iovec *, int, OFF_T) internal_function; @@ -55,15 +59,13 @@ PWRITEV (fd, vector, count, offset) if (SINGLE_THREAD_P) result = INLINE_SYSCALL (pwritev, 5, fd, vector, count, - (off_t) ((off64_t) offset >> 32), - (off_t) (offset & 0xffffffff)); + LO_HI_LONG (offset)); else { int oldtype = LIBC_CANCEL_ASYNC (); result = INLINE_SYSCALL (pwritev, 5, fd, vector, count, - (off_t) ((off64_t) offset >> 32), - (off_t) (offset & 0xffffffff)); + LO_HI_LONG (offset)); LIBC_CANCEL_RESET (oldtype); } diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h index b30554987a..57d440f273 100644 --- a/sysdeps/unix/sysv/linux/sys/mount.h +++ b/sysdeps/unix/sysv/linux/sys/mount.h @@ -96,8 +96,12 @@ enum /* Possible value for FLAGS parameter of `umount2'. */ enum { - MNT_FORCE = 1 /* Force unmounting. */ + MNT_FORCE = 1, /* Force unmounting. */ #define MNT_FORCE MNT_FORCE + MNT_DETACH = 2, /* Just detach from the tree. */ +#define MNT_DETACH MNT_DETACH + MNT_EXPIRE = 4 /* Mark for expiry. */ +#define MNT_EXPIRE MNT_EXPIRE }; diff --git a/sysdeps/unix/sysv/linux/sys/timex.h b/sysdeps/unix/sysv/linux/sys/timex.h index f7bd6e7929..5f10c7fa4c 100644 --- a/sysdeps/unix/sysv/linux/sys/timex.h +++ b/sysdeps/unix/sysv/linux/sys/timex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1999, 2007 Free Software Foundation, Inc. +/* Copyright (C) 1995-1997, 1999, 2007, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,7 @@ #include <features.h> #include <sys/time.h> -/* These definitions from linux/timex.h as of 2.2.0. */ +/* These definitions from linux/timex.h as of 2.6.30. */ struct ntptimeval { @@ -54,10 +54,12 @@ struct timex long int errcnt; /* calibration errors (ro) */ long int stbcnt; /* stability limit exceeded (ro) */ + int tai; /* TAI offset (ro) */ + /* ??? */ int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; - int :32; int :32; int :32; int :32; + int :32; int :32; int :32; }; /* Mode codes (timex.mode) */ @@ -67,6 +69,9 @@ struct timex #define ADJ_ESTERROR 0x0008 /* estimated time error */ #define ADJ_STATUS 0x0010 /* clock status */ #define ADJ_TIMECONST 0x0020 /* pll time constant */ +#define ADJ_TAI 0x0080 /* set TAI offset */ +#define ADJ_MICRO 0x1000 /* select microsecond resolution */ +#define ADJ_NANO 0x2000 /* select nanosecond resolution */ #define ADJ_TICK 0x4000 /* tick value */ #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ #define ADJ_OFFSET_SS_READ 0xa001 /* read-only adjtime */ @@ -99,6 +104,9 @@ struct timex #define STA_PPSERROR 0x0800 /* PPS signal calibration error (ro) */ #define STA_CLOCKERR 0x1000 /* clock hardware fault (ro) */ +#define STA_NANO 0x2000 /* resolution (0 = us, 1 = ns) (ro) */ +#define STA_MODE 0x4000 /* mode (0 = PLL, 1 = FLL) (ro) */ +#define STA_CLK 0x8000 /* clock source (0 = A, 1 = B) (ro) */ #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \ STA_PPSERROR | STA_CLOCKERR) /* read-only bits */ |