diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/mmap64.S | 12 |
2 files changed, 9 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 511766bf3a..003b57a9c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2000-01-13 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code generated if + mmap2 is available when compiling but no at runtime. + 2000-01-12 Ulrich Drepper <drepper@cygnus.com> * iconvdata/iso-ir-165.c: New file. diff --git a/sysdeps/unix/sysv/linux/i386/mmap64.S b/sysdeps/unix/sysv/linux/i386/mmap64.S index 22515a11d2..3228420665 100644 --- a/sysdeps/unix/sysv/linux/i386/mmap64.S +++ b/sysdeps/unix/sysv/linux/i386/mmap64.S @@ -87,22 +87,17 @@ L(einval): #endif #if !defined __ASSUME_MMAP2_SYSCALL || !defined __NR_mmap2 - 3: /* Save registers. */ movl %ebx, %edx cmpl $0, 28(%esp) - jne L(einval) + jne L(einval2) movl $SYS_ify(mmap), %eax /* System call number in %eax. */ lea 4(%esp), %ebx /* Address of args is 1st arg. */ -# ifdef __NR_mmap2 - jmp L(do_syscall) -# else - /* Do the system call trap. */ int $0x80 @@ -114,14 +109,15 @@ L(einval): ja SYSCALL_ERROR_LABEL /* Successful; return the syscall's value. */ +#ifndef __NR_mmap2 L(pseudo_end): +#endif ret -L(einval): +L(einval2): movl %edx, %ebx movl $-EINVAL, %eax jmp SYSCALL_ERROR_LABEL -# endif #endif PSEUDO_END (__mmap64) |