From 9e74047542cbe90bd63660638ceb30313327027f Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Wed, 6 Apr 2011 15:36:54 +0200 Subject: 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 Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/xtensa/Makefile.arch | 2 +- libc/sysdeps/linux/xtensa/posix_fadvise.c | 22 ++++++++-------- libc/sysdeps/linux/xtensa/posix_fadvise64.c | 39 ----------------------------- 3 files changed, 11 insertions(+), 52 deletions(-) delete mode 100644 libc/sysdeps/linux/xtensa/posix_fadvise64.c (limited to 'libc/sysdeps/linux/xtensa') diff --git a/libc/sysdeps/linux/xtensa/Makefile.arch b/libc/sysdeps/linux/xtensa/Makefile.arch index bf4503138..13387f2ff 100644 --- a/libc/sysdeps/linux/xtensa/Makefile.arch +++ b/libc/sysdeps/linux/xtensa/Makefile.arch @@ -8,7 +8,7 @@ CSRC := brk.c fork.c pread_write.c sigaction.c __syscall_error.c ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y) - CSRC += posix_fadvise.c posix_fadvise64.c + CSRC += posix_fadvise.c endif SSRC := bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S \ 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 -#include + +#ifdef __NR_fadvise64_64 +# include +# include 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 diff --git a/libc/sysdeps/linux/xtensa/posix_fadvise64.c b/libc/sysdeps/linux/xtensa/posix_fadvise64.c deleted file mode 100644 index 1fdeeba79..000000000 --- a/libc/sysdeps/linux/xtensa/posix_fadvise64.c +++ /dev/null @@ -1,39 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * posix_fadvise64() for Xtensa uClibc - * - * Copyright (C) 2000-2006 Erik Andersen - * Copyright (C) 2007 Tensilica Inc. - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef __UCLIBC_HAS_LFS__ - -int posix_fadvise64 (int fd, __off64_t offset, __off64_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 >> 32), - (long) offset), - __LONG_LONG_PAIR ((long) (len >> 32), - (long) len)); - if (!INTERNAL_SYSCALL_ERROR_P (ret, err)) - return 0; - return INTERNAL_SYSCALL_ERRNO (ret, err); -#else - return ENOSYS; -#endif -} - -#endif /* __UCLIBC_HAS_LFS__ */ -- cgit v1.2.3