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/powerpc/Makefile.arch | 4 -- libc/sysdeps/linux/powerpc/posix_fadvise.c | 30 -------------- libc/sysdeps/linux/powerpc/posix_fadvise64.c | 60 ---------------------------- 3 files changed, 94 deletions(-) delete mode 100644 libc/sysdeps/linux/powerpc/posix_fadvise.c delete mode 100644 libc/sysdeps/linux/powerpc/posix_fadvise64.c (limited to 'libc/sysdeps/linux/powerpc') diff --git a/libc/sysdeps/linux/powerpc/Makefile.arch b/libc/sysdeps/linux/powerpc/Makefile.arch index cdb35ba43..62dbe3b64 100644 --- a/libc/sysdeps/linux/powerpc/Makefile.arch +++ b/libc/sysdeps/linux/powerpc/Makefile.arch @@ -7,10 +7,6 @@ CSRC := __syscall_error.c pread_write.c ioctl.c -ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y) -CSRC += posix_fadvise.c posix_fadvise64.c -endif - SSRC := \ __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S \ __uClibc_syscall.S syscall.S diff --git a/libc/sysdeps/linux/powerpc/posix_fadvise.c b/libc/sysdeps/linux/powerpc/posix_fadvise.c deleted file mode 100644 index 7ceb8ce8f..000000000 --- a/libc/sysdeps/linux/powerpc/posix_fadvise.c +++ /dev/null @@ -1,30 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * posix_fadvise() for uClibc - * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html - * - * Copyright (C) 2000-2006 Erik Andersen - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include -#include - -#ifdef __NR_fadvise64 -#define __NR_posix_fadvise __NR_fadvise64 -int posix_fadvise(int fd, off_t offset, off_t len, int advice) -{ - INTERNAL_SYSCALL_DECL(err); - int ret = (int) (INTERNAL_SYSCALL(posix_fadvise, err, 6, fd, 0, - __LONG_LONG_PAIR (offset >> 31, offset), len, advice)); - if (INTERNAL_SYSCALL_ERROR_P (ret, err)) - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; -} - -#if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6) -strong_alias(posix_fadvise,posix_fadvise64) -#endif - -#endif diff --git a/libc/sysdeps/linux/powerpc/posix_fadvise64.c b/libc/sysdeps/linux/powerpc/posix_fadvise64.c deleted file mode 100644 index d92071158..000000000 --- a/libc/sysdeps/linux/powerpc/posix_fadvise64.c +++ /dev/null @@ -1,60 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * posix_fadvise64() for uClibc - * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html - * - * Copyright (C) 2000-2006 Erik Andersen - * - * 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__ -#ifdef __NR_fadvise64_64 - -/* 64 bit implementation is cake ... or more like pie ... */ -#if __WORDSIZE == 64 - -#define __NR_posix_fadvise64 __NR_fadvise64_64 - -int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) -{ - if (len != (off_t) len) - return EOVERFLOW; - INTERNAL_SYSCALL_DECL (err); - int ret = INTERNAL_SYSCALL (posix_fadvise64, err, 6, fd, 0, - __LONG_LONG_PAIR ((long) (offset >> 32), (long) offset), - (off_t) len, advise); - if (!INTERNAL_SYSCALL_ERROR_P (ret, err)) - return 0; - return INTERNAL_SYSCALL_ERRNO (ret, err); -} - -/* 32 bit implementation is kind of a pita */ -#elif __WORDSIZE == 32 - -int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) -{ - INTERNAL_SYSCALL_DECL (err); - int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, advise, - __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 -#error your machine is neither 32 bit or 64 bit ... it must be magical -#endif - -#endif /* __NR_fadvise64_64 */ -#endif /* __UCLIBC_HAS_LFS__ */ -- cgit v1.2.3