svn commit: trunk/uClibc/libc/sysdeps/linux/common

Peter S. Mazinger ps.m at gmx.net
Thu Jun 8 16:43:35 UTC 2006


On Thu, 8 Jun 2006 vapier at uclibc.org wrote:

> Author: vapier
> Date: 2006-06-08 02:26:14 -0700 (Thu, 08 Jun 2006)
> New Revision: 15338
> 
> Log:
> add support for 5th argument

attached an alternative, because the 5th arg is optional (only if 
MREMAP_FIXED was specified in may_move/flags

Peter

> 
> Modified:
>    trunk/uClibc/libc/sysdeps/linux/common/mremap.c
> 
> 
> Changeset:
> Modified: trunk/uClibc/libc/sysdeps/linux/common/mremap.c
> ===================================================================
> --- trunk/uClibc/libc/sysdeps/linux/common/mremap.c	2006-06-08 07:55:21 UTC (rev 15337)
> +++ trunk/uClibc/libc/sysdeps/linux/common/mremap.c	2006-06-08 09:26:14 UTC (rev 15338)
> @@ -9,10 +9,11 @@
>  
>  #include "syscalls.h"
>  #include <unistd.h>
> +#define mremap _hidemremap
>  #include <sys/mman.h>
> +#undef mremap
>  
>  libc_hidden_proto(mremap)
> -
> -_syscall4(__ptr_t, mremap, __ptr_t, old_address, size_t, old_size, size_t,
> -		  new_size, int, may_move);
> +_syscall5(void *, mremap, void *, old_address, size_t, old_size, size_t,
> +		  new_size, int, may_move, void *, new_address);
>  libc_hidden_def(mremap)
> 
> _______________________________________________
> uClibc-cvs mailing list
> uClibc-cvs at uclibc.org
> http://busybox.net/cgi-bin/mailman/listinfo/uclibc-cvs
> 
> 

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2
-------------- next part --------------
/* vi: set sw=4 ts=4: */
/*
 * mremap() for uClibc
 *
 * Copyright (C) 2000-2006 Erik Andersen <andersen at uclibc.org>
 *
 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 */

#include "syscalls.h"
#include <unistd.h>
#include <stdarg.h>
#include <sys/mman.h>

#define __NR___syscall_mremap __NR_mremap
static inline _syscall5(__ptr_t, __syscall_mremap, __ptr_t, old_addr, size_t, old_len, size_t,
		  new_len, int, flags, __ptr_t, new_addr);

#ifdef __MALLOC_STANDARD__
libc_hidden_proto(mremap)
#endif
void *mremap(void *old_addr, size_t old_len, size_t new_len, int flags, ...)
{
	va_list ap;
	void *new_addr;
	
	va_start(ap, flags);
	new_addr = va_arg(ap, void *);
	va_end(ap);
	
	return __syscall_mremap (old_addr, old_len, new_len, flags, new_addr);
}
#ifdef __MALLOC_STANDARD__
libc_hidden_def(mremap)
#endif


More information about the uClibc mailing list