libbsdmalloc: New man page.

XXX pullup-10
This commit is contained in:
riastradh 2023-07-04 16:23:15 +00:00
parent 77b23e4e0e
commit 2daa8bfe20
4 changed files with 94 additions and 5 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: mi,v 1.2433 2023/06/20 23:09:13 wiz Exp $
# $NetBSD: mi,v 1.2434 2023/07/04 16:23:15 riastradh Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
./etc/mtree/set.comp comp-sys-root
@ -6657,6 +6657,7 @@
./usr/share/man/cat3/bottom_panel.0 comp-c-catman .cat
./usr/share/man/cat3/box.0 comp-c-catman .cat
./usr/share/man/cat3/bsd_signal.0 comp-c-catman .cat
./usr/share/man/cat3/bsdmalloc.0 comp-c-catman .cat
./usr/share/man/cat3/bsearch.0 comp-c-catman .cat
./usr/share/man/cat3/bstring.0 comp-c-catman .cat
./usr/share/man/cat3/bswap.0 comp-c-catman .cat
@ -15142,6 +15143,7 @@
./usr/share/man/html3/bottom_panel.html comp-c-htmlman html
./usr/share/man/html3/box.html comp-c-htmlman html
./usr/share/man/html3/bsd_signal.html comp-c-htmlman html
./usr/share/man/html3/bsdmalloc.html comp-c-htmlman html
./usr/share/man/html3/bsearch.html comp-c-htmlman html
./usr/share/man/html3/bstring.html comp-c-htmlman html
./usr/share/man/html3/bswap.html comp-c-htmlman html
@ -23470,6 +23472,7 @@
./usr/share/man/man3/bottom_panel.3 comp-c-man .man
./usr/share/man/man3/box.3 comp-c-man .man
./usr/share/man/man3/bsd_signal.3 comp-c-man .man
./usr/share/man/man3/bsdmalloc.3 comp-c-man .man
./usr/share/man/man3/bsearch.3 comp-c-man .man
./usr/share/man/man3/bstring.3 comp-c-man .man
./usr/share/man/man3/bswap.3 comp-c-man .man

View File

@ -1,4 +1,4 @@
.\" $NetBSD: mdoc.local,v 1.9 2022/12/17 11:51:52 kim Exp $
.\" $NetBSD: mdoc.local,v 1.10 2023/07/04 16:23:15 riastradh Exp $
.\"
.\" Copyright (c) 2003, 2004 The NetBSD Foundation, Inc.
.\" All rights reserved.
@ -152,6 +152,7 @@
.\" Local libraries not in groff
.ds doc-str-Lb-libarchive Reading and Writing Streaming Archives Library (libarchive, \-larchive)
.ds doc-str-Lb-libbluetooth Bluetooth Library (libbluetooth, \-lbluetooth)
.ds doc-str-Lb-bsdmalloc Historic BSD allocator (libbsdmalloc, \-lbsdmalloc)
.ds doc-str-Lb-libdm Device-mapper Library (libdm, \-ldm)
.ds doc-str-Lb-libexecinfo Backtrace Access Library (libexecinfo, \-lexecinfo)
.ds doc-str-Lb-libfetch File Transfer Library for URLs (libfetch, \-lfetch)

View File

@ -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

View File

@ -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.