about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-08-21 21:07:22 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-08-21 21:07:22 +0000
commit0e1d99119e7851c112aefce64574506f8183e648 (patch)
tree3510594131c3c63740cf54b67af4e3f75579459a /sysdeps/unix/sysv/linux/i386/posix_fadvise64.S
parent14a50c9d238a8d79d48193482ed9a2be52d1dc3d (diff)
downloadglibc-0e1d99119e7851c112aefce64574506f8183e648.tar.gz
glibc-0e1d99119e7851c112aefce64574506f8183e648.tar.xz
glibc-0e1d99119e7851c112aefce64574506f8183e648.zip
Remove __ASSUME_FADVISE64_64_SYSCALL.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/posix_fadvise64.S')
-rw-r--r--sysdeps/unix/sysv/linux/i386/posix_fadvise64.S69
1 files changed, 1 insertions, 68 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S b/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S
index 79fc071d2b..00e6a4194d 100644
--- a/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S
+++ b/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995-2000,2002,2003,2004,2005,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1995-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,8 +19,6 @@
 #include <bp-sym.h>
 #include <bp-asm.h>
 
-#include <kernel-features.h>
-
 #define EINVAL	22
 #define ENOSYS	38
 #define EOVERFLOW 75
@@ -38,8 +35,6 @@
 	.text
 ENTRY (BP_SYM (__posix_fadvise64_l64))
 
-#ifdef __NR_fadvise64_64
-
 	/* Save registers.  */
 	pushl	%ebp
 	cfi_adjust_cfa_offset (4)
@@ -78,11 +73,6 @@ ENTRY (BP_SYM (__posix_fadvise64_l64))
 	cfi_adjust_cfa_offset (-4)
 	cfi_restore (ebp)
 
-#ifndef __ASSUME_FADVISE64_64_SYSCALL
-	cmpl	$-ENOSYS, %eax
-	je	1f
-#endif
-
 	/* The function returns zero, or the error number.  So all we
 	   have to do is negate the value passed back from the kernel.  */
 	/* If 0 > %eax > -4096 there was an error.  */
@@ -90,72 +80,15 @@ ENTRY (BP_SYM (__posix_fadvise64_l64))
 
 	/* Successful; return the syscall's value.  */
 	ret
-#endif
-
-#if defined __NR_fadvise64 \
-    && (!defined __ASSUME_FADVISE64_64_SYSCALL || !defined __NR_fadvise64_64)
-1:	/* Save registers.  */
-	pushl	%ebx
-	cfi_adjust_cfa_offset (4)
-	pushl	%esi
-	cfi_adjust_cfa_offset (4)
-	pushl	%edi
-	cfi_adjust_cfa_offset (4)
-
-	/* Overflow check.  */
-	cmpl	$0, LENHI(%esp)
-	movl	$-EOVERFLOW, %eax
-	jne	L(overflow)
-
-	movl	FD(%esp), %ebx
-	cfi_rel_offset (ebx, 8)
-	movl	OFFLO(%esp), %ecx
-	movl	OFFHI(%esp), %edx
-	movl	LENLO(%esp), %esi
-	cfi_rel_offset (esi, 4)
-	movl	FLAGS(%esp), %edi
-	cfi_rel_offset (edi, 0)
-
-	movl	$SYS_ify(fadvise64), %eax
-	ENTER_KERNEL
-
-	/* Restore registers.  */
-L(overflow):
-	popl	%edi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (edi)
-	popl	%esi
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (esi)
-	popl	%ebx
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (ebx)
-
-	/* If 0 > %eax > -4096 there was an error.  */
-	negl	%eax
-
-	/* Successful; return the syscall's value.  */
-	ret
-#else
-	movl	$ENOSYS, %eax
-	ret
-#endif
 
 END (BP_SYM (__posix_fadvise64_l64))
 
-#ifdef __NR_fadvise64
 	.section	.text.compat, "ax"
 ENTRY (__posix_fadvise64_l32)
 	DO_CALL (fadvise64, 5)
 	negl %eax
 	ret
 PSEUDO_END_ERRVAL (__posix_fadvise64_l32)
-#else
-ENTRY (BP_SYM (__posix_fadvise64_l32))
-	movl	$ENOSYS, %eax
-	ret
-END (BP_SYM (__posix_fadvise64_l32))
-#endif
 
 default_symbol_version (__posix_fadvise64_l64, posix_fadvise64, GLIBC_2.3.3)
 symbol_version (__posix_fadvise64_l32, posix_fadvise64, GLIBC_2.2)