diff options
-rw-r--r-- | libc/sysdeps/linux/arm/posix_fadvise.c | 19 | ||||
-rw-r--r-- | libc/sysdeps/linux/arm/posix_fadvise64.c | 17 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/posix_fadvise64.S | 26 |
3 files changed, 47 insertions, 15 deletions
diff --git a/libc/sysdeps/linux/arm/posix_fadvise.c b/libc/sysdeps/linux/arm/posix_fadvise.c index bb4ac7b0c..b23eb3d6b 100644 --- a/libc/sysdeps/linux/arm/posix_fadvise.c +++ b/libc/sysdeps/linux/arm/posix_fadvise.c @@ -9,12 +9,21 @@ */ #include <sys/syscall.h> #include <fcntl.h> + #if defined __NR_arm_fadvise64_64 + +/* Was named __libc_posix_fadvise for some inexplicable reason. +** google says only uclibc has *__libc*_posix_fadviseXXX, +** so it cannot be compat with anything. +** +** Remove this comment and one at the end after 0.9.31 +*/ + /* This is for the ARM version of fadvise64_64 which swaps the params * * about to avoid having ABI compat issues * */ #define __NR___syscall_arm_fadvise64_64 __NR_arm_fadvise64_64 -int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advise) +int posix_fadvise(int fd, off_t offset, off_t len, int advise) { INTERNAL_SYSCALL_DECL (err); int ret = INTERNAL_SYSCALL (arm_fadvise64_64, err, 6, fd, advise, @@ -24,13 +33,15 @@ int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advise) if (INTERNAL_SYSCALL_ERROR_P (ret, err)) return INTERNAL_SYSCALL_ERRNO (ret, err); return 0; - } -weak_alias(__libc_posix_fadvise, posix_fadvise); + +/* weak_alias(__libc_posix_fadvise, posix_fadvise); */ + #else + int posix_fadvise(int fd attribute_unused, off_t offset attribute_unused, off_t len attribute_unused, int advice attribute_unused) { return ENOSYS; } -#endif +#endif diff --git a/libc/sysdeps/linux/arm/posix_fadvise64.c b/libc/sysdeps/linux/arm/posix_fadvise64.c index 479b0c5a2..4b27381d1 100644 --- a/libc/sysdeps/linux/arm/posix_fadvise64.c +++ b/libc/sysdeps/linux/arm/posix_fadvise64.c @@ -20,11 +20,19 @@ #ifdef __UCLIBC_HAS_LFS__ #if defined __NR_arm_fadvise64_64 + +/* Was named __libc_posix_fadvise64 for some inexplicable reason. +** google says only uclibc has *__libc*_posix_fadviseXXX, +** so it cannot be compat with anything. +** +** Remove this comment and one at the end after 0.9.31 +*/ + /* This is for the ARM version of fadvise64_64 which swaps the params * about to avoid having ABI compat issues */ #define __NR___syscall_arm_fadvise64_64 __NR_arm_fadvise64_64 -int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) +int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) { INTERNAL_SYSCALL_DECL (err); int ret = INTERNAL_SYSCALL (arm_fadvise64_64, err, 6, fd, advise, @@ -36,11 +44,16 @@ int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) return INTERNAL_SYSCALL_ERRNO (ret, err); return 0; } -weak_alias(__libc_posix_fadvise64, posix_fadvise64); + +/* weak_alias(__libc_posix_fadvise64, posix_fadvise64); */ + #else + int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) { return ENOSYS; } + #endif + #endif diff --git a/libc/sysdeps/linux/i386/posix_fadvise64.S b/libc/sysdeps/linux/i386/posix_fadvise64.S index b99b35ee7..17f006aa8 100644 --- a/libc/sysdeps/linux/i386/posix_fadvise64.S +++ b/libc/sysdeps/linux/i386/posix_fadvise64.S @@ -22,10 +22,17 @@ #include <bits/errno.h> #include <sys/syscall.h> +/* Was named __libc_posix_fadvise64 for some inexplicable reason. +** google says only uclibc has *__libc*_posix_fadviseXXX, +** so it cannot be compat with anything. +** +** Remove this comment and one at the end after 0.9.31 +*/ + .text -.global __libc_posix_fadvise64 -.type __libc_posix_fadvise64,%function -__libc_posix_fadvise64: +.global posix_fadvise64 +.type posix_fadvise64,%function +posix_fadvise64: #if defined __NR_fadvise64_64 /* Save regs */ pushl %ebp @@ -91,10 +98,11 @@ overflow: /* Successful; return the syscall's value. */ ret -.size __libc_posix_fadvise64,.-__libc_posix_fadvise64 - -libc_hidden_def(__libc_posix_fadvise64) -#if defined __UCLIBC_HAS_LFS__ && defined __UCLIBC_HAS_ADVANCED_REALTIME__ -weak_alias(__libc_posix_fadvise64,posix_fadvise64) -#endif +.size posix_fadvise64,.-posix_fadvise64 +/* +** libc_hidden_def(__libc_posix_fadvise64) +** #if defined __UCLIBC_HAS_LFS__ && defined __UCLIBC_HAS_ADVANCED_REALTIME__ +** weak_alias(__libc_posix_fadvise64,posix_fadvise64) +** #endif +*/ |