devel/libarena - The NetBSD Packages Collection

Memory allocator API and implementation

Libarena is a custom memory allocator interface and implementation. Four
allocators are provided: flat LIFO arena allocator, object pool allocator
and two malloc(3) wrappers: one which returns the pointers unadulterated
and one which obeys the requested, arbitrary alignment. These can be used
directly, or through their exported prototype interfaces.

Libarena is meant to provide a baseline interface so allocator's can be
stacked, and to provide a simple and well defined interface for libraries
and applications without becoming mired in features or capabilities. It is
not meant to restrict or confine what custom allocators can actually
accomplish. For instance, the included pool and arena allocators include a
suite of string utilities which aren't available in the generic exportable
interface. Note that these string utilities are built upon a generic
interface (see util.h) which can take the prototypical allocation context,
so they are also available to any 3rd party compatible allocators.

Surprisingly few malloc(3) library "replacements" or plug-in interfaces
support a context pointer argument. They're useless for many or most of
the tasks where the ability to specify an alternate malloc(3) could
actually be useful, e.g. poor man's RAII. For network daemons especially
this feature is useful; all allocations for a particular session can be
freed simply by closing the lowest-level allocator object.

Build dependencies

devel/libtool-base pkgtools/mktools pkgtools/cwrappers

Runtime dependencies

(none)

Binary packages

OSArchitectureVersion
NetBSD 10.0aarch64libarena-20080221.tgz
NetBSD 10.0aarch64libarena-20080221.tgz
NetBSD 10.0aarch64libarena-20080221.tgz
NetBSD 10.0aarch64eblibarena-20080221.tgz
NetBSD 10.0aarch64eblibarena-20080221.tgz
NetBSD 10.0alphalibarena-20080221.tgz
NetBSD 10.0alphalibarena-20080221.tgz
NetBSD 10.0earmv6hflibarena-20080221.tgz
NetBSD 10.0earmv6hflibarena-20080221.tgz
NetBSD 10.0earmv6hflibarena-20080221.tgz
NetBSD 10.0earmv7hflibarena-20080221.tgz
NetBSD 10.0earmv7hflibarena-20080221.tgz
NetBSD 10.0earmv7hflibarena-20080221.tgz
NetBSD 10.0i386libarena-20080221.tgz
NetBSD 10.0i386libarena-20080221.tgz
NetBSD 10.0i386libarena-20080221.tgz
NetBSD 10.0i386libarena-20080221.tgz
NetBSD 10.0powerpclibarena-20080221.tgz
NetBSD 10.0powerpclibarena-20080221.tgz
NetBSD 10.0powerpclibarena-20080221.tgz
NetBSD 10.0sh3ellibarena-20080221.tgz
NetBSD 10.0sh3ellibarena-20080221.tgz
NetBSD 10.0sparc64libarena-20080221.tgz
NetBSD 10.0sparc64libarena-20080221.tgz
NetBSD 10.0sparclibarena-20080221.tgz
NetBSD 10.0sparclibarena-20080221.tgz
NetBSD 10.0vaxlibarena-20080221.tgz
NetBSD 10.0vaxlibarena-20080221.tgz
NetBSD 10.0vaxlibarena-20080221.tgz
NetBSD 10.0x86_64libarena-20080221.tgz
NetBSD 10.0x86_64libarena-20080221.tgz
NetBSD 10.0x86_64libarena-20080221.tgz
NetBSD 10.0x86_64libarena-20080221.tgz
NetBSD 9.0aarch64libarena-20080221.tgz
NetBSD 9.0aarch64libarena-20080221.tgz
NetBSD 9.0aarch64libarena-20080221.tgz
NetBSD 9.0alphalibarena-20080221.tgz
NetBSD 9.0alphalibarena-20080221.tgz
NetBSD 9.0earmv4libarena-20080221.tgz
NetBSD 9.0earmv6hflibarena-20080221.tgz
NetBSD 9.0earmv6hflibarena-20080221.tgz
NetBSD 9.0earmv6hflibarena-20080221.tgz
NetBSD 9.0earmv7hflibarena-20080221.tgz
NetBSD 9.0earmv7hflibarena-20080221.tgz
NetBSD 9.0earmv7hflibarena-20080221.tgz
NetBSD 9.0i386libarena-20080221.tgz
NetBSD 9.0i386libarena-20080221.tgz
NetBSD 9.0i386libarena-20080221.tgz
NetBSD 9.0i386libarena-20080221.tgz
NetBSD 9.0m68klibarena-20080221.tgz
NetBSD 9.0powerpclibarena-20080221.tgz
NetBSD 9.0powerpclibarena-20080221.tgz
NetBSD 9.0powerpclibarena-20080221.tgz
NetBSD 9.0sparc64libarena-20080221.tgz
NetBSD 9.0x86_64libarena-20080221.tgz
NetBSD 9.0x86_64libarena-20080221.tgz
NetBSD 9.0x86_64libarena-20080221.tgz
NetBSD 9.0x86_64libarena-20080221.tgz
NetBSD 9.3x86_64libarena-20080221.tgz
NetBSD 9.3x86_64libarena-20080221.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.