summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2011-04-06 12:53:11 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-06-15 14:00:35 +0200
commitdd340d59c5bcca991047c9ef26147e5e5cbb659b (patch)
tree110525253bb84b468e31d88a69e3fd00410eee12 /libc/sysdeps/linux
parenta2dc2ddbb5a0b6a251783f1fe48f0169b2acc243 (diff)
i386/posix_fadvise64: remove fallback code, uClibc does not do that
Makefile.arch: include it only if ADVANCED_REALTIME is defined. 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')
-rw-r--r--libc/sysdeps/linux/i386/Makefile.arch5
-rw-r--r--libc/sysdeps/linux/i386/posix_fadvise64.S53
2 files changed, 5 insertions, 53 deletions
diff --git a/libc/sysdeps/linux/i386/Makefile.arch b/libc/sysdeps/linux/i386/Makefile.arch
index 966f8b593..a3bf32f56 100644
--- a/libc/sysdeps/linux/i386/Makefile.arch
+++ b/libc/sysdeps/linux/i386/Makefile.arch
@@ -9,8 +9,11 @@ CSRC := brk.c __syscall_error.c sigaction.c
SSRC := \
__longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
- sync_file_range.S syscall.S mmap.S mmap64.S posix_fadvise64.S
+ sync_file_range.S syscall.S mmap.S mmap64.S
+ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
+SSRC += posix_fadvise64.S
+endif
ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
SSRC += vfork.S clone.S
diff --git a/libc/sysdeps/linux/i386/posix_fadvise64.S b/libc/sysdeps/linux/i386/posix_fadvise64.S
index 8a8947d7b..6094fbb94 100644
--- a/libc/sysdeps/linux/i386/posix_fadvise64.S
+++ b/libc/sysdeps/linux/i386/posix_fadvise64.S
@@ -17,25 +17,14 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define _ERRNO_H 1
-#include <features.h>
-#include <bits/errno.h>
#include <sys/syscall.h>
-#if defined __NR_fadvise64_64 || defined __NR_fadvise64
-
-/* 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
-*/
+#if defined __NR_fadvise64_64 && defined __UCLIBC_HAS_LFS__
.text
.global posix_fadvise64
.type posix_fadvise64,%function
posix_fadvise64:
-#if defined __NR_fadvise64_64
/* Save regs */
pushl %ebp
pushl %ebx
@@ -63,47 +52,7 @@ posix_fadvise64:
/* Returns 0 on success, else an error code. */
negl %eax
-#elif defined __NR_fadvise64
- /* Save regs */
- pushl %ebx
- pushl %esi
- pushl %edi
-#if 0
- /* does len overflow long? */
- cmpl $0, 28(%esp)
- movl $-EOVERFLOW, %eax
- jne overflow
-#endif
- movl $__NR_fadvise64, %eax /* Syscall number in %eax. */
-
- movl 16(%esp), %ebx
- movl 20(%esp), %ecx
- movl 24(%esp), %edx
- movl 28(%esp), %esi
- movl 32(%esp), %edi
-
- /* Do the system call trap. */
- int $0x80
-overflow:
- /* Restore regs */
- popl %edi
- popl %esi
- popl %ebx
-
- /* Returns 0 on success, else an error code. */
- negl %eax
-#endif
-
/* Successful; return the syscall's value. */
ret
-
.size posix_fadvise64,.-posix_fadvise64
-
-/*
-** libc_hidden_def(__libc_posix_fadvise64)
-** #if defined __UCLIBC_HAS_LFS__ && defined __UCLIBC_HAS_ADVANCED_REALTIME__
-** weak_alias(__libc_posix_fadvise64,posix_fadvise64)
-** #endif
-*/
-
#endif