summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386/mmap64.S
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/i386/mmap64.S')
-rw-r--r--mdk-stage1/dietlibc/i386/mmap64.S63
1 files changed, 0 insertions, 63 deletions
diff --git a/mdk-stage1/dietlibc/i386/mmap64.S b/mdk-stage1/dietlibc/i386/mmap64.S
deleted file mode 100644
index 421325260..000000000
--- a/mdk-stage1/dietlibc/i386/mmap64.S
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <dietfeatures.h>
-#include <syscalls.h>
-#include <errno.h>
-
-#ifdef __DYN_LIB
-#ifndef WANT_THREAD_SAFE
-#define WANT_THREAD_SAFE
-#endif
-#endif
-
-.text
-.global mmap64
-.type mmap64,@function
-mmap64:
-/* man is this ugly! */
- push %ebp
- push %edi
- push %esi
- push %ebx
- movl %esp, %edi
- movl 0x28(%edi), %eax
- movl 0x2c(%edi), %edx
- testl $0xfff, %eax /* offset in pages */
- jnz .Leinval
- shrdl $12, %edx, %eax
- shrl $12, %edx
- jnz .Leinval
- movl %eax, %ebp
- movl 0x14(%edi),%ebx
- movl 0x18(%edi),%ecx
- movl 0x1c(%edi),%edx
- movl 0x20(%edi),%esi
- movl 0x24(%edi),%edi
- movl $__NR_mmap2,%eax
- int $0x80
- cmp $-124,%eax
- jbe .Lnoerror
- neg %eax
-.Lerror:
-#ifdef WANT_THREAD_SAFE
- movl %eax,%ebx
-#ifdef __DYN_LIB
- call __errno_location@PLT
-#else
- call __errno_location
-#endif
- movl %ebx,(%eax)
- orl $-1,%eax
-#else
- mov %eax,errno
- sbb %eax,%eax # eax = eax - eax - CY = -1
-#endif
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
- pop %ebp
- ret
-.Leinval:
- movl $EINVAL,%eax
- jmp .Lerror
-.Lende2:
-.size mmap64,.Lende2-mmap64