summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arm
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/arm
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/arm')
-rw-r--r--libc/sysdeps/linux/arm/Makefile.arch2
-rw-r--r--libc/sysdeps/linux/arm/posix_fadvise.c24
-rw-r--r--libc/sysdeps/linux/arm/posix_fadvise64.c59
3 files changed, 5 insertions, 80 deletions
diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch
index 0cc2626f3..5fc3e545f 100644
--- a/libc/sysdeps/linux/arm/Makefile.arch
+++ b/libc/sysdeps/linux/arm/Makefile.arch
@@ -17,7 +17,7 @@ SSRC += libc-aeabi_read_tp.S libc-thumb_atomics.S
endif
ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
-CSRC += posix_fadvise.c posix_fadvise64.c
+CSRC += posix_fadvise.c
endif
# Is our compiler set up for EABI ?
diff --git a/libc/sysdeps/linux/arm/posix_fadvise.c b/libc/sysdeps/linux/arm/posix_fadvise.c
index d8ba58fc2..f59cbfb6e 100644
--- a/libc/sysdeps/linux/arm/posix_fadvise.c
+++ b/libc/sysdeps/linux/arm/posix_fadvise.c
@@ -8,18 +8,12 @@
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
#include <sys/syscall.h>
-#include <fcntl.h>
-#if defined __NR_arm_fadvise64_64
+#ifdef __NR_arm_fadvise64_64
+# include <fcntl.h>
+# include <endian.h>
-#define HIGH_BITS(x) (sizeof(x) > 4 ? (x) >> 32 : 0)
-
-/* Was named __libc_posix_fadvise for some inexplicable reason.
-** google says only uclibc has *__libc*_posix_fadviseXXX,
-** so it cannot be compat with anything.
-**
-** Remove this comment and one at the end after 0.9.31
-*/
+# define HIGH_BITS(x) (sizeof(x) > 4 ? (x) >> 32 : 0)
/* This is for the ARM version of fadvise64_64 which swaps the params
* about to avoid having ABI compat issues
@@ -36,14 +30,4 @@ int posix_fadvise(int fd, off_t offset, off_t len, int advise)
return INTERNAL_SYSCALL_ERRNO (ret, err);
return 0;
}
-
-/* weak_alias(__libc_posix_fadvise, posix_fadvise); */
-
-#elif defined __UCLIBC_HAS_STUBS__
-
-int posix_fadvise(int fd attribute_unused, off_t offset attribute_unused, off_t len attribute_unused, int advice attribute_unused)
-{
- return ENOSYS;
-}
-
#endif
diff --git a/libc/sysdeps/linux/arm/posix_fadvise64.c b/libc/sysdeps/linux/arm/posix_fadvise64.c
deleted file mode 100644
index 678c42f90..000000000
--- a/libc/sysdeps/linux/arm/posix_fadvise64.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * posix_fadvise64() for ARM uClibc
- * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html
- *
- * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#include <features.h>
-#include <unistd.h>
-#include <errno.h>
-#include <endian.h>
-#include <stdint.h>
-#include <sys/types.h>
-#include <sys/syscall.h>
-#include <fcntl.h>
-
-#ifdef __UCLIBC_HAS_LFS__
-
-#if defined __NR_arm_fadvise64_64
-
-/* Was named __libc_posix_fadvise64 for some inexplicable reason.
-** google says only uclibc has *__libc*_posix_fadviseXXX,
-** so it cannot be compat with anything.
-**
-** Remove this comment and one at the end after 0.9.31
-*/
-
-/* This is for the ARM version of fadvise64_64 which swaps the params
- * about to avoid having ABI compat issues
- */
-#define __NR___syscall_arm_fadvise64_64 __NR_arm_fadvise64_64
-int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise)
-{
- INTERNAL_SYSCALL_DECL (err);
- int ret = INTERNAL_SYSCALL (arm_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;
- if (INTERNAL_SYSCALL_ERRNO (ret, err) != ENOSYS)
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
-}
-
-/* weak_alias(__libc_posix_fadvise64, posix_fadvise64); */
-
-#elif defined __UCLIBC_HAS_STUBS__
-
-int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise)
-{
- return ENOSYS;
-}
-
-#endif
-
-#endif