diff options
Diffstat (limited to 'libc/sysdeps')
| -rw-r--r-- | libc/sysdeps/linux/common/posix_fadvise.c | 16 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/posix_fadvise64.c | 25 | 
2 files changed, 26 insertions, 15 deletions
diff --git a/libc/sysdeps/linux/common/posix_fadvise.c b/libc/sysdeps/linux/common/posix_fadvise.c index b75a6c313..b37f28861 100644 --- a/libc/sysdeps/linux/common/posix_fadvise.c +++ b/libc/sysdeps/linux/common/posix_fadvise.c @@ -1,5 +1,5 @@  /* vi: set sw=4 ts=4: */ -/*  +/*   * posix_fadvise() for uClibc   * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html   * @@ -13,7 +13,7 @@  #ifdef __NR_fadvise64  #define __NR___syscall_fadvise64 __NR_fadvise64 -_syscall4(int, __syscall_fadvise64, int, fd, off_t, offset,  +_syscall4(int, __syscall_fadvise64, int, fd, off_t, offset,            off_t, len, int, advice);  int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advice)  { @@ -21,14 +21,14 @@ int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advice)  }  weak_alias(__libc_posix_fadvise, posix_fadvise); +#if defined __UCLIBC_HAS_LFS__ && !defined __NR_fadvise64_64 +weak_alias(__libc_posix_fadvise, posix_fadvise64); +#endif +  #else  int posix_fadvise(int fd, off_t offset, off_t len, int advice)  { -    __set_errno(ENOSYS); -    return -1; +	__set_errno(ENOSYS); +	return -1;  }  #endif - -#if ! defined __NR_fadvise64_64 && defined __UCLIBC_HAS_LFS__ -weak_alias(__libc_posix_fadvise, posix_fadvise64); -#endif diff --git a/libc/sysdeps/linux/common/posix_fadvise64.c b/libc/sysdeps/linux/common/posix_fadvise64.c index 93d56d6cb..a5dbe8de2 100644 --- a/libc/sysdeps/linux/common/posix_fadvise64.c +++ b/libc/sysdeps/linux/common/posix_fadvise64.c @@ -1,5 +1,5 @@  /* vi: set sw=4 ts=4: */ -/*  +/*   * posix_fadvise64() for uClibc   * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html   * @@ -17,12 +17,13 @@  #include <sys/syscall.h>  #include <fcntl.h> -#if defined __UCLIBC_HAS_LFS__ && defined __NR_fadvise64_64 +#ifdef __UCLIBC_HAS_LFS__ +#ifdef __NR_fadvise64_64  #define __NR___syscall_fadvise64_64 __NR_fadvise64_64  /* 64 bit implementation is cake ... or more like pie ... */  #if __WORDSIZE == 64 -_syscall4(int, __syscall_fadvise64_64, int, fd, __off64_t, offset,  +_syscall4(int, __syscall_fadvise64_64, int, fd, __off64_t, offset,            __off64_t, len, int, advice);  int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)  { @@ -34,9 +35,9 @@ weak_alias(__libc_posix_fadvise64, posix_fadvise64);  #elif __WORDSIZE == 32  #ifdef _syscall6 /* workaround until everyone has _syscall6() */ -_syscall6(int, __syscall_fadvise64_64, int, fd,  -          unsigned long, high_offset, unsigned long, low_offset,  -          unsigned long, high_len, unsigned long, low_len,  +_syscall6(int, __syscall_fadvise64_64, int, fd, +          unsigned long, high_offset, unsigned long, low_offset, +          unsigned long, high_len, unsigned long, low_len,            int, advice);  int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)  { @@ -54,4 +55,14 @@ weak_alias(__libc_posix_fadvise64, posix_fadvise64);  #error your machine is neither 32 bit or 64 bit ... it must be magical  #endif -#endif +#elif !defined __NR_fadvise64 +/* This is declared as a weak alias in posix_fadvice.c if __NR_fadvise64 + * is defined. + */ +int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice) +{ +	__set_errno(ENOSYS); +	return -1; +} +#endif /* __NR_fadvise64_64 */ +#endif /* __UCLIBC_HAS_LFS__ */  | 
