HomeFreeBSD

namespace nv names, version libnv and libnvpair library symbols

Description

namespace nv names, version libnv and libnvpair library symbols

libnv and libnvpair have aliased symbols, and as a result a single process which
dlopens a shared object that is dynamically linked to libnv and another to
libnvpair will wind up with a single set of resolved symbols for those in
conflict. A source file also cannot include both libnv and libnvpair headers
because of aliased identifiers. To resolve the situation, libnv types and
functions are namespaced via nv_namespace.h, and libnv symbols are
versioned. The msgio functions are not namespaced or exported as they are not
part of the external API.

Reviewed by: kevans
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D35261

Details

Provenance
linnemannr_gmail.comAuthored on May 17 2022, 7:49 PM
kpCommitted on Jul 21 2022, 4:35 PM
Reviewer
kevans
Differential Revision
D35261: Add versioning to libnv and libnvpair library symbols
Parents
rGfb8ef16bab0d: IPv4: correct limit on loopback_prefix
Branches
Unknown
Tags
Unknown