diff options
22 files changed, 63 insertions, 319 deletions
| diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch index 093eb2dbd..0cc2626f3 100644 --- a/libc/sysdeps/linux/arm/Makefile.arch +++ b/libc/sysdeps/linux/arm/Makefile.arch @@ -5,7 +5,7 @@  # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.  # -CSRC := brk.c ioperm.c iopl.c mmap.c __syscall_error.c sigaction.c +CSRC := brk.c ioperm.c iopl.c __syscall_error.c sigaction.c  SSRC := \  	__longjmp.S setjmp.S bsd-setjmp.S \ diff --git a/libc/sysdeps/linux/arm/mmap.c b/libc/sysdeps/linux/arm/mmap.c deleted file mode 100644 index df550fedf..000000000 --- a/libc/sysdeps/linux/arm/mmap.c +++ /dev/null @@ -1,74 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * _mmap() for uClibc - * - * Copyright (C) 2000-2004 by Erik Andersen <andersen@codepoet.org> - * - * GNU Library General Public License (LGPL) version 2 or later. - */ -#include <errno.h> -#include <unistd.h> -#include <sys/mman.h> -#include <sys/syscall.h> - -#if defined (__NR_mmap) || defined (__NR_mmap2) - -libc_hidden_proto(mmap) -#if defined (__UCLIBC_MMAP_HAS_6_ARGS__) && defined (__NR_mmap) -#define __NR__mmap __NR_mmap -static __inline__ _syscall6 (__ptr_t, _mmap, __ptr_t, addr, size_t, len, -                         int, prot, int, flags, int, fd, __off_t, offset) -__ptr_t mmap(__ptr_t addr, size_t len, int prot, -             int flags, int fd, __off_t offset) -{ -  return (__ptr_t) _mmap (addr, len, prot, flags, -                          fd, offset); -} - -#elif defined  (__NR_mmap2) -#define __NR__mmap __NR_mmap2 - -#ifndef MMAP2_PAGE_SHIFT -# define MMAP2_PAGE_SHIFT 12 -#endif - -static __inline__ _syscall6 (__ptr_t, _mmap, __ptr_t, addr, size_t, len, -                         int, prot, int, flags, int, fd, __off_t, offset); -__ptr_t mmap(__ptr_t addr, size_t len, int prot, -             int flags, int fd, __off_t offset) -{ -  /* check if offset is page aligned */ -    if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1)) -    { -        __set_errno(EINVAL); -        return MAP_FAILED; -    } -#ifdef __USE_FILE_OFFSET64 -    return (__ptr_t) _mmap (addr, len, prot, flags, -                            fd, ((__u_quad_t) offset >> MMAP2_PAGE_SHIFT)); -#else -    return (__ptr_t) _mmap (addr, len, prot, flags, -                            fd, ((__u_long) offset >> MMAP2_PAGE_SHIFT)); -#endif -} -#elif defined (__NR_mmap) -# define __NR__mmap __NR_mmap -static __inline__ _syscall1(__ptr_t, _mmap, unsigned long *, buffer) -__ptr_t mmap(__ptr_t addr, size_t len, int prot, -             int flags, int fd, __off_t offset) -{ -    unsigned long buffer[6]; - -    buffer[0] = (unsigned long) addr; -    buffer[1] = (unsigned long) len; -    buffer[2] = (unsigned long) prot; -    buffer[3] = (unsigned long) flags; -    buffer[4] = (unsigned long) fd; -    buffer[5] = (unsigned long) offset; -    return (__ptr_t) _mmap(buffer); -} -#endif -libc_hidden_def (mmap) -#else -# error "Your architecture doesn't seem to provide mmap() !?" -#endif diff --git a/libc/sysdeps/linux/avr32/mmap.c b/libc/sysdeps/linux/avr32/mmap.c index dee88aaf2..cd3315810 100644 --- a/libc/sysdeps/linux/avr32/mmap.c +++ b/libc/sysdeps/linux/avr32/mmap.c @@ -12,10 +12,10 @@  #include <sys/syscall.h> -static _syscall6(__ptr_t, mmap2, __ptr_t, addr, size_t, len, int, prot, -		 int, flags, int, fd, __off_t, pgoff) +static __inline__ _syscall6(void *, mmap2, void *, addr, size_t, len, int, prot, +			    int, flags, int, fd, __off_t, pgoff) -__ptr_t mmap(__ptr_t addr, size_t len, int prot, int flags, int fd, __off_t offset) +void *mmap(void *addr, size_t len, int prot, int flags, int fd, __off_t offset)  {  	unsigned long page_size = sysconf(_SC_PAGESIZE);  	unsigned long pgoff; diff --git a/libc/sysdeps/linux/common/mmap.c b/libc/sysdeps/linux/common/mmap.c index d53eabb18..dbc66c208 100644 --- a/libc/sysdeps/linux/common/mmap.c +++ b/libc/sysdeps/linux/common/mmap.c @@ -7,25 +7,57 @@   * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.   */ -#include <sys/syscall.h> -#include <unistd.h>  #include <sys/mman.h> -#include <bits/uClibc_page.h> +#include <sys/syscall.h> -#ifdef __NR_mmap +#if defined __UCLIBC_MMAP_HAS_6_ARGS__ && defined __NR_mmap +# ifndef _syscall6 +#  error disable __UCLIBC_MMAP_HAS_6_ARGS__ for this arch +# endif -#ifdef __UCLIBC_MMAP_HAS_6_ARGS__ +# define __NR__mmap __NR_mmap +static _syscall6(void *, _mmap, void *, addr, size_t, len, +		 int, prot, int, flags, int, fd, __off_t, offset) -_syscall6(void *, mmap, void *, start, size_t, length, -		int, prot, int, flags, int, fd, off_t, offset) +#elif defined __NR_mmap2 && defined _syscall6 -#else +# include <errno.h> +# include <bits/uClibc_page.h> +# ifndef MMAP2_PAGE_SHIFT +#  define MMAP2_PAGE_SHIFT 12 +# endif -# define __NR__mmap __NR_mmap -static __inline__ _syscall1(__ptr_t, _mmap, unsigned long *, buffer) -__ptr_t mmap(__ptr_t addr, size_t len, int prot, -			 int flags, int fd, __off_t offset) +# define __NR___syscall_mmap2 __NR_mmap2 +static __inline__ _syscall6(void *, __syscall_mmap2, void *, addr, size_t, len, +			    int, prot, int, flags, int, fd, __off_t, offset) + +static void *_mmap(void *addr, size_t len, int prot, int flags, +		   int fd, __off_t offset) +{ +	const int mmap2_shift = MMAP2_PAGE_SHIFT; +	const __off_t mmap2_mask = ((__off_t) 1 << MMAP2_PAGE_SHIFT) - 1; +	/* check if offset is page aligned */ +	if (offset & mmap2_mask) { +		__set_errno(EINVAL); +		return MAP_FAILED; +	} +# ifdef __USE_FILE_OFFSET64 +	return __syscall_mmap2(addr, len, prot, flags, fd, +				((__u_quad_t) offset >> mmap2_shift)); +# else +	return __syscall_mmap2(addr, len, prot, flags, fd, +				((__u_long) offset >> mmap2_shift)); +# endif +} + +#elif defined __NR_mmap + +# define __NR___syscall_mmap __NR_mmap +static __inline__ _syscall1(void *, __syscall_mmap, unsigned long *, buffer) + +static void *_mmap(void *addr, size_t len, int prot, int flags, +		   int fd, __off_t offset)  {  	unsigned long buffer[6]; @@ -35,38 +67,14 @@ __ptr_t mmap(__ptr_t addr, size_t len, int prot,  	buffer[3] = (unsigned long) flags;  	buffer[4] = (unsigned long) fd;  	buffer[5] = (unsigned long) offset; -	return (__ptr_t) _mmap(buffer); +	return __syscall_mmap(buffer);  } -#endif - -libc_hidden_def(mmap) - -#elif defined(__NR_mmap2) - +#else -#define __NR___syscall_mmap2 __NR_mmap2 -static __inline__ _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, -	size_t, len, int, prot, int, flags, int, fd, off_t, offset) +# error "Your architecture doesn't seem to provide mmap() !?" -/* Some architectures always use 12 as page shift for mmap2() eventhough the - * real PAGE_SHIFT != 12.  Other architectures use the same value as - * PAGE_SHIFT... - */ -# ifndef MMAP2_PAGE_SHIFT -#  define MMAP2_PAGE_SHIFT 12 -# endif - -__ptr_t mmap(__ptr_t addr, size_t len, int prot, int flags, int fd, __off_t offset) -{ -	if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1)) { -		__set_errno(EINVAL); -		return MAP_FAILED; -	} -	return __syscall_mmap2(addr, len, prot, flags, -	                       fd, ((__u_long) offset >> MMAP2_PAGE_SHIFT)); -} +#endif +strong_alias(_mmap,mmap)  libc_hidden_def(mmap) - -#endif diff --git a/libc/sysdeps/linux/frv/Makefile b/libc/sysdeps/linux/frv/Makefile index 554fdb0f4..7cdb8eca3 100644 --- a/libc/sysdeps/linux/frv/Makefile +++ b/libc/sysdeps/linux/frv/Makefile @@ -17,7 +17,7 @@ CTOR_TARGETS := crti.o crtn.o  SSRC := __longjmp.S setjmp.S clone.S vfork.S  SOBJ := $(patsubst %.S,%.o, $(SSRC)) -CSRC = mmap.c sysdep.c syscall.c brk.c sbrk.c __init_brk.c dl-iterate-phdr.c +CSRC = sysdep.c syscall.c brk.c sbrk.c __init_brk.c dl-iterate-phdr.c  CSRC += xstatconv.c stat.c stat64.c fstat.c fstat64.c lstat.c lstat64.c  COBJ := $(patsubst %.c,%.o, $(CSRC)) diff --git a/libc/sysdeps/linux/frv/mmap.c b/libc/sysdeps/linux/frv/mmap.c deleted file mode 100644 index cb9112483..000000000 --- a/libc/sysdeps/linux/frv/mmap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc. -   This file is part of the GNU C Library. -   Contributed by Daniel Jacobowitz <dan@debian.org>, 1999. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, write to the Free -   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -   02111-1307 USA.  */ - -/* Massivly hacked up for uClibc by Erik Andersen */ - -/* Extracted from ../common/mmap64.c by Alexandre Oliva <aoliva@redhat.com> - -   We don't want to use the old mmap interface.  */ - -#include <features.h> -#include <errno.h> -#include <unistd.h> -#include <sys/syscall.h> -#include <sys/mman.h> - - -#define __NR___syscall_mmap2	    __NR_mmap2 -static __inline__ _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, -	size_t, len, int, prot, int, flags, int, fd, off_t, offset) - -/* This is always 12, even on architectures where PAGE_SHIFT != 12.  */ -# ifndef MMAP2_PAGE_SHIFT -#  define MMAP2_PAGE_SHIFT 12 -# endif - -__ptr_t mmap(__ptr_t addr, size_t len, int prot, int flags, int fd, __off_t offset) -{ -    if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1)) { -	__set_errno (EINVAL); -	return MAP_FAILED; -    } -    return(__syscall_mmap2(addr, len, prot, flags, fd, (off_t) (offset >> MMAP2_PAGE_SHIFT))); -} -libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/hppa/Makefile.arch b/libc/sysdeps/linux/hppa/Makefile.arch index 2b0cf09a8..f155cc8f3 100644 --- a/libc/sysdeps/linux/hppa/Makefile.arch +++ b/libc/sysdeps/linux/hppa/Makefile.arch @@ -5,7 +5,7 @@  # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.  # -CSRC := __syscall_error.c brk.c mmap.c syscall.c +CSRC := __syscall_error.c brk.c syscall.c  SSRC := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S \  	add_n.s lshift.s rshift.s sub_n.s udiv_qrnnd.s diff --git a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h index 722447da2..18cd732a4 100644 --- a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h +++ b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h @@ -9,7 +9,7 @@  #define __UCLIBC_ABORT_INSTRUCTION__ "iitlbp %r0,(%sr0,%r0)"  /* can your target use syscall6() for mmap ? */ -#undef __UCLIBC_MMAP_HAS_6_ARGS__ +#define __UCLIBC_MMAP_HAS_6_ARGS__  /* does your target use syscall4() for truncate64 ? (32bit arches only) */  #undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ diff --git a/libc/sysdeps/linux/hppa/mmap.c b/libc/sysdeps/linux/hppa/mmap.c deleted file mode 100644 index bb1352f9e..000000000 --- a/libc/sysdeps/linux/hppa/mmap.c +++ /dev/null @@ -1,19 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * mmap() for uClibc/x86_64 - * - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * Copyright (C) 2005 by Mike Frysinger <vapier@gentoo.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <errno.h> -#include <unistd.h> -#include <sys/mman.h> -#include <sys/syscall.h> - - -_syscall6(void *, mmap, void *, start, size_t, length, int, prot, -          int, flags, int, fd, off_t, offset) -libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/microblaze/Makefile.arch b/libc/sysdeps/linux/microblaze/Makefile.arch index c80c65085..0a19f5e72 100644 --- a/libc/sysdeps/linux/microblaze/Makefile.arch +++ b/libc/sysdeps/linux/microblaze/Makefile.arch @@ -5,7 +5,7 @@  #  # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -CSRC := mmap.c clone.c fixdfsi.c +CSRC := clone.c fixdfsi.c  SSRC := setjmp.S __longjmp.S vfork.S diff --git a/libc/sysdeps/linux/microblaze/mmap.c b/libc/sysdeps/linux/microblaze/mmap.c deleted file mode 100644 index 41cf6f45b..000000000 --- a/libc/sysdeps/linux/microblaze/mmap.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Use new style mmap for microblaze */ -/* - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <unistd.h> -#include <errno.h> -#include <sys/mman.h> -#include <sys/syscall.h> - - -_syscall6 (__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot, -	   int, flags, int, fd, __off_t, offset) -libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/mips/Makefile.arch b/libc/sysdeps/linux/mips/Makefile.arch index 738cdd0f5..6db0b2a84 100644 --- a/libc/sysdeps/linux/mips/Makefile.arch +++ b/libc/sysdeps/linux/mips/Makefile.arch @@ -6,7 +6,7 @@  #  CSRC := \ -	__longjmp.c  brk.c setjmp_aux.c mmap.c \ +	__longjmp.c  brk.c setjmp_aux.c \  	cacheflush.c pread_write.c sigaction.c sysmips.c _test_and_set.c \  	readahead.c diff --git a/libc/sysdeps/linux/mips/mmap.c b/libc/sysdeps/linux/mips/mmap.c deleted file mode 100644 index be96451ef..000000000 --- a/libc/sysdeps/linux/mips/mmap.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Use new style mmap for mips */ -/* - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <unistd.h> -#include <errno.h> -#include <sys/mman.h> -#include <sys/syscall.h> - - -#if 0 -/* For now, leave mmap using mmap1 since mmap2 seems - * to have issues (i.e. it doesn't work 100% properly). - */ -#ifdef __NR_mmap2 -# undef __NR_mmap -# define __NR_mmap __NR_mmap2 -#endif -#endif - -_syscall6 (__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot, -	   int, flags, int, fd, __off_t, offset) -libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/sh/Makefile.arch b/libc/sysdeps/linux/sh/Makefile.arch index 6cbc68111..0c7287840 100644 --- a/libc/sysdeps/linux/sh/Makefile.arch +++ b/libc/sysdeps/linux/sh/Makefile.arch @@ -7,6 +7,6 @@  #  CSRC := \ -	mmap.c pipe.c __init_brk.c brk.c sbrk.c pread_write.c cacheflush.c +	pipe.c __init_brk.c brk.c sbrk.c pread_write.c cacheflush.c  SSRC := setjmp.S __longjmp.S ___fpscr_values.S vfork.S clone.S diff --git a/libc/sysdeps/linux/sh/mmap.c b/libc/sysdeps/linux/sh/mmap.c deleted file mode 100644 index b14181cb2..000000000 --- a/libc/sysdeps/linux/sh/mmap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 2001 Hewlett-Packard - - This program is free software; you can redistribute it and/or modify it under - the terms of the GNU Library General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more - details. - - You should have received a copy of the GNU Library General Public License - along with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Derived in part from the Linux-8086 C library, the GNU C Library, and several - other sundry sources.  Files within this library are copyright by their - respective copyright holders. -*/ - -#include <unistd.h> -#include <errno.h> -#include <sys/mman.h> - - -#ifdef HIOS -# define __SH_SYSCALL6_TRAPA 0x2E -#endif - -#include <sys/syscall.h> - -_syscall6(__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot, int, flags, int, fd, __off_t, offset) -libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/v850/Makefile b/libc/sysdeps/linux/v850/Makefile index 60dc97c1d..e54e18c49 100644 --- a/libc/sysdeps/linux/v850/Makefile +++ b/libc/sysdeps/linux/v850/Makefile @@ -20,7 +20,7 @@ CTOR_TARGETS := $(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o  SSRC := setjmp.S __longjmp.S vfork.S  SOBJ := $(patsubst %.S,%.o, $(SSRC)) -CSRC := mmap.c syscall.c clone.c +CSRC := syscall.c clone.c  COBJ := $(patsubst %.c,%.o, $(CSRC))  OBJS := $(SOBJ) $(COBJ) diff --git a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h index 2a9422e23..4bab5476d 100644 --- a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h +++ b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h @@ -10,7 +10,7 @@  #undef __UCLIBC_ABORT_INSTRUCTION__  /* can your target use syscall6() for mmap ? */ -#undef __UCLIBC_MMAP_HAS_6_ARGS__ +#define __UCLIBC_MMAP_HAS_6_ARGS__  /* does your target use syscall4() for truncate64 ? (32bit arches only) */  #undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ diff --git a/libc/sysdeps/linux/v850/mmap.c b/libc/sysdeps/linux/v850/mmap.c deleted file mode 100644 index 7fb3f22a4..000000000 --- a/libc/sysdeps/linux/v850/mmap.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Use new style mmap for v850 */ -/* - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <unistd.h> -#include <errno.h> -#include <sys/mman.h> -#include <sys/syscall.h> - - -_syscall6 (__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot, -	   int, flags, int, fd, __off_t, offset) -libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/vax/Makefile.arch b/libc/sysdeps/linux/vax/Makefile.arch index 027c65f90..4f805a8b3 100644 --- a/libc/sysdeps/linux/vax/Makefile.arch +++ b/libc/sysdeps/linux/vax/Makefile.arch @@ -6,5 +6,5 @@  # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.  # -CSRC := brk.c mmap.c +CSRC := brk.c  SSRC := __longjmp.S setjmp.S _setjmp.S clone.S diff --git a/libc/sysdeps/linux/vax/mmap.c b/libc/sysdeps/linux/vax/mmap.c deleted file mode 100644 index 2bc347f4d..000000000 --- a/libc/sysdeps/linux/vax/mmap.c +++ /dev/null @@ -1,10 +0,0 @@ - -#include <unistd.h> -#include <sys/mman.h> -#include <errno.h> -#include <sys/syscall.h> - -_syscall6 (void *, mmap, void *, start, size_t, length, int, prot, int, flags, -		int, fd, off_t, offset) -libc_hidden_def(mmap) - diff --git a/libc/sysdeps/linux/x86_64/Makefile.arch b/libc/sysdeps/linux/x86_64/Makefile.arch index 3243d8676..7491d92b2 100644 --- a/libc/sysdeps/linux/x86_64/Makefile.arch +++ b/libc/sysdeps/linux/x86_64/Makefile.arch @@ -5,7 +5,7 @@  # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.  # -CSRC := brk.c __syscall_error.c sigaction.c mmap.c +CSRC := brk.c __syscall_error.c sigaction.c  SSRC := \  	__longjmp.S setjmp.S syscall.S bsd-setjmp.S bsd-_setjmp.S diff --git a/libc/sysdeps/linux/x86_64/mmap.c b/libc/sysdeps/linux/x86_64/mmap.c deleted file mode 100644 index bb1352f9e..000000000 --- a/libc/sysdeps/linux/x86_64/mmap.c +++ /dev/null @@ -1,19 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * mmap() for uClibc/x86_64 - * - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * Copyright (C) 2005 by Mike Frysinger <vapier@gentoo.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <errno.h> -#include <unistd.h> -#include <sys/mman.h> -#include <sys/syscall.h> - - -_syscall6(void *, mmap, void *, start, size_t, length, int, prot, -          int, flags, int, fd, off_t, offset) -libc_hidden_def(mmap) | 
