summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/common/posix_fadvise.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/posix_fadvise.c b/libc/sysdeps/linux/common/posix_fadvise.c
index 3fe15c40c..5fba19ffc 100644
--- a/libc/sysdeps/linux/common/posix_fadvise.c
+++ b/libc/sysdeps/linux/common/posix_fadvise.c
@@ -8,15 +8,22 @@
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
+/* need to hide the 64bit prototype or the strong_alias()
+ * will fail when __NR_fadvise64_64 doesnt exist */
+#define posix_fadvise64 __hideposix_fadvise64
+
#include "syscalls.h"
#include <fcntl.h>
+#undef posix_fadvise64
+
#ifdef __NR_fadvise64
#define __NR_posix_fadvise __NR_fadvise64
_syscall4(int, posix_fadvise, int, fd, off_t, offset,
off_t, len, int, advice);
#if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6)
+extern __typeof(posix_fadvise) posix_fadvise64;
strong_alias(posix_fadvise,posix_fadvise64)
#endif