From dd340d59c5bcca991047c9ef26147e5e5cbb659b Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Wed, 6 Apr 2011 12:53:11 +0200 Subject: 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 Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/i386/Makefile.arch | 5 ++- libc/sysdeps/linux/i386/posix_fadvise64.S | 53 +------------------------------ 2 files changed, 5 insertions(+), 53 deletions(-) (limited to 'libc/sysdeps/linux') 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 -#include #include -#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 -- cgit v1.2.3