diff options
| author | riastradh <riastradh@NetBSD.org> | 2023-07-04 16:23:15 +0000 |
|---|---|---|
| committer | riastradh <riastradh@NetBSD.org> | 2023-07-04 16:23:15 +0000 |
| commit | 08b3ba2045319f41ea875f35e81ffe63b89ae590 (patch) | |
| tree | d059b4fe12389aef7888bed4f9d0c972cb2fcae0 /lib/libbsdmalloc | |
| parent | f54f53a7a780d1ebeb63d0c8ce94d753b65e17f0 (diff) | |
libbsdmalloc: New man page.
XXX pullup-10
Diffstat (limited to 'lib/libbsdmalloc')
| -rw-r--r-- | lib/libbsdmalloc/Makefile | 5 | ||||
| -rw-r--r-- | lib/libbsdmalloc/bsdmalloc.3 | 86 |
2 files changed, 88 insertions, 3 deletions
diff --git a/lib/libbsdmalloc/Makefile b/lib/libbsdmalloc/Makefile index 990eb406867..ca0fb9979f7 100644 --- a/lib/libbsdmalloc/Makefile +++ b/lib/libbsdmalloc/Makefile @@ -1,6 +1,4 @@ -# $NetBSD: Makefile,v 1.5 2023/07/04 15:08:55 riastradh Exp $ - -NOMAN=1 +# $NetBSD: Makefile,v 1.6 2023/07/04 16:23:15 riastradh Exp $ WARNS= 2 @@ -8,6 +6,7 @@ WARNS= 2 LIB= bsdmalloc SRCS= malloc.c +MAN= bsdmalloc.3 CFLAGS+= -fno-builtin-aligned_alloc CFLAGS+= -fno-builtin-calloc diff --git a/lib/libbsdmalloc/bsdmalloc.3 b/lib/libbsdmalloc/bsdmalloc.3 new file mode 100644 index 00000000000..756b984ddf9 --- /dev/null +++ b/lib/libbsdmalloc/bsdmalloc.3 @@ -0,0 +1,86 @@ +.\" $NetBSD: bsdmalloc.3,v 1.1 2023/07/04 16:23:15 riastradh Exp $ +.\" +.\" Copyright (c) 2023 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd July 4, 2023 +.Dt BSDMALLOC 3 +.Os +.Sh NAME +.Nm bsdmalloc +.Nd lightweight historic BSD memory allocator replacement +.Sh LIBRARY +.Lb libbsdmalloc +.Sh SYNOPSIS +.In stdlib.h +.Ft void * +.Fn malloc "void *size" +.Ft void * +.Fn calloc "size_t nmemb" "size_t size" +.Ft void * +.Fn realloc "void *ptr" "size_t size" +.Ft void * +.Fn aligned_alloc "size_t alignment" "size_t size" +.Ft int +.Fn posix_memalign "void **memptr" "size_t alignment" "size_t size" +.Ft void +.Fn free "void *ptr" +.Ft void +.Fn _malloc_prefork +.Ft void +.Fn _malloc_postfork +.Ft void +.Fn _malloc_postfork_child +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.Sh DESCRIPTION +The +.Nm +library provides a lower-performance but smaller-size drop-in +replacement for the standard +.Xr malloc 3 +family of functions provided by +.Lb libc , +as well as internal hooks for +.Xr fork 2 +safety in multithreaded programs. +.Pp +Programs can be statically linked with +.Li -lbsdmalloc +for smaller code footprint, at a higher cost to run-time performance +and scalability and limited diagnostics. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.Sh SEE ALSO +.Xr malloc 3 , +.Xr posix_memalign 3 +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.Sh BUGS +.Nm Ns No 's +implementation of +.Fn malloc , +.Fn calloc , +and +.Fn realloc +doesn't correctly set +.Xr errno 2 +on failure. |
