--- /dev/null
+--- memory.3 2003-05-20 15:23:25.000000000 -0700
++++ memory.3.edit 2006-07-13 09:26:29.000000000 -0700
+@@ -36,42 +36,101 @@
+ .Dt MEMORY 3
+ .Os
+ .Sh NAME
+-.Nm malloc ,
+-.Nm free ,
+-.Nm realloc ,
+-.Nm calloc ,
+ .Nm alloca ,
+-.Nm mmap
++.Nm calloc ,
++.Nm free ,
++.Nm malloc ,
++.Nm mmap ,
++.Nm realloc
+ .Nd general memory allocation operations
+ .Sh LIBRARY
+ .Lb libc
+ .Sh SYNOPSIS
+ .In stdlib.h
+ .Ft void *
+-.Fn malloc "size_t size"
+-.Ft void
+-.Fn free "void *ptr"
++.Fo alloca
++.Fa "size_t size"
++.Fc
+ .Ft void *
+-.Fn realloc "void *ptr" "size_t size"
++.Fo calloc
++.Fa "size_t nelem"
++.Fa "size_t elsize"
++.Fc
++.Ft void
++.Fo free
++.Fa "void *ptr"
++.Fc
+ .Ft void *
+-.Fn calloc "size_t nelem" "size_t elsize"
++.Fo malloc
++.Fa "size_t size"
++.Fc
+ .Ft void *
+-.Fn alloca "size_t size"
+-.In sys/types.h
++.Fo realloc
++.Fa "void *ptr"
++.Fa "size_t size"
++.Fc
+ .In sys/mman.h
+ .Ft void *
+-.Fn mmap "void * addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset"
++.Fo mmap
++.Fa "void * addr"
++.Fa "size_t len"
++.Fa "int prot"
++.Fa "int flags"
++.Fa "int fildes"
++.Fa "off_t off"
++.Fc
+ .Sh DESCRIPTION
+ These functions allocate and free memory for the calling process.
+ They are described in the
+ individual manual pages.
++.Sh LEGACY SYNOPSIS
++.Fd #include <sys/types.h>
++.Fd #include <sys/mman.h>
++.Pp
++.Ft void *
++.br
++.Fo mmap
++.Fa "void * addr"
++.Fa "size_t len"
++.Fa "int prot"
++.Fa "int flags"
++.Fa "int fildes"
++.Fa "off_t off"
++.Fc ;
++.Pp
++The include file
++.In sys/types.h
++is needed for this function.
++.Sh COMPATIBILITY
++.Fn mmap
++now returns with
++.Va errno
++set to EINVAL in places that historically succeeded.
++The rules have changed as follows:
++.Bl -bullet
++.It
++The
++.Fa flags
++parameter must specify either MAP_PRIVATE or MAP_SHARED.
++.It
++The
++.Fa size
++parameter must not be 0.
++.It
++The
++.Fa off
++parameter must be a multiple of pagesize,
++as returned by
++.Fn sysconf .
++.El
+ .Sh SEE ALSO
+ .Xr mmap 2 ,
+ .Xr alloca 3 ,
+ .Xr calloc 3 ,
+ .Xr free 3 ,
+ .Xr malloc 3 ,
+-.Xr realloc 3
++.Xr realloc 3 ,
++.Xr compat 5
+ .Sh STANDARDS
+ These functions, with the exception of
+ .Fn alloca