aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/mmap64.S')
-rw-r--r--sysdeps/unix/sysv/linux/i386/mmap64.S38
1 files changed, 2 insertions, 36 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/mmap64.S b/sysdeps/unix/sysv/linux/i386/mmap64.S
index f53e6e8c68..3a03335814 100644
--- a/sysdeps/unix/sysv/linux/i386/mmap64.S
+++ b/sysdeps/unix/sysv/linux/i386/mmap64.S
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995,96,97,98,99,2000,2002,2005,2006
- Free Software Foundation, Inc.
+/* Copyright (C) 1995,96,97,98,99,2000,2002 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
@@ -21,7 +20,7 @@
#include <bp-sym.h>
#include <bp-asm.h>
-#include <kernel-features.h>
+#include "kernel-features.h"
#define EINVAL 22
#define ENOSYS 38
@@ -43,13 +42,9 @@ ENTRY (BP_SYM (__mmap64))
/* Save registers. */
pushl %ebp
- cfi_adjust_cfa_offset (4)
pushl %ebx
- cfi_adjust_cfa_offset (4)
pushl %esi
- cfi_adjust_cfa_offset (4)
pushl %edi
- cfi_adjust_cfa_offset (4)
movl OFFLO(%esp), %edx
movl OFFHI(%esp), %ecx
@@ -59,16 +54,12 @@ ENTRY (BP_SYM (__mmap64))
shrl $12, %ecx
jne L(einval)
movl %edx, %ebp
- cfi_rel_offset (ebp, 12)
movl ADDR(%esp), %ebx
- cfi_rel_offset (ebx, 8)
movl LEN(%esp), %ecx
movl PROT(%esp), %edx
movl FLAGS(%esp), %esi
- cfi_rel_offset (esi, 4)
movl FD(%esp), %edi
- cfi_rel_offset (edi, 0)
movl $SYS_ify(mmap2), %eax /* System call number in %eax. */
@@ -78,17 +69,9 @@ L(do_syscall):
/* Restore registers. */
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)
popl %ebp
- cfi_adjust_cfa_offset (-4)
- cfi_restore (ebp)
#ifndef __ASSUME_MMAP2_SYSCALL
2:
@@ -104,25 +87,12 @@ L(do_syscall):
L(pseudo_end):
ret
- cfi_adjust_cfa_offset (16)
- cfi_rel_offset (ebp, 12)
- cfi_rel_offset (ebx, 8)
- cfi_rel_offset (esi, 4)
- cfi_rel_offset (edi, 0)
/* This means the offset value is too large. */
L(einval):
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)
popl %ebp
- cfi_adjust_cfa_offset (-4)
- cfi_restore (ebp)
movl $-EINVAL, %eax
jmp SYSCALL_ERROR_LABEL
#endif
@@ -131,7 +101,6 @@ L(einval):
3:
/* Save registers. */
movl %ebx, %edx
- cfi_register (ebx, edx)
cmpl $0, OFFHI-SVRSP(%esp)
jne L(einval2)
@@ -145,7 +114,6 @@ L(einval):
/* Restore registers. */
movl %edx, %ebx
- cfi_restore (ebx)
/* If 0 > %eax > -4096 there was an error. */
cmpl $-4096, %eax
@@ -157,10 +125,8 @@ L(pseudo_end):
#endif
ret
- cfi_register (ebx, edx)
L(einval2):
movl %edx, %ebx
- cfi_restore (ebx)
movl $-EINVAL, %eax
jmp SYSCALL_ERROR_LABEL
#endif