tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [PATCHES] graphics/gle fails in configure stage (table_noop_array undef'd)



On Thu 19 Apr 2018 at 22:28:48 +0200, Rhialto wrote:
> patch-src_mapi_entry__x86-64__tls.h:+   "cmoveq table_noop_array@GOTPCREL(%rip), %r11\n\t"    \
> patch-src_mapi_entry__x86__tls.h:+extern const mapi_func table_noop_array[];
> patch-src_mapi_entry__x86__tls.h:+   "movl table_noop_array@GOT(%eax), %eax\n\t" \
> patch-src_mapi_u__current.c:     = (struct mapi_table *) table_noop_array;
> patch-src_mapi_u__current.c:+   return (likely(u_current_table) ? u_current_table : (struct mapi_table *) table_noop_array);
> 
> by tnn on 26-Sep-15.
> 
> There is this PR from davshao: http://gnats.netbsd.org/51796 which
> refers to this symbol somehow.

I made some new patches by taking them from wip/MesaLib-dfbsd. They look
to form a subset of those in PR 51796 linked above. In principle, it
adds a table netbsd_table_noop_array used in the assembly code.
For some reason that works better than the old version.

New/changed patches are

patch-src_mapi_entry.c
patch-src_mapi_entry__x86-64__tls.h
patch-src_mapi_entry__x86__tls.h
patch-src_mapi_table.h

Unchanged (but given as context for understanding) is

patch-src_mapi_u__current.c

*****  /usr/pkgsrc/graphics/MesaLib/patches/patch-src_mapi_entry.c
$NetBSD$

For some reason the previously used table_noop_array has a link error.

HACK: Create new array of noop functions.
BUG: Using environment variable LIBGL_DEBUG=verbose causes
massive failure in keyboard input for a Radeon 6450 (CAICOS) card.

--- src/mapi/entry.c.orig	2016-11-10 22:05:17.000000000 +0000
+++ src/mapi/entry.c
@@ -41,6 +41,1609 @@
 #define ENTRY_CURRENT_TABLE_GET U_STRINGIFY(u_current_get_table_internal)
 #endif
 
+#if defined(__NetBSD__) && defined(GLX_USE_TLS)
+static int netbsd_noop_generic(void) {
+    return 0;
+}
+
+/*
+ * src/mapi/table.h defines
+ *    MAPI_TABLE_NUM_SLOTS to be 
+ *      MAPI_TABLE_NUM_STATIC + MAPI_TABLE_NUM_DYNAMIC
+ *       = 1330 + 256 = 1586 entries
+ * according to values from mapi/shared-glapi/glapi_mapi_tmp.h
+ */
+
+const mapi_func netbsd_table_noop_array[] = {
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic,
+    (mapi_func)netbsd_noop_generic
+};
+#endif /* defined(__NetBSD__) && defined(GLX_USE_TLS) */
+
 #if defined(USE_X86_ASM) && defined(__GNUC__)
 #   ifdef GLX_USE_TLS
 #      include "entry_x86_tls.h"
*****  /usr/pkgsrc/graphics/MesaLib/patches/patch-src_mapi_entry__x86-64__tls.h
$NetBSD: patch-src_mapi_entry__x86-64__tls.h,v 1.2 2015/09/26 08:45:02 tnn Exp $

NetBSD only supports zero-initialized initial-exec tls variables in conjuction
with dlopen(3) at the moment.

Fix --enable-glx-tls with clang. From FreeBSD.

HACK: Renamed non-linking table_noop_array to locally created
netbsd_table_noop_array.

--- src/mapi/entry_x86-64_tls.h.orig	2015-09-11 17:41:47.000000000 +0000
+++ src/mapi/entry_x86-64_tls.h
@@ -36,10 +36,19 @@ __asm__(".text\n"
    ".balign 32\n"                                        \
    func ":"
 
+#ifdef __NetBSD__
 #define STUB_ASM_CODE(slot)                              \
    "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t"  \
    "movq %fs:(%rax), %r11\n\t"                           \
+   "testq %r11, %r11\n\t"                                \
+   "cmoveq netbsd_table_noop_array@GOTPCREL(%rip), %r11\n\t"    \
    "jmp *(8 * " slot ")(%r11)"
+#else
+#define STUB_ASM_CODE(slot)                              \
+   "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t"  \
+   "movq %fs:(%rax), %r11\n\t"                           \
+   "jmp *(8 * " slot ")(%r11)"
+#endif
 
 #define MAPI_TMP_STUB_ASM_GCC
 #include "mapi_tmp.h"
@@ -61,8 +70,8 @@ entry_patch_public(void)
 {
 }
 
-static char
-x86_64_entry_start[];
+extern char
+x86_64_entry_start[] __attribute__((visibility("hidden")));
 
 mapi_func
 entry_get_public(int slot)
*****  /usr/pkgsrc/graphics/MesaLib/patches/patch-src_mapi_entry__x86__tls.h
$NetBSD: patch-src_mapi_entry__x86__tls.h,v 1.2 2015/09/26 08:45:02 tnn Exp $

NetBSD only supports zero-initialized initial-exec tls variables in conjuction
with dlopen(3) at the moment.

Fix --enable-glx-tls with clang. From FreeBSD.

HACK: Renamed non-linking table_noop_array to locally created
netbsd_table_noop_array.

--- src/mapi/entry_x86_tls.h.orig	2015-09-02 17:06:23.000000000 +0000
+++ src/mapi/entry_x86_tls.h
@@ -50,10 +50,27 @@ __asm__(".balign 16\n"
    ".balign 16\n"                \
    func ":"
 
+#ifdef __NetBSD__
+extern const mapi_func table_noop_array[];
 #define STUB_ASM_CODE(slot)      \
    "call x86_current_tls\n\t"    \
    "movl %gs:(%eax), %eax\n\t"   \
+   "testl %eax, %eax\n\t"        \
+   "je 1f\n\t"                   \
+   "jmp *(4 * " slot ")(%eax)\n\t" \
+   "1:\n\t"                      \
+   "call 2f\n"                   \
+   "2:\n\t"                      \
+   "popl %eax\n\t"               \
+   "addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %eax\n\t" \
+   "movl netbsd_table_noop_array@GOT(%eax), %eax\n\t" \
    "jmp *(4 * " slot ")(%eax)"
+#else
+#define STUB_ASM_CODE(slot)      \
+   "call x86_current_tls\n\t"    \
+   "movl %gs:(%eax), %eax\n\t"   \
+   "jmp *(4 * " slot ")(%eax)"
+#endif
 
 #define MAPI_TMP_STUB_ASM_GCC
 #include "mapi_tmp.h"
@@ -71,8 +88,8 @@ __asm__(".text");
 extern unsigned long
 x86_current_tls();
 
-static char x86_entry_start[];
-static char x86_entry_end[];
+extern char x86_entry_start[] __attribute__((visibility("hidden")));
+extern char x86_entry_end[] __attribute__((visibility("hidden")));
 
 void
 entry_patch_public(void)
*****  /usr/pkgsrc/graphics/MesaLib/patches/patch-src_mapi_table.h
$NetBSD$

--- src/mapi/table.h.orig	2016-11-10 22:05:17.000000000 +0000
+++ src/mapi/table.h
@@ -40,7 +40,9 @@
 struct mapi_table;
 
 extern const mapi_func table_noop_array[];
-
+#if defined(__NetBSD__) && defined(GLX_USE_TLS)
+extern const mapi_func netbsd_table_noop_array[];
+#endif
 
 typedef void (*nop_handler_proc)(const char *name);
 
*****  /usr/pkgsrc/graphics/MesaLib/patches/patch-src_mapi_u__current.c
$NetBSD: patch-src_mapi_u__current.c,v 1.1 2015/09/11 16:27:30 tnn Exp $

NetBSD only supports zero-initialized initial-exec tls variables in conjuction
with dlopen(3) at the moment.

--- src/mapi/u_current.c.orig	2015-09-02 17:06:23.000000000 +0000
+++ src/mapi/u_current.c
@@ -101,7 +101,11 @@ extern void (*__glapi_noop_table[])(void
 
 __thread struct mapi_table *u_current_table
     __attribute__((tls_model("initial-exec")))
+#if defined(__NetBSD__)
+    = NULL; /* non-zero initializers not supported with dlopen */
+#else
     = (struct mapi_table *) table_noop_array;
+#endif
 
 __thread void *u_current_context
     __attribute__((tls_model("initial-exec")));
@@ -283,7 +287,11 @@ struct mapi_table *
 u_current_get_table_internal(void)
 {
 #if defined(GLX_USE_TLS)
+#  if defined(__NetBSD__)
+   return (likely(u_current_table) ? u_current_table : (struct mapi_table *) table_noop_array);
+#  else
    return u_current_table;
+#  endif
 #else
    if (ThreadSafe)
       return (struct mapi_table *) tss_get(u_current_table_tsd);

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- Wayland: Those who don't understand X
\X/ rhialto/at/falu.nl      -- are condemned to reinvent it. Poorly.

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index