summaryrefslogtreecommitdiff
path: root/libc/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps')
-rw-r--r--libc/sysdeps/linux/common/alarm.c4
-rw-r--r--libc/sysdeps/linux/common/arch_prctl.c2
-rw-r--r--libc/sysdeps/linux/common/capget.c3
-rw-r--r--libc/sysdeps/linux/common/capset.c2
-rw-r--r--libc/sysdeps/linux/common/fchdir.c3
-rw-r--r--libc/sysdeps/linux/common/ftruncate.c1
-rw-r--r--libc/sysdeps/linux/common/getdents.c28
-rw-r--r--libc/sysdeps/linux/common/getrlimit.c7
-rw-r--r--libc/sysdeps/linux/common/init_module.c5
-rw-r--r--libc/sysdeps/linux/common/sendfile.c12
-rw-r--r--libc/sysdeps/linux/common/setrlimit.c18
-rw-r--r--libc/sysdeps/linux/common/truncate.c1
-rw-r--r--libc/sysdeps/linux/i386/sysdep.h5
13 files changed, 42 insertions, 49 deletions
diff --git a/libc/sysdeps/linux/common/alarm.c b/libc/sysdeps/linux/common/alarm.c
index cfd68fe1b..a2dd77be4 100644
--- a/libc/sysdeps/linux/common/alarm.c
+++ b/libc/sysdeps/linux/common/alarm.c
@@ -10,12 +10,10 @@
#include <sys/syscall.h>
#include <unistd.h>
-
#ifdef __NR_alarm
_syscall1(unsigned int, alarm, unsigned int, seconds)
#else
-#include <sys/time.h>
-
+# include <sys/time.h>
unsigned int alarm(unsigned int seconds)
{
diff --git a/libc/sysdeps/linux/common/arch_prctl.c b/libc/sysdeps/linux/common/arch_prctl.c
index 5816f5394..9fc59485c 100644
--- a/libc/sysdeps/linux/common/arch_prctl.c
+++ b/libc/sysdeps/linux/common/arch_prctl.c
@@ -10,6 +10,6 @@
#include <sys/syscall.h>
#ifdef __NR_arch_prctl
-extern int arch_prctl(int code, unsigned long addr);
+int arch_prctl(int code, unsigned long addr);
_syscall2(int, arch_prctl, int, code, unsigned long, addr)
#endif
diff --git a/libc/sysdeps/linux/common/capget.c b/libc/sysdeps/linux/common/capget.c
index c3e8c5771..e420f6a1f 100644
--- a/libc/sysdeps/linux/common/capget.c
+++ b/libc/sysdeps/linux/common/capget.c
@@ -8,7 +8,8 @@
*/
#include <sys/syscall.h>
-int capget(void *header, void *data);
+
#ifdef __NR_capget
+int capget(void *header, void *data);
_syscall2(int, capget, void *, header, void *, data)
#endif
diff --git a/libc/sysdeps/linux/common/capset.c b/libc/sysdeps/linux/common/capset.c
index c0cf5deb0..493cf1449 100644
--- a/libc/sysdeps/linux/common/capset.c
+++ b/libc/sysdeps/linux/common/capset.c
@@ -9,7 +9,7 @@
#include <sys/syscall.h>
-int capset(void *header, const void *data);
#ifdef __NR_capset
+int capset(void *header, const void *data);
_syscall2(int, capset, void *, header, const void *, data)
#endif
diff --git a/libc/sysdeps/linux/common/fchdir.c b/libc/sysdeps/linux/common/fchdir.c
index 4d54ef821..05e9890c8 100644
--- a/libc/sysdeps/linux/common/fchdir.c
+++ b/libc/sysdeps/linux/common/fchdir.c
@@ -10,6 +10,7 @@
#include <sys/syscall.h>
#include <unistd.h>
-
+#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
_syscall1(int, fchdir, int, fd)
libc_hidden_def(fchdir)
+#endif
diff --git a/libc/sysdeps/linux/common/ftruncate.c b/libc/sysdeps/linux/common/ftruncate.c
index 3bdef3f46..ea4dfc0f6 100644
--- a/libc/sysdeps/linux/common/ftruncate.c
+++ b/libc/sysdeps/linux/common/ftruncate.c
@@ -10,6 +10,5 @@
#include <sys/syscall.h>
#include <unistd.h>
-
_syscall2(int, ftruncate, int, fd, __off_t, length)
libc_hidden_def(ftruncate)
diff --git a/libc/sysdeps/linux/common/getdents.c b/libc/sysdeps/linux/common/getdents.c
index f321aeae6..f4fb7476e 100644
--- a/libc/sysdeps/linux/common/getdents.c
+++ b/libc/sysdeps/linux/common/getdents.c
@@ -4,22 +4,17 @@
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
-#include <assert.h>
-#include <errno.h>
+#include <sys/syscall.h>
+#include <bits/wordsize.h>
+
+#if !(defined __UCLIBC_HAS_LFS__ && defined __NR_getdents64 && __WORDSIZE == 64)
+
#include <dirent.h>
-#include <stddef.h>
-#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/kernel-features.h>
-#include <bits/uClibc_alloc.h>
-#if !(defined __UCLIBC_HAS_LFS__ && defined __NR_getdents64 && __WORDSIZE == 64)
/* If the condition above is met, __getdents is defined as an alias
* for __getdents64 (see getdents64.c). Otherwise...
*/
@@ -31,10 +26,6 @@
* version / arch details.
*/
-#ifndef offsetof
-# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-
struct kernel_dirent
{
long int d_ino;
@@ -77,6 +68,13 @@ ssize_t __getdents (int fd, char *buf, size_t nbytes)
#elif ! defined __UCLIBC_HAS_LFS__ || ! defined __NR_getdents64
+# include <assert.h>
+# include <stddef.h>
+# include <errno.h>
+# include <unistd.h>
+# include <sys/param.h>
+# include <bits/uClibc_alloc.h>
+
ssize_t __getdents (int fd, char *buf, size_t nbytes)
{
struct dirent *dp;
@@ -138,6 +136,8 @@ ssize_t __getdents (int fd, char *buf, size_t nbytes)
#elif __WORDSIZE == 32
+# include <stddef.h>
+
ssize_t __getdents (int fd, char *buf, size_t nbytes)
{
struct dirent *dp;
diff --git a/libc/sysdeps/linux/common/getrlimit.c b/libc/sysdeps/linux/common/getrlimit.c
index f9d70f37b..3b2ce3b37 100644
--- a/libc/sysdeps/linux/common/getrlimit.c
+++ b/libc/sysdeps/linux/common/getrlimit.c
@@ -8,8 +8,8 @@
*/
#include <sys/syscall.h>
-#include <unistd.h>
#include <sys/resource.h>
+#include <bits/wordsize.h>
/* Only wrap getrlimit if the new ugetrlimit is not present and getrlimit sucks */
@@ -22,14 +22,14 @@ _syscall2(int, __syscall_ugetrlimit, enum __rlimit_resource, resource,
struct rlimit *, rlim)
int getrlimit(__rlimit_resource_t resource, struct rlimit *rlimits)
{
- return (__syscall_ugetrlimit(resource, rlimits));
+ return __syscall_ugetrlimit(resource, rlimits);
}
#elif !defined(__UCLIBC_HANDLE_OLDER_RLIMIT__)
/* We don't need to wrap getrlimit() */
_syscall2(int, getrlimit, __rlimit_resource_t, resource,
- struct rlimit *, rlim)
+ struct rlimit *, rlim)
#else
@@ -56,7 +56,6 @@ int getrlimit(__rlimit_resource_t resource, struct rlimit *rlimits)
return result;
}
#endif
-
libc_hidden_def(getrlimit)
#if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 64
diff --git a/libc/sysdeps/linux/common/init_module.c b/libc/sysdeps/linux/common/init_module.c
index cf6d74721..a2a3e02f5 100644
--- a/libc/sysdeps/linux/common/init_module.c
+++ b/libc/sysdeps/linux/common/init_module.c
@@ -8,12 +8,13 @@
*/
#include <sys/syscall.h>
-int init_module(void *first, void *second, void *third, void *fourth, void *fifth);
+
#ifdef __NR_init_module
+int init_module(void *first, void *second, void *third, void *fourth, void *fifth);
/* This may have 5 arguments (for old 2.0 kernels) or 2 arguments
* (for 2.2 and 2.4 kernels). Use the greatest common denominator,
* and let the kernel cope with whatever it gets. It's good at that. */
_syscall5(int, init_module, void *, first, void *, second, void *, third,
- void *, fourth, void *, fifth)
+ void *, fourth, void *, fifth)
#endif
diff --git a/libc/sysdeps/linux/common/sendfile.c b/libc/sysdeps/linux/common/sendfile.c
index 89bab9f35..80f2e2ea4 100644
--- a/libc/sysdeps/linux/common/sendfile.c
+++ b/libc/sysdeps/linux/common/sendfile.c
@@ -8,16 +8,12 @@
*/
#include <sys/syscall.h>
-#include <unistd.h>
-#include <sys/sendfile.h>
#ifdef __NR_sendfile
-
+# include <sys/sendfile.h>
_syscall4(ssize_t, sendfile, int, out_fd, int, in_fd, __off_t *, offset,
- size_t, count)
-
-#if ! defined __NR_sendfile64 && defined __UCLIBC_HAS_LFS__
+ size_t, count)
+# if ! defined __NR_sendfile64 && defined __UCLIBC_HAS_LFS__
strong_alias(sendfile,sendfile64)
+# endif
#endif
-
-#endif /* __NR_sendfile */
diff --git a/libc/sysdeps/linux/common/setrlimit.c b/libc/sysdeps/linux/common/setrlimit.c
index 6817a9c92..d96700aec 100644
--- a/libc/sysdeps/linux/common/setrlimit.c
+++ b/libc/sysdeps/linux/common/setrlimit.c
@@ -8,8 +8,8 @@
*/
#include <sys/syscall.h>
-#include <unistd.h>
#include <sys/resource.h>
+#include <bits/wordsize.h>
/* Only wrap setrlimit if the new usetrlimit is not present and setrlimit sucks */
@@ -22,7 +22,7 @@ _syscall2(int, __syscall_usetrlimit, enum __rlimit_resource, resource,
const struct rlimit *, rlim)
int setrlimit(__rlimit_resource_t resource, struct rlimit *rlimits)
{
- return (__syscall_usetrlimit(resource, rlimits));
+ return __syscall_usetrlimit(resource, rlimits);
}
#elif !defined(__UCLIBC_HANDLE_OLDER_RLIMIT__)
@@ -33,6 +33,11 @@ _syscall2(int, setrlimit, __rlimit_resource_t, resource,
#else
+# define __need_NULL
+# include <stddef.h>
+# include <errno.h>
+# include <sys/param.h>
+
/* we have to handle old style setrlimit() */
# define __NR___syscall_setrlimit __NR_setrlimit
static __always_inline
@@ -49,16 +54,13 @@ int setrlimit(__rlimit_resource_t resource, const struct rlimit *rlimits)
/* We might have to correct the limits values. Since the old values
* were signed the new values might be too large. */
-# define RMIN(x, y) ((x) < (y) ? (x) : (y))
- rlimits_small.rlim_cur = RMIN((unsigned long int) rlimits->rlim_cur,
+ rlimits_small.rlim_cur = MIN((unsigned long int) rlimits->rlim_cur,
RLIM_INFINITY >> 1);
- rlimits_small.rlim_max = RMIN((unsigned long int) rlimits->rlim_max,
+ rlimits_small.rlim_max = MIN((unsigned long int) rlimits->rlim_max,
RLIM_INFINITY >> 1);
-#undef RMIN
- return (__syscall_setrlimit(resource, &rlimits_small));
+ return __syscall_setrlimit(resource, &rlimits_small);
}
#endif
-
libc_hidden_def(setrlimit)
#if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 64
diff --git a/libc/sysdeps/linux/common/truncate.c b/libc/sysdeps/linux/common/truncate.c
index 2331bddb1..fe7bda9e2 100644
--- a/libc/sysdeps/linux/common/truncate.c
+++ b/libc/sysdeps/linux/common/truncate.c
@@ -10,6 +10,5 @@
#include <sys/syscall.h>
#include <unistd.h>
-
_syscall2(int, truncate, const char *, path, __off_t, length)
libc_hidden_def(truncate)
diff --git a/libc/sysdeps/linux/i386/sysdep.h b/libc/sysdeps/linux/i386/sysdep.h
index b06d392a2..4137b9705 100644
--- a/libc/sysdeps/linux/i386/sysdep.h
+++ b/libc/sysdeps/linux/i386/sysdep.h
@@ -150,10 +150,6 @@ __x86.get_pc_thunk.reg: \
#undef __i686
#endif /* __ASSEMBLER__ */
-#ifndef offsetof
-# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-
/* For Linux we can use the system call table in the header file
/usr/include/asm/unistd.h
of the kernel. But these symbols do not follow the SYS_* syntax
@@ -444,6 +440,7 @@ __x86.get_pc_thunk.reg: \
# define PTR_DEMANGLE(reg) rorl $9, reg; \
xorl %gs:POINTER_GUARD, reg
# else
+# include <stddef.h>
# define PTR_MANGLE(var) __asm__ ("xorl %%gs:%c2, %0\n" \
"roll $9, %0" \
: "=r" (var) \