summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/xtensa/posix_fadvise.c
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2011-04-06 15:36:54 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-06-15 14:00:35 +0200
commit9e74047542cbe90bd63660638ceb30313327027f (patch)
treefe918ecaf613ce9e660e8c971ff5dabf25a9b39f /libc/sysdeps/linux/xtensa/posix_fadvise.c
parentdd340d59c5bcca991047c9ef26147e5e5cbb659b (diff)
posix_fadvise: make posix_fadvise[64] similar on all archs
Remove all versions, that can be covered by the common one. Drop incorrectly implemented fallback support, if __NR_fadvise64_64 is not available. To support 64 bit ppc, move ppc support into common. Cleanup including headers. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/xtensa/posix_fadvise.c')
-rw-r--r--libc/sysdeps/linux/xtensa/posix_fadvise.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/libc/sysdeps/linux/xtensa/posix_fadvise.c b/libc/sysdeps/linux/xtensa/posix_fadvise.c
index 0fe13a1e9..94006ec64 100644
--- a/libc/sysdeps/linux/xtensa/posix_fadvise.c
+++ b/libc/sysdeps/linux/xtensa/posix_fadvise.c
@@ -9,21 +9,19 @@
*/
#include <sys/syscall.h>
-#include <fcntl.h>
+
+#ifdef __NR_fadvise64_64
+# include <fcntl.h>
+# include <endian.h>
int posix_fadvise (int fd, off_t offset, off_t len, int advice)
{
-#ifdef __NR_fadvise64_64
INTERNAL_SYSCALL_DECL (err);
int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, advice,
- __LONG_LONG_PAIR ((long) (offset >> 31),
- (long) offset),
- __LONG_LONG_PAIR ((long) (len >> 31),
- (long) len));
- if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
- return 0;
- return INTERNAL_SYSCALL_ERRNO (ret, err);
-#else
- return ENOSYS;
-#endif
+ __LONG_LONG_PAIR ((long) (offset >> 31), (long) offset),
+ __LONG_LONG_PAIR ((long) (len >> 31), (long) len));
+ if (INTERNAL_SYSCALL_ERROR_P (ret, err))
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
+ return 0;
}
+#endif