diff options
Diffstat (limited to 'libc/sysdeps/linux/arm/posix_fadvise.c')
| -rw-r--r-- | libc/sysdeps/linux/arm/posix_fadvise.c | 19 | 
1 files changed, 15 insertions, 4 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  | 
