The branch main has been updated by kp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=000321bab7bea3530408b960095a6ea241451175

commit 000321bab7bea3530408b960095a6ea241451175
Author:     Reid Linnemann <[email protected]>
AuthorDate: 2022-05-17 19:49:41 +0000
Commit:     Kristof Provost <[email protected]>
CommitDate: 2022-07-21 16:35:23 +0000

    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
---
 lib/libnv/Makefile     |   3 +
 lib/libnv/Version.map  | 256 +++++++++++++++++++++++++++++++++++++++++++
 sys/sys/cnv.h          |   1 +
 sys/sys/dnv.h          |   1 +
 sys/sys/nv.h           |   1 +
 sys/sys/nv_namespace.h | 286 +++++++++++++++++++++++++++++++++++++++++++++++++
 tools/build/Makefile   |   2 +-
 7 files changed, 549 insertions(+), 1 deletion(-)

diff --git a/lib/libnv/Makefile b/lib/libnv/Makefile
index b13758931c4e..933dacb3eac6 100644
--- a/lib/libnv/Makefile
+++ b/lib/libnv/Makefile
@@ -8,6 +8,9 @@ PACKAGE=        runtime
 LIB=   nv
 SHLIB_MAJOR= 0
 
+VERSION_DEF=   ${SRCTOP}/lib/libc/Versions.def
+VERSION_MAP=   ${.CURDIR}/Version.map
+
 .PATH: ${SRCTOP}/sys/contrib/libnv ${SRCTOP}/sys/sys
 CFLAGS+=-I${.CURDIR}
 
diff --git a/lib/libnv/Version.map b/lib/libnv/Version.map
new file mode 100644
index 000000000000..98349c2356d3
--- /dev/null
+++ b/lib/libnv/Version.map
@@ -0,0 +1,256 @@
+# $FreeBSD$
+
+FBSD_1.0 {
+       global:
+               FreeBSD_cnvlist_free_binary;
+               FreeBSD_cnvlist_free_bool;
+               FreeBSD_cnvlist_free_bool_array;
+               FreeBSD_cnvlist_free_descriptor;
+               FreeBSD_cnvlist_free_descriptor_array;
+               FreeBSD_cnvlist_free_number;
+               FreeBSD_cnvlist_free_number_array;
+               FreeBSD_cnvlist_free_nvlist;
+               FreeBSD_cnvlist_free_nvlist_array;
+               FreeBSD_cnvlist_free_string;
+               FreeBSD_cnvlist_free_string_array;
+               FreeBSD_cnvlist_get_binary;
+               FreeBSD_cnvlist_get_bool;
+               FreeBSD_cnvlist_get_bool_array;
+               FreeBSD_cnvlist_get_descriptor;
+               FreeBSD_cnvlist_get_descriptor_array;
+               FreeBSD_cnvlist_get_number;
+               FreeBSD_cnvlist_get_number_array;
+               FreeBSD_cnvlist_get_nvlist;
+               FreeBSD_cnvlist_get_nvlist_array;
+               FreeBSD_cnvlist_get_string;
+               FreeBSD_cnvlist_get_string_array;
+               FreeBSD_cnvlist_name;
+               FreeBSD_cnvlist_take_binary;
+               FreeBSD_cnvlist_take_bool;
+               FreeBSD_cnvlist_take_bool_array;
+               FreeBSD_cnvlist_take_descriptor;
+               FreeBSD_cnvlist_take_descriptor_array;
+               FreeBSD_cnvlist_take_number;
+               FreeBSD_cnvlist_take_number_array;
+               FreeBSD_cnvlist_take_nvlist;
+               FreeBSD_cnvlist_take_nvlist_array;
+               FreeBSD_cnvlist_take_string;
+               FreeBSD_cnvlist_take_string_array;
+               FreeBSD_cnvlist_type;
+               FreeBSD_dnvlist_get_binary;
+               FreeBSD_dnvlist_get_bool;
+               FreeBSD_dnvlist_get_descriptor;
+               FreeBSD_dnvlist_get_number;
+               FreeBSD_dnvlist_get_nvlist;
+               FreeBSD_dnvlist_get_string;
+               FreeBSD_dnvlist_take_binary;
+               FreeBSD_dnvlist_take_bool;
+               FreeBSD_dnvlist_take_descriptor;
+               FreeBSD_dnvlist_take_number;
+               FreeBSD_dnvlist_take_nvlist;
+               FreeBSD_dnvlist_take_string;
+               FreeBSD_nvlist_add_binary;
+               FreeBSD_nvlist_add_bool;
+               FreeBSD_nvlist_add_bool_array;
+               FreeBSD_nvlist_add_descriptor;
+               FreeBSD_nvlist_add_descriptor_array;
+               FreeBSD_nvlist_add_null;
+               FreeBSD_nvlist_add_number;
+               FreeBSD_nvlist_add_number_array;
+               FreeBSD_nvlist_add_nvlist;
+               FreeBSD_nvlist_add_nvlist_array;
+               FreeBSD_nvlist_add_nvpair;
+               FreeBSD_nvlist_add_string;
+               FreeBSD_nvlist_add_string_array;
+               FreeBSD_nvlist_add_stringf;
+               FreeBSD_nvlist_add_stringv;
+               FreeBSD_nvlist_append_bool_array;
+               FreeBSD_nvlist_append_descriptor_array;
+               FreeBSD_nvlist_append_number_array;
+               FreeBSD_nvlist_append_nvlist_array;
+               FreeBSD_nvlist_append_string_array;
+               FreeBSD_nvlist_clone;
+               FreeBSD_nvlist_create;
+               FreeBSD_nvlist_descriptors;
+               FreeBSD_nvlist_destroy;
+               FreeBSD_nvlist_dump;
+               FreeBSD_nvlist_empty;
+               FreeBSD_nvlist_error;
+               FreeBSD_nvlist_exists;
+               FreeBSD_nvlist_exists_binary;
+               FreeBSD_nvlist_exists_bool;
+               FreeBSD_nvlist_exists_bool_array;
+               FreeBSD_nvlist_exists_descriptor;
+               FreeBSD_nvlist_exists_descriptor_array;
+               FreeBSD_nvlist_exists_null;
+               FreeBSD_nvlist_exists_number;
+               FreeBSD_nvlist_exists_number_array;
+               FreeBSD_nvlist_exists_nvlist;
+               FreeBSD_nvlist_exists_nvlist_array;
+               FreeBSD_nvlist_exists_string;
+               FreeBSD_nvlist_exists_string_array;
+               FreeBSD_nvlist_exists_type;
+               FreeBSD_nvlist_fdump;
+               FreeBSD_nvlist_first_nvpair;
+               FreeBSD_nvlist_flags;
+               FreeBSD_nvlist_free;
+               FreeBSD_nvlist_free_binary;
+               FreeBSD_nvlist_free_bool;
+               FreeBSD_nvlist_free_bool_array;
+               FreeBSD_nvlist_free_descriptor;
+               FreeBSD_nvlist_free_descriptor_array;
+               FreeBSD_nvlist_free_null;
+               FreeBSD_nvlist_free_number;
+               FreeBSD_nvlist_free_number_array;
+               FreeBSD_nvlist_free_nvlist;
+               FreeBSD_nvlist_free_nvlist_array;
+               FreeBSD_nvlist_free_nvpair;
+               FreeBSD_nvlist_free_string;
+               FreeBSD_nvlist_free_string_array;
+               FreeBSD_nvlist_free_type;
+               FreeBSD_nvlist_get_array_next;
+               FreeBSD_nvlist_get_array_next_nvpair;
+               FreeBSD_nvlist_get_binary;
+               FreeBSD_nvlist_get_bool;
+               FreeBSD_nvlist_get_bool_array;
+               FreeBSD_nvlist_get_descriptor;
+               FreeBSD_nvlist_get_descriptor_array;
+               FreeBSD_nvlist_get_number;
+               FreeBSD_nvlist_get_number_array;
+               FreeBSD_nvlist_get_nvlist;
+               FreeBSD_nvlist_get_nvlist_array;
+               FreeBSD_nvlist_get_nvpair;
+               FreeBSD_nvlist_get_nvpair_parent;
+               FreeBSD_nvlist_get_pararr;
+               FreeBSD_nvlist_get_parent;
+               FreeBSD_nvlist_get_string;
+               FreeBSD_nvlist_get_string_array;
+               FreeBSD_nvlist_in_array;
+               FreeBSD_nvlist_move_binary;
+               FreeBSD_nvlist_move_bool_array;
+               FreeBSD_nvlist_move_descriptor;
+               FreeBSD_nvlist_move_descriptor_array;
+               FreeBSD_nvlist_move_number_array;
+               FreeBSD_nvlist_move_nvlist;
+               FreeBSD_nvlist_move_nvlist_array;
+               FreeBSD_nvlist_move_nvpair;
+               FreeBSD_nvlist_move_string;
+               FreeBSD_nvlist_move_string_array;
+               FreeBSD_nvlist_ndescriptors;
+               FreeBSD_nvlist_next;
+               FreeBSD_nvlist_next_nvpair;
+               FreeBSD_nvlist_pack;
+               FreeBSD_nvlist_prev_nvpair;
+               FreeBSD_nvlist_recv;
+               FreeBSD_nvlist_remove_nvpair;
+               FreeBSD_nvlist_report_missing;
+               FreeBSD_nvlist_send;
+               FreeBSD_nvlist_set_array_next;
+               FreeBSD_nvlist_set_error;
+               FreeBSD_nvlist_set_flags;
+               FreeBSD_nvlist_set_parent;
+               FreeBSD_nvlist_size;
+               FreeBSD_nvlist_take_binary;
+               FreeBSD_nvlist_take_bool;
+               FreeBSD_nvlist_take_bool_array;
+               FreeBSD_nvlist_take_descriptor;
+               FreeBSD_nvlist_take_descriptor_array;
+               FreeBSD_nvlist_take_number;
+               FreeBSD_nvlist_take_number_array;
+               FreeBSD_nvlist_take_nvlist;
+               FreeBSD_nvlist_take_nvlist_array;
+               FreeBSD_nvlist_take_string;
+               FreeBSD_nvlist_take_string_array;
+               FreeBSD_nvlist_unpack;
+               FreeBSD_nvlist_unpack_header;
+               FreeBSD_nvlist_xfer;
+               FreeBSD_nvpair_append_bool_array;
+               FreeBSD_nvpair_append_descriptor_array;
+               FreeBSD_nvpair_append_number_array;
+               FreeBSD_nvpair_append_nvlist_array;
+               FreeBSD_nvpair_append_string_array;
+               FreeBSD_nvpair_assert;
+               FreeBSD_nvpair_clone;
+               FreeBSD_nvpair_create_binary;
+               FreeBSD_nvpair_create_bool;
+               FreeBSD_nvpair_create_bool_array;
+               FreeBSD_nvpair_create_descriptor;
+               FreeBSD_nvpair_create_descriptor_array;
+               FreeBSD_nvpair_create_null;
+               FreeBSD_nvpair_create_number;
+               FreeBSD_nvpair_create_number_array;
+               FreeBSD_nvpair_create_nvlist;
+               FreeBSD_nvpair_create_nvlist_array;
+               FreeBSD_nvpair_create_string;
+               FreeBSD_nvpair_create_string_array;
+               FreeBSD_nvpair_create_stringf;
+               FreeBSD_nvpair_create_stringv;
+               FreeBSD_nvpair_free;
+               FreeBSD_nvpair_free_structure;
+               FreeBSD_nvpair_get_binary;
+               FreeBSD_nvpair_get_bool;
+               FreeBSD_nvpair_get_bool_array;
+               FreeBSD_nvpair_get_descriptor;
+               FreeBSD_nvpair_get_descriptor_array;
+               FreeBSD_nvpair_get_number;
+               FreeBSD_nvpair_get_number_array;
+               FreeBSD_nvpair_get_nvlist;
+               FreeBSD_nvpair_get_nvlist_array;
+               FreeBSD_nvpair_get_string;
+               FreeBSD_nvpair_get_string_array;
+               FreeBSD_nvpair_header_size;
+               FreeBSD_nvpair_init_datasize;
+               FreeBSD_nvpair_insert;
+               FreeBSD_nvpair_move_binary;
+               FreeBSD_nvpair_move_bool_array;
+               FreeBSD_nvpair_move_descriptor;
+               FreeBSD_nvpair_move_descriptor_array;
+               FreeBSD_nvpair_move_number_array;
+               FreeBSD_nvpair_move_nvlist;
+               FreeBSD_nvpair_move_nvlist_array;
+               FreeBSD_nvpair_move_string;
+               FreeBSD_nvpair_move_string_array;
+               FreeBSD_nvpair_name;
+               FreeBSD_nvpair_next;
+               FreeBSD_nvpair_nvlist;
+               FreeBSD_nvpair_pack_binary;
+               FreeBSD_nvpair_pack_bool;
+               FreeBSD_nvpair_pack_bool_array;
+               FreeBSD_nvpair_pack_descriptor;
+               FreeBSD_nvpair_pack_descriptor_array;
+               FreeBSD_nvpair_pack_header;
+               FreeBSD_nvpair_pack_null;
+               FreeBSD_nvpair_pack_number;
+               FreeBSD_nvpair_pack_number_array;
+               FreeBSD_nvpair_pack_nvlist_array_next;
+               FreeBSD_nvpair_pack_nvlist_up;
+               FreeBSD_nvpair_pack_string;
+               FreeBSD_nvpair_pack_string_array;
+               FreeBSD_nvpair_prev;
+               FreeBSD_nvpair_remove;
+               FreeBSD_nvpair_size;
+               FreeBSD_nvpair_type;
+               FreeBSD_nvpair_type_string;
+               FreeBSD_nvpair_unpack;
+               FreeBSD_nvpair_unpack_binary;
+               FreeBSD_nvpair_unpack_bool;
+               FreeBSD_nvpair_unpack_bool_array;
+               FreeBSD_nvpair_unpack_descriptor;
+               FreeBSD_nvpair_unpack_descriptor_array;
+               FreeBSD_nvpair_unpack_header;
+               FreeBSD_nvpair_unpack_null;
+               FreeBSD_nvpair_unpack_number;
+               FreeBSD_nvpair_unpack_number_array;
+               FreeBSD_nvpair_unpack_nvlist;
+               FreeBSD_nvpair_unpack_nvlist_array;
+               FreeBSD_nvpair_unpack_string;
+               FreeBSD_nvpair_unpack_string_array;
+
+       local:
+               buf_recv;
+               buf_send;
+               cred_recv;
+               cred_send;
+               fd_recv;
+               fd_send;
+};
diff --git a/sys/sys/cnv.h b/sys/sys/cnv.h
index babc913c5637..17e6184f87d2 100644
--- a/sys/sys/cnv.h
+++ b/sys/sys/cnv.h
@@ -38,6 +38,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
+#include <sys/nv_namespace.h>
 #endif
 
 #ifndef        _NVLIST_T_DECLARED
diff --git a/sys/sys/dnv.h b/sys/sys/dnv.h
index 9ddd8720c923..96c9b75843f1 100644
--- a/sys/sys/dnv.h
+++ b/sys/sys/dnv.h
@@ -40,6 +40,7 @@
 #include <stdbool.h>
 #include <stddef.h>
 #include <stdint.h>
+#include <sys/nv_namespace.h>
 #endif
 
 #ifndef        _NVLIST_T_DECLARED
diff --git a/sys/sys/nv.h b/sys/sys/nv.h
index 80fb877721f0..0c382002b77b 100644
--- a/sys/sys/nv.h
+++ b/sys/sys/nv.h
@@ -42,6 +42,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
+#include <sys/nv_namespace.h>
 #endif
 
 #ifndef        _NVLIST_T_DECLARED
diff --git a/sys/sys/nv_namespace.h b/sys/sys/nv_namespace.h
new file mode 100644
index 000000000000..e18629dc0f05
--- /dev/null
+++ b/sys/sys/nv_namespace.h
@@ -0,0 +1,286 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * All rights reserved.
+ *
+ * Copyright (c) 2022 Rubicon Communications, LLC (Netgate)
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _NV_NAMESPACE_H_
+#define _NV_NAMESPACE_H_
+
+#define cnvlist_free_binary            FreeBSD_cnvlist_free_binary
+#define cnvlist_free_bool              FreeBSD_cnvlist_free_bool
+#define cnvlist_free_bool_array                FreeBSD_cnvlist_free_bool_array
+#define cnvlist_free_descriptor                FreeBSD_cnvlist_free_descriptor
+#define cnvlist_free_descriptor_array  FreeBSD_cnvlist_free_descriptor_array
+#define cnvlist_free_number            FreeBSD_cnvlist_free_number
+#define cnvlist_free_number_array      FreeBSD_cnvlist_free_number_array
+#define cnvlist_free_nvlist            FreeBSD_cnvlist_free_nvlist
+#define cnvlist_free_nvlist_array      FreeBSD_cnvlist_free_nvlist_array
+#define cnvlist_free_string            FreeBSD_cnvlist_free_string
+#define cnvlist_free_string_array      FreeBSD_cnvlist_free_string_array
+#define cnvlist_get_binary             FreeBSD_cnvlist_get_binary
+#define cnvlist_get_bool               FreeBSD_cnvlist_get_bool
+#define cnvlist_get_bool_array         FreeBSD_cnvlist_get_bool_array
+#define cnvlist_get_descriptor         FreeBSD_cnvlist_get_descriptor
+#define cnvlist_get_descriptor_array   FreeBSD_cnvlist_get_descriptor_array
+#define cnvlist_get_number             FreeBSD_cnvlist_get_number
+#define cnvlist_get_number_array       FreeBSD_cnvlist_get_number_array
+#define cnvlist_get_nvlist             FreeBSD_cnvlist_get_nvlist
+#define cnvlist_get_nvlist_array       FreeBSD_cnvlist_get_nvlist_array
+#define cnvlist_get_string             FreeBSD_cnvlist_get_string
+#define cnvlist_get_string_array       FreeBSD_cnvlist_get_string_array
+#define cnvlist_name                   FreeBSD_cnvlist_name
+#define cnvlist_take_binary            FreeBSD_cnvlist_take_binary
+#define cnvlist_take_bool              FreeBSD_cnvlist_take_bool
+#define cnvlist_take_bool_array                FreeBSD_cnvlist_take_bool_array
+#define cnvlist_take_descriptor                FreeBSD_cnvlist_take_descriptor
+#define cnvlist_take_descriptor_array  FreeBSD_cnvlist_take_descriptor_array
+#define cnvlist_take_number            FreeBSD_cnvlist_take_number
+#define cnvlist_take_number_array      FreeBSD_cnvlist_take_number_array
+#define cnvlist_take_nvlist            FreeBSD_cnvlist_take_nvlist
+#define cnvlist_take_nvlist_array      FreeBSD_cnvlist_take_nvlist_array
+#define cnvlist_take_string            FreeBSD_cnvlist_take_string
+#define cnvlist_take_string_array      FreeBSD_cnvlist_take_string_array
+#define cnvlist_type                   FreeBSD_cnvlist_type
+#define dnvlist_get_binary             FreeBSD_dnvlist_get_binary
+#define dnvlist_get_bool               FreeBSD_dnvlist_get_bool
+#define dnvlist_get_descriptor         FreeBSD_dnvlist_get_descriptor
+#define dnvlist_get_number             FreeBSD_dnvlist_get_number
+#define dnvlist_get_nvlist             FreeBSD_dnvlist_get_nvlist
+#define dnvlist_get_string             FreeBSD_dnvlist_get_string
+#define dnvlist_take_binary            FreeBSD_dnvlist_take_binary
+#define dnvlist_take_bool              FreeBSD_dnvlist_take_bool
+#define dnvlist_take_descriptor                FreeBSD_dnvlist_take_descriptor
+#define dnvlist_take_number            FreeBSD_dnvlist_take_number
+#define dnvlist_take_nvlist            FreeBSD_dnvlist_take_nvlist
+#define dnvlist_take_string            FreeBSD_dnvlist_take_string
+#define nvlist                         FreeBSD_nvlist
+#define nvlist_add_binary              FreeBSD_nvlist_add_binary
+#define nvlist_add_bool                        FreeBSD_nvlist_add_bool
+#define nvlist_add_bool_array          FreeBSD_nvlist_add_bool_array
+#define nvlist_add_descriptor          FreeBSD_nvlist_add_descriptor
+#define nvlist_add_descriptor_array    FreeBSD_nvlist_add_descriptor_array
+#define nvlist_add_null                        FreeBSD_nvlist_add_null
+#define nvlist_add_number              FreeBSD_nvlist_add_number
+#define nvlist_add_number_array                FreeBSD_nvlist_add_number_array
+#define nvlist_add_nvlist              FreeBSD_nvlist_add_nvlist
+#define nvlist_add_nvlist_array                FreeBSD_nvlist_add_nvlist_array
+#define nvlist_add_nvpair              FreeBSD_nvlist_add_nvpair
+#define nvlist_add_string              FreeBSD_nvlist_add_string
+#define nvlist_add_string_array                FreeBSD_nvlist_add_string_array
+#define nvlist_add_stringf             FreeBSD_nvlist_add_stringf
+#define nvlist_add_stringv             FreeBSD_nvlist_add_stringv
+#define nvlist_append_bool_array       FreeBSD_nvlist_append_bool_array
+#define nvlist_append_descriptor_array FreeBSD_nvlist_append_descriptor_array
+#define nvlist_append_number_array     FreeBSD_nvlist_append_number_array
+#define nvlist_append_nvlist_array     FreeBSD_nvlist_append_nvlist_array
+#define nvlist_append_string_array     FreeBSD_nvlist_append_string_array
+#define nvlist_clone                   FreeBSD_nvlist_clone
+#define nvlist_create                  FreeBSD_nvlist_create
+#define nvlist_descriptors             FreeBSD_nvlist_descriptors
+#define nvlist_destroy                 FreeBSD_nvlist_destroy
+#define nvlist_dump                    FreeBSD_nvlist_dump
+#define nvlist_empty                   FreeBSD_nvlist_empty
+#define nvlist_error                   FreeBSD_nvlist_error
+#define nvlist_exists                  FreeBSD_nvlist_exists
+#define nvlist_exists_binary           FreeBSD_nvlist_exists_binary
+#define nvlist_exists_bool             FreeBSD_nvlist_exists_bool
+#define nvlist_exists_bool_array       FreeBSD_nvlist_exists_bool_array
+#define nvlist_exists_descriptor       FreeBSD_nvlist_exists_descriptor
+#define nvlist_exists_descriptor_array FreeBSD_nvlist_exists_descriptor_array
+#define nvlist_exists_null             FreeBSD_nvlist_exists_null
+#define nvlist_exists_number           FreeBSD_nvlist_exists_number
+#define nvlist_exists_number_array     FreeBSD_nvlist_exists_number_array
+#define nvlist_exists_nvlist           FreeBSD_nvlist_exists_nvlist
+#define nvlist_exists_nvlist_array     FreeBSD_nvlist_exists_nvlist_array
+#define nvlist_exists_string           FreeBSD_nvlist_exists_string
+#define nvlist_exists_string_array     FreeBSD_nvlist_exists_string_array
+#define nvlist_exists_type             FreeBSD_nvlist_exists_type
+#define nvlist_fdump                   FreeBSD_nvlist_fdump
+#define nvlist_first_nvpair            FreeBSD_nvlist_first_nvpair
+#define nvlist_flags                   FreeBSD_nvlist_flags
+#define nvlist_free                    FreeBSD_nvlist_free
+#define nvlist_free_binary             FreeBSD_nvlist_free_binary
+#define nvlist_free_binary_array       FreeBSD_nvlist_free_binary_array
+#define nvlist_free_bool               FreeBSD_nvlist_free_bool
+#define nvlist_free_bool_array         FreeBSD_nvlist_free_bool_array
+#define nvlist_free_descriptor         FreeBSD_nvlist_free_descriptor
+#define nvlist_free_descriptor_array   FreeBSD_nvlist_free_descriptor_array
+#define nvlist_free_null               FreeBSD_nvlist_free_null
+#define nvlist_free_number             FreeBSD_nvlist_free_number
+#define nvlist_free_number_array       FreeBSD_nvlist_free_number_array
+#define nvlist_free_nvlist             FreeBSD_nvlist_free_nvlist
+#define nvlist_free_nvlist_array       FreeBSD_nvlist_free_nvlist_array
+#define nvlist_free_nvpair             FreeBSD_nvlist_free_nvpair
+#define nvlist_free_string             FreeBSD_nvlist_free_string
+#define nvlist_free_string_array       FreeBSD_nvlist_free_string_array
+#define nvlist_free_type               FreeBSD_nvlist_free_type
+#define nvlist_get_array_next          FreeBSD_nvlist_get_array_next
+#define nvlist_get_array_next_nvpair   FreeBSD_nvlist_get_array_next_nvpair
+#define nvlist_get_binary              FreeBSD_nvlist_get_binary
+#define nvlist_get_bool                        FreeBSD_nvlist_get_bool
+#define nvlist_get_bool_array          FreeBSD_nvlist_get_bool_array
+#define nvlist_get_descriptor          FreeBSD_nvlist_get_descriptor
+#define nvlist_get_descriptor_array    FreeBSD_nvlist_get_descriptor_array
+#define nvlist_get_number              FreeBSD_nvlist_get_number
+#define nvlist_get_number_array                FreeBSD_nvlist_get_number_array
+#define nvlist_get_nvlist              FreeBSD_nvlist_get_nvlist
+#define nvlist_get_nvlist_array                FreeBSD_nvlist_get_nvlist_array
+#define nvlist_get_nvpair              FreeBSD_nvlist_get_nvpair
+#define nvlist_get_nvpair_parent       FreeBSD_nvlist_get_nvpair_parent
+#define nvlist_get_pararr              FreeBSD_nvlist_get_pararr
+#define nvlist_get_parent              FreeBSD_nvlist_get_parent
+#define nvlist_get_string              FreeBSD_nvlist_get_string
+#define nvlist_get_string_array                FreeBSD_nvlist_get_string_array
+#define nvlist_in_array                        FreeBSD_nvlist_in_array
+#define nvlist_move_binary             FreeBSD_nvlist_move_binary
+#define nvlist_move_bool_array         FreeBSD_nvlist_move_bool_array
+#define nvlist_move_descriptor         FreeBSD_nvlist_move_descriptor
+#define nvlist_move_descriptor_array   FreeBSD_nvlist_move_descriptor_array
+#define nvlist_move_number_array       FreeBSD_nvlist_move_number_array
+#define nvlist_move_nvlist             FreeBSD_nvlist_move_nvlist
+#define nvlist_move_nvlist_array       FreeBSD_nvlist_move_nvlist_array
+#define nvlist_move_nvpair             FreeBSD_nvlist_move_nvpair
+#define nvlist_move_string             FreeBSD_nvlist_move_string
+#define nvlist_move_string_array       FreeBSD_nvlist_move_string_array
+#define nvlist_ndescriptors            FreeBSD_nvlist_ndescriptors
+#define nvlist_next                    FreeBSD_nvlist_next
+#define nvlist_next_nvpair             FreeBSD_nvlist_next_nvpair
+#define nvlist_pack                    FreeBSD_nvlist_pack
+#define nvlist_prev_nvpair             FreeBSD_nvlist_prev_nvpair
+#define nvlist_recv                    FreeBSD_nvlist_recv
+#define nvlist_remove_nvpair           FreeBSD_nvlist_remove_nvpair
+#define nvlist_report_missing          FreeBSD_nvlist_report_missing
+#define nvlist_send                    FreeBSD_nvlist_send
+#define nvlist_set_array_next          FreeBSD_nvlist_set_array_next
+#define nvlist_set_error               FreeBSD_nvlist_set_error
+#define nvlist_set_flags               FreeBSD_nvlist_set_flags
+#define nvlist_set_parent              FreeBSD_nvlist_set_parent
+#define nvlist_size                    FreeBSD_nvlist_size
+#define nvlist_t                       FreeBSD_nvlist_t
+#define nvlist_take_binary             FreeBSD_nvlist_take_binary
+#define nvlist_take_bool               FreeBSD_nvlist_take_bool
+#define nvlist_take_bool_array         FreeBSD_nvlist_take_bool_array
+#define nvlist_take_descriptor         FreeBSD_nvlist_take_descriptor
+#define nvlist_take_descriptor_array   FreeBSD_nvlist_take_descriptor_array
+#define nvlist_take_number             FreeBSD_nvlist_take_number
+#define nvlist_take_number_array       FreeBSD_nvlist_take_number_array
+#define nvlist_take_nvlist             FreeBSD_nvlist_take_nvlist
+#define nvlist_take_nvlist_array       FreeBSD_nvlist_take_nvlist_array
+#define nvlist_take_nvpair             FreeBSD_nvlist_take_nvpair
+#define nvlist_take_string             FreeBSD_nvlist_take_string
+#define nvlist_take_string_array       FreeBSD_nvlist_take_string_array
+#define nvlist_unpack                  FreeBSD_nvlist_unpack
+#define nvlist_unpack_header           FreeBSD_nvlist_unpack_header
+#define nvlist_xfer                    FreeBSD_nvlist_xfer
+#define nvpair_append_bool_array       FreeBSD_nvpair_append_bool_array
+#define nvpair_append_descriptor_array FreeBSD_nvpair_append_descriptor_array
+#define nvpair_append_number_array     FreeBSD_nvpair_append_number_array
+#define nvpair_append_nvlist_array     FreeBSD_nvpair_append_nvlist_array
+#define nvpair_append_string_array     FreeBSD_nvpair_append_string_array
+#define nvpair_assert                  FreeBSD_nvpair_assert
+#define nvpair_clone                   FreeBSD_nvpair_clone
+#define nvpair_create_binary           FreeBSD_nvpair_create_binary
+#define nvpair_create_bool             FreeBSD_nvpair_create_bool
+#define nvpair_create_bool_array       FreeBSD_nvpair_create_bool_array
+#define nvpair_create_descriptor       FreeBSD_nvpair_create_descriptor
+#define nvpair_create_descriptor_array FreeBSD_nvpair_create_descriptor_array
+#define nvpair_create_null             FreeBSD_nvpair_create_null
+#define nvpair_create_number           FreeBSD_nvpair_create_number
+#define nvpair_create_number_array     FreeBSD_nvpair_create_number_array
+#define nvpair_create_nvlist           FreeBSD_nvpair_create_nvlist
+#define nvpair_create_nvlist_array     FreeBSD_nvpair_create_nvlist_array
+#define nvpair_create_string           FreeBSD_nvpair_create_string
+#define nvpair_create_string_array     FreeBSD_nvpair_create_string_array
+#define nvpair_create_stringf          FreeBSD_nvpair_create_stringf
+#define nvpair_create_stringv          FreeBSD_nvpair_create_stringv
+#define nvpair_free                    FreeBSD_nvpair_free
+#define nvpair_free_structure          FreeBSD_nvpair_free_structure
+#define nvpair_get_binary              FreeBSD_nvpair_get_binary
+#define nvpair_get_bool                        FreeBSD_nvpair_get_bool
+#define nvpair_get_bool_array          FreeBSD_nvpair_get_bool_array
+#define nvpair_get_descriptor          FreeBSD_nvpair_get_descriptor
+#define nvpair_get_descriptor_array    FreeBSD_nvpair_get_descriptor_array
+#define nvpair_get_number              FreeBSD_nvpair_get_number
+#define nvpair_get_number_array                FreeBSD_nvpair_get_number_array
+#define nvpair_get_nvlist              FreeBSD_nvpair_get_nvlist
+#define nvpair_get_nvlist_array                FreeBSD_nvpair_get_nvlist_array
+#define nvpair_get_string              FreeBSD_nvpair_get_string
+#define nvpair_get_string_array                FreeBSD_nvpair_get_string_array
+#define nvpair_header_size             FreeBSD_nvpair_header_size
+#define nvpair_init_datasize           FreeBSD_nvpair_init_datasize
+#define nvpair_insert                  FreeBSD_nvpair_insert
+#define nvpair_move_binary             FreeBSD_nvpair_move_binary
+#define nvpair_move_bool_array         FreeBSD_nvpair_move_bool_array
+#define nvpair_move_descriptor         FreeBSD_nvpair_move_descriptor
+#define nvpair_move_descriptor_array   FreeBSD_nvpair_move_descriptor_array
+#define nvpair_move_number_array       FreeBSD_nvpair_move_number_array
+#define nvpair_move_nvlist             FreeBSD_nvpair_move_nvlist
+#define nvpair_move_nvlist_array       FreeBSD_nvpair_move_nvlist_array
+#define nvpair_move_string             FreeBSD_nvpair_move_string
+#define nvpair_move_string_array       FreeBSD_nvpair_move_string_array
+#define nvpair_name                    FreeBSD_nvpair_name
+#define nvpair_next                    FreeBSD_nvpair_next
+#define nvpair_nvlist                  FreeBSD_nvpair_nvlist
+#define nvpair_pack_binary             FreeBSD_nvpair_pack_binary
+#define nvpair_pack_bool               FreeBSD_nvpair_pack_bool
+#define nvpair_pack_bool_array         FreeBSD_nvpair_pack_bool_array
+#define nvpair_pack_descriptor         FreeBSD_nvpair_pack_descriptor
+#define nvpair_pack_descriptor_array   FreeBSD_nvpair_pack_descriptor_array
+#define nvpair_pack_header             FreeBSD_nvpair_pack_header
+#define nvpair_pack_null               FreeBSD_nvpair_pack_null
+#define nvpair_pack_number             FreeBSD_nvpair_pack_number
+#define nvpair_pack_number_array       FreeBSD_nvpair_pack_number_array
+#define nvpair_pack_nvlist_array_next  FreeBSD_nvpair_pack_nvlist_array_next
+#define nvpair_pack_nvlist_up          FreeBSD_nvpair_pack_nvlist_up
+#define nvpair_pack_string             FreeBSD_nvpair_pack_string
+#define nvpair_pack_string_array       FreeBSD_nvpair_pack_string_array
+#define nvpair_prev                    FreeBSD_nvpair_prev
+#define nvpair_remove                  FreeBSD_nvpair_remove
+#define nvpair_size                    FreeBSD_nvpair_size
+#define nvpair_type                    FreeBSD_nvpair_type
+#define nvpair_type_string             FreeBSD_nvpair_type_string
+#define nvpair_unpack                  FreeBSD_nvpair_unpack
+#define nvpair_unpack_binary           FreeBSD_nvpair_unpack_binary
+#define nvpair_unpack_bool             FreeBSD_nvpair_unpack_bool
+#define nvpair_unpack_bool_array       FreeBSD_nvpair_unpack_bool_array
+#define nvpair_unpack_descriptor       FreeBSD_nvpair_unpack_descriptor
+#define nvpair_unpack_descriptor_array FreeBSD_nvpair_unpack_descriptor_array
+#define nvpair_unpack_header           FreeBSD_nvpair_unpack_header
+#define nvpair_unpack_null             FreeBSD_nvpair_unpack_null
+#define nvpair_unpack_number           FreeBSD_nvpair_unpack_number
+#define nvpair_unpack_number_array     FreeBSD_nvpair_unpack_number_array
+#define nvpair_unpack_nvlist           FreeBSD_nvpair_unpack_nvlist
+#define nvpair_unpack_nvlist_array     FreeBSD_nvpair_unpack_nvlist_array
+#define nvpair_unpack_string           FreeBSD_nvpair_unpack_string
+#define nvpair_unpack_string_array     FreeBSD_nvpair_unpack_string_array
+
+#endif
diff --git a/tools/build/Makefile b/tools/build/Makefile
index 00f5e3e45337..49223f9d9d42 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -240,7 +240,7 @@ DISKINCS+=  ${SRCTOP}/sys/sys/disk/bsd.h
 
 # Needed to build config (since it uses libnv)
 SYSINCS+=      ${SRCTOP}/sys/sys/nv.h ${SRCTOP}/sys/sys/cnv.h \
-               ${SRCTOP}/sys/sys/dnv.h
+               ${SRCTOP}/sys/sys/dnv.h ${SRCTOP}/sys/sys/nv_namespace.h
 
 # Needed when bootstrapping ldd (since it uses DF_1_PIE)
 SYSINCS+=      ${SRCTOP}/sys/sys/elf32.h

Reply via email to