diff options
Diffstat (limited to 'libc/sysdeps')
-rw-r--r-- | libc/sysdeps/linux/common/alarm.c | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/arch_prctl.c | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/capget.c | 3 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/capset.c | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/fchdir.c | 3 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/ftruncate.c | 1 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/getdents.c | 28 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/getrlimit.c | 7 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/init_module.c | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/sendfile.c | 12 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/setrlimit.c | 18 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/truncate.c | 1 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/sysdep.h | 5 |
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) \ |