diff options
Diffstat (limited to 'libc/sysdeps')
-rw-r--r-- | libc/sysdeps/linux/i386/Makefile.arch | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/posix_fadvise64.S | 53 |
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 |