OSDN Git Service

i386/posix_fadvise64: remove fallback code, uClibc does not do that
authorPeter S. Mazinger <ps.m@gmx.net>
Wed, 6 Apr 2011 10:53:11 +0000 (12:53 +0200)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 15 Jun 2012 12:00:35 +0000 (14:00 +0200)
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>
libc/sysdeps/linux/i386/Makefile.arch
libc/sysdeps/linux/i386/posix_fadvise64.S

index 966f8b5..a3bf32f 100644 (file)
@@ -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
index 8a8947d..6094fbb 100644 (file)
    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