1/* Copyright (C) 1995,96,97,98,99,2000,2002,2005 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; if not, see 16 <http://www.gnu.org/licenses/>. */ 17 18#define _ERRNO_H 1 19#include <features.h> 20#include <bits/errno.h> 21#include <sys/syscall.h> 22 23.text 24.global mmap 25.type mmap,%function 26mmap: 27 28 /* Save registers. */ 29 movl %ebx, %edx 30 31 movl $__NR_mmap, %eax /* System call number in %eax. */ 32 33 lea 4(%esp), %ebx /* Address of args is 1st arg. */ 34 35 /* Do the system call trap. */ 36 int $0x80 37 38 /* Restore registers. */ 39 movl %edx, %ebx 40 41 /* If 0 > %eax > -4096 there was an error. */ 42 cmpl $-4096, %eax 43 ja __syscall_error 44 45 /* Successful; return the syscall's value. */ 46 ret 47 48.size mmap,.-mmap 49 50libc_hidden_def(mmap) 51