Update.
2000-01-03 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code for running on kernel without mmap2 syscall.
This commit is contained in:
parent
e3aaaa2732
commit
52354636d3
@ -1,3 +1,8 @@
|
||||
2000-01-03 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code for running on
|
||||
kernel without mmap2 syscall.
|
||||
|
||||
2000-01-03 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_MMAP2_SYSCALL,
|
||||
|
@ -62,6 +62,12 @@ L(do_syscall):
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
|
||||
#ifndef __ASSUME_MMAP2_SYSCALL
|
||||
2:
|
||||
cmp $-ENOSYS, %eax
|
||||
je 3f
|
||||
#endif
|
||||
|
||||
/* If 0 > %eax > -4096 there was an error. */
|
||||
cmpl $-4096, %eax
|
||||
ja SYSCALL_ERROR_LABEL
|
||||
@ -70,12 +76,6 @@ L(do_syscall):
|
||||
L(pseudo_end):
|
||||
ret
|
||||
|
||||
#ifndef __ASSUME_MMAP2_SYSCALL
|
||||
2:
|
||||
cmp $-ENOSYS, %eax
|
||||
je 3f
|
||||
#endif
|
||||
|
||||
/* This means the offset value is too large. */
|
||||
L(einval):
|
||||
popl %edi
|
||||
@ -88,12 +88,11 @@ L(einval):
|
||||
|
||||
#if !defined __ASSUME_MMAP2_SYSCALL || !defined __NR_mmap2
|
||||
|
||||
# ifndef __NR_mmap2
|
||||
3:
|
||||
/* Save registers. */
|
||||
movl %ebx, %edx
|
||||
# endif
|
||||
3:
|
||||
cmpl $0, 44(%esp)
|
||||
|
||||
cmpl $0, 28(%esp)
|
||||
jne L(einval)
|
||||
|
||||
movl $SYS_ify(mmap), %eax /* System call number in %eax. */
|
||||
@ -119,6 +118,7 @@ L(pseudo_end):
|
||||
ret
|
||||
|
||||
L(einval):
|
||||
movl %edx, %ebx
|
||||
movl $-EINVAL, %eax
|
||||
jmp SYSCALL_ERROR_LABEL
|
||||
# endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user