From: Ulrich Drepper Date: Tue, 4 Jan 2000 00:37:51 +0000 (+0000) Subject: Update. X-Git-Tag: cvs/glibc_2-1-91~1176 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=52354636d3ba63e3467c9062f6ddbaf5138f0229;p=platform%2Fupstream%2Fglibc.git Update. 2000-01-03 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code for running on kernel without mmap2 syscall. --- diff --git a/ChangeLog b/ChangeLog index e9f416a..df09e6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2000-01-03 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code for running on + kernel without mmap2 syscall. + 2000-01-03 Philip Blundell * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_MMAP2_SYSCALL, diff --git a/sysdeps/unix/sysv/linux/i386/mmap64.S b/sysdeps/unix/sysv/linux/i386/mmap64.S index 0785bce..22515a1 100644 --- a/sysdeps/unix/sysv/linux/i386/mmap64.S +++ b/sysdeps/unix/sysv/linux/i386/mmap64.S @@ -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