summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/__syscall_fcntl64.c10
-rw-r--r--libc/sysdeps/linux/common/creat64.c4
-rw-r--r--libc/sysdeps/linux/common/fstat64.c17
-rw-r--r--libc/sysdeps/linux/common/fstatat64.c9
-rw-r--r--libc/sysdeps/linux/common/ftruncate64.c43
-rw-r--r--libc/sysdeps/linux/common/getdents64.c17
-rw-r--r--libc/sysdeps/linux/common/getrlimit64.c7
-rw-r--r--libc/sysdeps/linux/common/lstat64.c9
-rw-r--r--libc/sysdeps/linux/common/open64.c6
-rw-r--r--libc/sysdeps/linux/common/posix_fadvise64.c2
-rw-r--r--libc/sysdeps/linux/common/sendfile64.c11
-rw-r--r--libc/sysdeps/linux/common/setrlimit64.c7
-rw-r--r--libc/sysdeps/linux/common/stat64.c14
-rw-r--r--libc/sysdeps/linux/common/truncate64.c47
14 files changed, 76 insertions, 127 deletions
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 <sys/syscall.h>
-#include <stdarg.h>
-#include <fcntl.h>
-#if defined __UCLIBC_HAS_LFS__ && defined __NR_fcntl64
-
-#define __NR___syscall_fcntl64 __NR_fcntl64
+#ifdef __NR_fcntl64
+# include <stdarg.h>
+# include <fcntl.h>
+# 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 <fcntl.h>
-#include <sys/types.h>
/* 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 <sys/syscall.h>
-#if defined __UCLIBC_HAS_LFS__ && defined __NR_fstat64
-#include <unistd.h>
-#include <sys/stat.h>
-#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 <unistd.h>
+# include <sys/stat.h>
+# 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 <sys/syscall.h>
-#include <sys/stat.h>
-#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 <sys/stat.h>
+# 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 <features.h>
+#include <_lfs_64.h>
+#include <sys/syscall.h>
+#include <unistd.h>
-#ifdef __UCLIBC_HAS_LFS__
+#ifdef __NR_ftruncate64
+# include <bits/wordsize.h>
-# include <unistd.h>
-# include <errno.h>
-# include <endian.h>
-# include <stdint.h>
-# include <sys/types.h>
-# include <sys/syscall.h>
-
-
-# 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 <endian.h>
+# include <stdint.h>
/* 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 <errno.h>
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 <features.h>
+#include <_lfs_64.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_getdents64
+
#include <assert.h>
#include <errno.h>
#include <dirent.h>
@@ -12,19 +16,10 @@
#include <stdint.h>
#include <string.h>
#include <unistd.h>
-#include <dirent.h>
#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/syscall.h>
-#include <bits/kernel_types.h>
+#include <bits/wordsize.h>
#include <bits/uClibc_alloc.h>
-#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 <sys/types.h>
-#include <sys/resource.h>
#include <bits/wordsize.h>
/* the regular getrlimit will work just fine for 64bit users */
+#if __WORDSIZE == 32
-#if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 32
-
+# include <sys/resource.h>
/* 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 <sys/syscall.h>
-#if defined __UCLIBC_HAS_LFS__ && defined __NR_lstat64
+#ifdef __NR_lstat64
# include <unistd.h>
# include <sys/stat.h>
# 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 <features.h>
+#include <_lfs_64.h>
#include <fcntl.h>
#include <stdarg.h>
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
@@ -12,8 +12,6 @@
#include <sysdep-cancel.h>
#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 <fcntl.h>
# include <endian.h>
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 <features.h>
-#include <unistd.h>
-#include <errno.h>
-#include <endian.h>
-#include <stdint.h>
-#include <sys/sendfile.h>
+#include <_lfs_64.h>
#include <sys/syscall.h>
-#include <bits/wordsize.h>
-#if defined __UCLIBC_HAS_LFS__ && defined __NR_sendfile64
+#ifdef __NR_sendfile64
+# include <sys/sendfile.h>
_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 <sys/types.h>
-#include <sys/resource.h>
#include <bits/wordsize.h>
/* the regular setrlimit will work just fine for 64bit users */
+#if __WORDSIZE == 32
-#if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 32
-
+# include <sys/resource.h>
/* 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 <sys/syscall.h>
-#include <sys/stat.h>
-#if defined __UCLIBC_HAS_LFS__ && defined __NR_stat64
-
-# define __NR___syscall_stat64 __NR_stat64
-# include <unistd.h>
+#ifdef __NR_stat64
+# include <sys/stat.h>
# 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 <features.h>
-#include <unistd.h>
-#include <errno.h>
-#include <endian.h>
-#include <stdint.h>
-#include <sys/types.h>
+#include <_lfs_64.h>
#include <sys/syscall.h>
+#include <unistd.h>
-#if defined __UCLIBC_HAS_LFS__
-
-#if defined __NR_truncate64
-
-#if __WORDSIZE == 64
+#ifdef __NR_truncate64
+# include <bits/wordsize.h>
-/* 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 <endian.h>
+# include <stdint.h>
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 <errno.h>
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