Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jul 2022 16:36:46 GMT
From:      Kristof Provost <kp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 000321bab7be - main - namespace nv names, version libnv and libnvpair library symbols
Message-ID:  <202207211636.26LGaknt034375@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kp:

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

commit 000321bab7bea3530408b960095a6ea241451175
Author:     Reid Linnemann <rlinnemann@netgate.com>
AuthorDate: 2022-05-17 19:49:41 +0000
Commit:     Kristof Provost <kp@FreeBSD.org>
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202207211636.26LGaknt034375>