From e21479da34bbe39fb9d99e2f6e323fd1a942d9cb Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Sat, 16 Apr 2011 01:07:23 +0200 Subject: *64.[cS]: use _lfs_64.h instead of features.h and remove LFS guard _lfs_64.h makes the compile fail, if LFS is not enabled, no need for the guard. Reorganize to include only the minimal necessary headers. Signed-off-by: Peter S. Mazinger Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/common/__syscall_fcntl64.c | 10 +++--- libc/sysdeps/linux/common/creat64.c | 4 --- libc/sysdeps/linux/common/fstat64.c | 17 +++++----- libc/sysdeps/linux/common/fstatat64.c | 9 ++--- libc/sysdeps/linux/common/ftruncate64.c | 43 ++++++++++-------------- libc/sysdeps/linux/common/getdents64.c | 17 ++++------ libc/sysdeps/linux/common/getrlimit64.c | 7 ++-- libc/sysdeps/linux/common/lstat64.c | 9 +++-- libc/sysdeps/linux/common/open64.c | 6 +--- libc/sysdeps/linux/common/posix_fadvise64.c | 2 +- libc/sysdeps/linux/common/sendfile64.c | 11 ++----- libc/sysdeps/linux/common/setrlimit64.c | 7 ++-- libc/sysdeps/linux/common/stat64.c | 14 ++++---- libc/sysdeps/linux/common/truncate64.c | 47 ++++++++++----------------- 14 files changed, 76 insertions(+), 127 deletions(-) (limited to 'libc/sysdeps/linux/common') diff --git a/libc/sysdeps/linux/common/__syscall_fcntl64.c b/libc/sysdeps/linux/common/__syscall_fcntl64.c index e8782e967..09291e5d7 100644 --- a/libc/sysdeps/linux/common/__syscall_fcntl64.c +++ b/libc/sysdeps/linux/common/__syscall_fcntl64.c @@ -7,13 +7,13 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ +#include <_lfs_64.h> #include -#include -#include -#if defined __UCLIBC_HAS_LFS__ && defined __NR_fcntl64 - -#define __NR___syscall_fcntl64 __NR_fcntl64 +#ifdef __NR_fcntl64 +# include +# include +# define __NR___syscall_fcntl64 __NR_fcntl64 static __inline__ _syscall3(int, __syscall_fcntl64, int, fd, int, cmd, long, arg) int fcntl64(int fd, int cmd, ...) { diff --git a/libc/sysdeps/linux/common/creat64.c b/libc/sysdeps/linux/common/creat64.c index 577ad14b5..550e88aab 100644 --- a/libc/sysdeps/linux/common/creat64.c +++ b/libc/sysdeps/linux/common/creat64.c @@ -17,14 +17,10 @@ 02111-1307 USA. */ #include <_lfs_64.h> - -#ifdef __UCLIBC_HAS_LFS__ #include -#include /* Create FILE with protections MODE. */ int creat64(const char *file, mode_t mode) { return open64(file, O_WRONLY|O_CREAT|O_TRUNC, mode); } -#endif /* __UCLIBC_HAS_LFS__ */ diff --git a/libc/sysdeps/linux/common/fstat64.c b/libc/sysdeps/linux/common/fstat64.c index 60613433b..7460c26f6 100644 --- a/libc/sysdeps/linux/common/fstat64.c +++ b/libc/sysdeps/linux/common/fstat64.c @@ -7,17 +7,16 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ +#include <_lfs_64.h> #include -#if defined __UCLIBC_HAS_LFS__ && defined __NR_fstat64 -#include -#include -#include "xstatconv.h" - - -#define __NR___syscall_fstat64 __NR_fstat64 -static __inline__ _syscall2(int, __syscall_fstat64, - int, filedes, struct kernel_stat64 *, buf) +#ifdef __NR_fstat64 +# include +# include +# include "xstatconv.h" +# define __NR___syscall_fstat64 __NR_fstat64 +static __always_inline _syscall2(int, __syscall_fstat64, + int, filedes, struct kernel_stat64 *, buf) int fstat64(int fd, struct stat64 *buf) { diff --git a/libc/sysdeps/linux/common/fstatat64.c b/libc/sysdeps/linux/common/fstatat64.c index 95627afaf..6be8ba4b5 100644 --- a/libc/sysdeps/linux/common/fstatat64.c +++ b/libc/sysdeps/linux/common/fstatat64.c @@ -6,11 +6,8 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ +#include <_lfs_64.h> #include -#include -#include "xstatconv.h" - -#ifdef __UCLIBC_HAS_LFS__ /* 64bit ports tend to favor newfstatat() */ #ifdef __NR_newfstatat @@ -18,6 +15,8 @@ #endif #ifdef __NR_fstatat64 +# include +# include "xstatconv.h" int fstatat64(int fd, const char *file, struct stat64 *buf, int flag) { int ret; @@ -32,5 +31,3 @@ int fstatat64(int fd, const char *file, struct stat64 *buf, int flag) #else /* should add emulation with fstat64() and /proc/self/fd/ ... */ #endif - -#endif diff --git a/libc/sysdeps/linux/common/ftruncate64.c b/libc/sysdeps/linux/common/ftruncate64.c index c5a616007..012a1f4ed 100644 --- a/libc/sysdeps/linux/common/ftruncate64.c +++ b/libc/sysdeps/linux/common/ftruncate64.c @@ -10,47 +10,42 @@ * just the macro we need to order things, __LONG_LONG_PAIR. */ -#include +#include <_lfs_64.h> +#include +#include -#ifdef __UCLIBC_HAS_LFS__ +#ifdef __NR_ftruncate64 +# include -# include -# include -# include -# include -# include -# include - - -# ifdef __NR_ftruncate64 - -# if __WORDSIZE == 64 +# if __WORDSIZE == 64 /* For a 64 bit machine, life is simple... */ _syscall2(int, ftruncate64, int, fd, __off64_t, length) -# elif __WORDSIZE == 32 +# elif __WORDSIZE == 32 +# include +# include /* The exported ftruncate64 function. */ int ftruncate64 (int fd, __off64_t length) { uint32_t low = length & 0xffffffff; uint32_t high = length >> 32; -# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) +# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) return INLINE_SYSCALL(ftruncate64, 4, fd, 0, __LONG_LONG_PAIR (high, low)); -# else +# else return INLINE_SYSCALL(ftruncate64, 3, fd, __LONG_LONG_PAIR (high, low)); -# endif +# endif } -# else /* __WORDSIZE */ -# error Your machine is not 64 bit or 32 bit, I am dazed and confused. -# endif /* __WORDSIZE */ - -# else /* __NR_ftruncate64 */ +# else /* __WORDSIZE */ +# error Your machine is not 64 bit or 32 bit, I am dazed and confused. +# endif /* __WORDSIZE */ +#else /* __NR_ftruncate64 */ +# include int ftruncate64 (int fd, __off64_t length) { @@ -65,7 +60,5 @@ int ftruncate64 (int fd, __off64_t length) return -1; } -# endif /* __NR_ftruncate64 */ +#endif /* __NR_ftruncate64 */ libc_hidden_def(ftruncate64) - -#endif /* __UCLIBC_HAS_LFS__ */ diff --git a/libc/sysdeps/linux/common/getdents64.c b/libc/sysdeps/linux/common/getdents64.c index e1133fffa..aacbe97cc 100644 --- a/libc/sysdeps/linux/common/getdents64.c +++ b/libc/sysdeps/linux/common/getdents64.c @@ -4,7 +4,11 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ -#include +#include <_lfs_64.h> +#include + +#ifdef __NR_getdents64 + #include #include #include @@ -12,19 +16,10 @@ #include #include #include -#include #include -#include -#include -#include +#include #include -#if defined __UCLIBC_HAS_LFS__ && defined __NR_getdents64 - -# ifndef offsetof -# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) -# endif - struct kernel_dirent64 { uint64_t d_ino; diff --git a/libc/sysdeps/linux/common/getrlimit64.c b/libc/sysdeps/linux/common/getrlimit64.c index d537241eb..2945e6da7 100644 --- a/libc/sysdeps/linux/common/getrlimit64.c +++ b/libc/sysdeps/linux/common/getrlimit64.c @@ -17,15 +17,12 @@ 02111-1307 USA. */ #include <_lfs_64.h> - -#include -#include #include /* the regular getrlimit will work just fine for 64bit users */ +#if __WORDSIZE == 32 -#if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 32 - +# include /* Put the soft and hard limits for RESOURCE in *RLIMITS. Returns 0 if successful, -1 if not (and sets errno). */ diff --git a/libc/sysdeps/linux/common/lstat64.c b/libc/sysdeps/linux/common/lstat64.c index 235b76d4a..85e269819 100644 --- a/libc/sysdeps/linux/common/lstat64.c +++ b/libc/sysdeps/linux/common/lstat64.c @@ -7,17 +7,17 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ +#include <_lfs_64.h> #include -#if defined __UCLIBC_HAS_LFS__ && defined __NR_lstat64 +#ifdef __NR_lstat64 # include # include # include "xstatconv.h" - # define __NR___syscall_lstat64 __NR_lstat64 -static __inline__ _syscall2(int, __syscall_lstat64, const char *, file_name, - struct kernel_stat64 *, buf) +static __always_inline _syscall2(int, __syscall_lstat64, const char *, file_name, + struct kernel_stat64 *, buf) int lstat64(const char *file_name, struct stat64 *buf) { @@ -31,5 +31,4 @@ int lstat64(const char *file_name, struct stat64 *buf) return result; } libc_hidden_def(lstat64) - #endif diff --git a/libc/sysdeps/linux/common/open64.c b/libc/sysdeps/linux/common/open64.c index c1f5400b8..91931fa70 100644 --- a/libc/sysdeps/linux/common/open64.c +++ b/libc/sysdeps/linux/common/open64.c @@ -4,7 +4,7 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ -#include +#include <_lfs_64.h> #include #include #ifdef __UCLIBC_HAS_THREADS_NATIVE__ @@ -12,8 +12,6 @@ #include #endif -#ifdef __UCLIBC_HAS_LFS__ - #ifndef O_LARGEFILE # define O_LARGEFILE 0100000 #endif @@ -53,5 +51,3 @@ libc_hidden_def(open64) libc_hidden_weak(open64) strong_alias(open64,__libc_open64) #endif - -#endif /* __UCLIBC_HAS_LFS__ */ diff --git a/libc/sysdeps/linux/common/posix_fadvise64.c b/libc/sysdeps/linux/common/posix_fadvise64.c index de813ba15..067085430 100644 --- a/libc/sysdeps/linux/common/posix_fadvise64.c +++ b/libc/sysdeps/linux/common/posix_fadvise64.c @@ -16,7 +16,7 @@ # define __NR_fadvise64_64 __NR_arm_fadvise64_64 #endif -#if defined __NR_fadvise64_64 && defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 32 +#if defined __NR_fadvise64_64 && __WORDSIZE == 32 # include # include diff --git a/libc/sysdeps/linux/common/sendfile64.c b/libc/sysdeps/linux/common/sendfile64.c index fc5155fd2..2442b808c 100644 --- a/libc/sysdeps/linux/common/sendfile64.c +++ b/libc/sysdeps/linux/common/sendfile64.c @@ -10,15 +10,10 @@ * just the macro we need to order things, __LONG_LONG_PAIR. */ -#include -#include -#include -#include -#include -#include +#include <_lfs_64.h> #include -#include -#if defined __UCLIBC_HAS_LFS__ && defined __NR_sendfile64 +#ifdef __NR_sendfile64 +# include _syscall4(ssize_t,sendfile64, int, out_fd, int, in_fd, __off64_t *, offset, size_t, count) #endif diff --git a/libc/sysdeps/linux/common/setrlimit64.c b/libc/sysdeps/linux/common/setrlimit64.c index 8705c6f59..8ec6e5842 100644 --- a/libc/sysdeps/linux/common/setrlimit64.c +++ b/libc/sysdeps/linux/common/setrlimit64.c @@ -17,15 +17,12 @@ 02111-1307 USA. */ #include <_lfs_64.h> - -#include -#include #include /* the regular setrlimit will work just fine for 64bit users */ +#if __WORDSIZE == 32 -#if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 32 - +# include /* Set the soft and hard limits for RESOURCE to *RLIMITS. Only the super-user can increase hard limits. diff --git a/libc/sysdeps/linux/common/stat64.c b/libc/sysdeps/linux/common/stat64.c index a76f182d4..ef34faf7d 100644 --- a/libc/sysdeps/linux/common/stat64.c +++ b/libc/sysdeps/linux/common/stat64.c @@ -7,17 +7,15 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ +#include <_lfs_64.h> #include -#include -#if defined __UCLIBC_HAS_LFS__ && defined __NR_stat64 - -# define __NR___syscall_stat64 __NR_stat64 -# include +#ifdef __NR_stat64 +# include # include "xstatconv.h" - -static __inline__ _syscall2(int, __syscall_stat64, - const char *, file_name, struct kernel_stat64 *, buf) +# define __NR___syscall_stat64 __NR_stat64 +static __always_inline _syscall2(int, __syscall_stat64, + const char *, file_name, struct kernel_stat64 *, buf) int stat64(const char *file_name, struct stat64 *buf) { diff --git a/libc/sysdeps/linux/common/truncate64.c b/libc/sysdeps/linux/common/truncate64.c index 1f6c4596a..6dfdc4c07 100644 --- a/libc/sysdeps/linux/common/truncate64.c +++ b/libc/sysdeps/linux/common/truncate64.c @@ -10,46 +10,36 @@ * just the macro we need to order things, __LONG_LONG_PAIR. */ -#include -#include -#include -#include -#include -#include +#include <_lfs_64.h> #include +#include -#if defined __UCLIBC_HAS_LFS__ - -#if defined __NR_truncate64 - -#if __WORDSIZE == 64 +#ifdef __NR_truncate64 +# include -/* For a 64 bit machine, life is simple... */ +# if __WORDSIZE == 64 _syscall2(int, truncate64, const char *, path, __off64_t, length) - -#elif __WORDSIZE == 32 - -/* The exported truncate64 function. */ +# elif __WORDSIZE == 32 +# include +# include int truncate64(const char * path, __off64_t length) { uint32_t low = length & 0xffffffff; uint32_t high = length >> 32; -#if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) +# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) return INLINE_SYSCALL(truncate64, 4, path, 0, __LONG_LONG_PAIR(high, low)); -#else +# else return INLINE_SYSCALL(truncate64, 3, path, __LONG_LONG_PAIR(high, low)); -#endif +# endif } +# else +# error Your machine is not 64 bit nor 32 bit, I am dazed and confused. +# endif -#else /* __WORDSIZE */ -#error Your machine is not 64 bit nor 32 bit, I am dazed and confused. -#endif /* __WORDSIZE */ - -#else /* __NR_truncate64 */ - - +#else +# include int truncate64(const char * path, __off64_t length) { __off_t x = (__off_t) length; @@ -62,7 +52,4 @@ int truncate64(const char * path, __off64_t length) return -1; } - -#endif /* __NR_truncate64 */ - -#endif /* __UCLIBC_HAS_LFS__ */ +#endif -- cgit v1.2.3