NetBSD Problem Report #52492

From oster@fween.ca  Fri Aug 18 18:36:42 2017
Return-Path: <oster@fween.ca>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 2949B7A294
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 18 Aug 2017 18:36:42 +0000 (UTC)
Message-Id: <20170818171803.46616539D2F@thog.fween.ca>
Date: Fri, 18 Aug 2017 11:18:03 -0600 (CST)
From: oster@netbsd.org
Reply-To: oster@netbsd.org
To: gnats-bugs@NetBSD.org
Subject: netbsd-7 xsrc fails build with llvm
X-Send-Pr-Version: 3.95

>Number:         52492
>Category:       xsrc
>Synopsis:       netbsd-7 xsrc fails build with llvm
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    cjep
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 18 18:40:00 +0000 2017
>Closed-Date:    Thu May 20 14:37:36 +0000 2021
>Last-Modified:  Thu May 20 14:37:36 +0000 2021
>Originator:     Greg Oster
>Release:        NetBSD 7.1_STABLE
>Organization:
>Environment:


System: NetBSD thog 7.1_STABLE NetBSD 7.1_STABLE (THOG) #0: Mon Aug 14 09:33:54 CST 2017 oster@thog:/u1/builds/build160/src/obj/amd64/u1/builds/build160/src/sys/arch/amd64/compile/THOG amd64
Architecture: x86_64
Machine: amd64
>Description:


Attempting to build a LLVM-only build, with the following build options:

./build.sh -U -u -m amd64 -j 16 -V MKLLVM=yes -V MKGCC=no -V MKGCCCMDS=no -V HAVE_LLVM=yes -V MAKECONF=/u1/builds/mk.conf -D /u1/builds/build161/install/amd64 -R /u1/builds/build161/release -T /u1/builds/build161/tools/amd64 -X /u1/builds/build161/xsrc -x -M obj/amd64 release

resulted in the following errors, and a failed build:

#    create  pixman/pixman-gradient-walker.d
CC=/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-clang /u1/builds/build161/tools/amd64/bin/nbmkdep -f pixman-gradient-walker.d.tmp  -- -msse2 -mssse3 -mssse3 -fvisibility=hidden  -std=gnu99    --sysroot=/u1/builds/build161/install/amd64 -DUSE_SSE2 -DUSE_SSSE3 -DHAVE_CONFIG_H  -I/u1/builds/build161/xsrc/external/mit/pixman/dist/../include  -I/u1/builds/build161/xsrc/external/mit/pixman/dist/../combine  -I/u1/builds/build161/xsrc/external/mit/pixman/dist/pixman -DHAVE_PTHREAD_SETSPECIFIC  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/u1/builds/build161/install/amd64/usr/X11R7/include -D__AMD64__     /u1/builds/build161/xsrc/external/mit/pixman/dist/pixman/pixman-gradient-walker.c &&  mv pixman-gradient-walker.d.tmp pixman-gradient-walker.d
--- dependall-libdrm_nouveau ---
In file included from /u1/builds/build161/xsrc/external/mit/libdrm/dist/nouveau/private.h:6:
/u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:120:31: error: passing 'int *' to parameter of type 'volatile unsigned int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
        while (c != unless && (old = atomic_cmpxchg(v, c, c + add)) != c)
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:108:57: note: expanded from macro 'atomic_cmpxchg'
# define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv)
                                                        ^~~~~~~~~~~~
/u1/builds/build161/install/amd64/usr/include/sys/atomic.h:86:53: note: passing argument to parameter here
unsigned int    atomic_cas_uint(volatile unsigned int *, unsigned int,
                                                       ^
1 error generated.
*** [abi16.po] Error code 1
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_nouveau
--- dependall-libxcb ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -x  bigreq.pico
A failure has been detected in another branch of the parallel make
nbmake[9]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libxcb/libxcb
*** [dependall] Error code 2
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libxcb/libxcb
1 error
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libxcb/libxcb
*** [dependall-libxcb] Error code 2
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libxcb
1 error
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libxcb
*** [dependall-libxcb] Error code 2
nbmake[6]: stopped in /u1/builds/build161/src/external/mit/xorg/lib
--- dependall-libdrm_nouveau ---
--- abi16.pico ---
In file included from /u1/builds/build161/xsrc/external/mit/libdrm/dist/nouveau/abi16.c:33:
In file included from /u1/builds/build161/xsrc/external/mit/libdrm/dist/nouveau/private.h:6:
/u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:120:31: error: passing 'int *' to parameter of type 'volatile unsigned int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
        while (c != unless && (old = atomic_cmpxchg(v, c, c + add)) != c)
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:108:57: note: expanded from macro 'atomic_cmpxchg'
# define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv)
                                                        ^~~~~~~~~~~~
/u1/builds/build161/install/amd64/usr/include/sys/atomic.h:86:53: note: passing argument to parameter here
unsigned int    atomic_cas_uint(volatile unsigned int *, unsigned int,
                                                       ^
1 error generated.
*** [abi16.pico] Error code 1
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_nouveau
--- bufctx.pico ---
#   compile  libdrm_nouveau/bufctx.pico
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-clang -O2 -pipe  -std=gnu99    -Werror   -fno-strict-aliasing  --sysroot=/u1/builds/build161/install/amd64 -I/u1/builds/build161/install/amd64/usr/X11R7/include/libdrm -I/u1/builds/build161/install/amd64/usr/X11R7/include/X11 -I/u1/builds/build161/xsrc/external/mit/libdrm/dist -DHAVE_INTTYPES_H  -DHAVE_RADEON  -DHAVE_SETENV  -DHAVE_STDINT_H  -DHAVE_STRINGS_H  -DHAVE_STRING_H   -DHAVE_SYS_STAT_H  -DHAVE_SYS_TYPES_H  -DHAVE_UNISTD_H  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/u1/builds/build161/install/amd64/usr/X11R7/include -D__AMD64__ -c    -fPIC /u1/builds/build161/xsrc/external/mit/libdrm/dist/nouveau/bufctx.c -o bufctx.pico
--- dependall-xkeyboard-config ---
#    create  symbols/symbols.dir
rm -f symbols.dir
(cd /u1/builds/build161/xsrc/external/mit/xkeyboard-config/dist/symbols && /u1/builds/build161/src/obj/amd64/u1/builds/build161/src/external/mit/xorg/tools/xkbcomp/xkbcomp -lfhlpR -o /u1/builds/build161/src/obj/amd64/u1/builds/build161/src/external/mit/xorg/lib/xkeyboard-config/symbols/symbols.dir '*')
--- dependall-libdrm_radeon ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -x  bof.pico
A failure has been detected in another branch of the parallel make
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_radeon
*** [dependall] Error code 2
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_radeon
1 error
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_radeon
*** [dependall-libdrm_radeon] Error code 2
nbmake[6]: stopped in /u1/builds/build161/src/external/mit/xorg/lib
--- dependall-pixman ---
A failure has been detected in another branch of the parallel make
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/pixman
*** [dependall-pixman] Error code 2
nbmake[6]: stopped in /u1/builds/build161/src/external/mit/xorg/lib
--- dependall-xkeyboard-config ---
A failure has been detected in another branch of the parallel make
nbmake[9]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/xkeyboard-config/symbols
*** [dependall] Error code 2
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/xkeyboard-config/symbols
1 error
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/xkeyboard-config/symbols
*** [dependall-symbols] Error code 2
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/xkeyboard-config
1 error
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/xkeyboard-config
*** [dependall-xkeyboard-config] Error code 2
nbmake[6]: stopped in /u1/builds/build161/src/external/mit/xorg/lib
--- dependall-libdrm_intel ---
--- intel_bufmgr_fake.po ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -X  intel_bufmgr_fake.po
--- dependall-libdrm_nouveau ---
In file included from /u1/builds/build161/xsrc/external/mit/libdrm/dist/nouveau/bufctx.c:39:
In file included from /u1/builds/build161/xsrc/external/mit/libdrm/dist/nouveau/private.h:6:
/u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:120:31: error: passing 'int *' to parameter of type 'volatile unsigned int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
        while (c != unless && (old = atomic_cmpxchg(v, c, c + add)) != c)
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:108:57: note: expanded from macro 'atomic_cmpxchg'
# define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv)
                                                        ^~~~~~~~~~~~
/u1/builds/build161/install/amd64/usr/include/sys/atomic.h:86:53: note: passing argument to parameter here
unsigned int    atomic_cas_uint(volatile unsigned int *, unsigned int,
                                                       ^
1 error generated.
*** [bufctx.pico] Error code 1
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_nouveau
3 errors
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_nouveau
*** [dependall] Error code 2
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_nouveau
1 error
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_nouveau
*** [dependall-libdrm_nouveau] Error code 2
nbmake[6]: stopped in /u1/builds/build161/src/external/mit/xorg/lib
--- dependall-libdrm_intel ---
--- intel_bufmgr.o ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -x  intel_bufmgr.o
--- intel_bufmgr_fake.o ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -x  intel_bufmgr_fake.o
--- intel_bufmgr_gem.pico ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -x  intel_bufmgr_gem.pico
--- intel_bufmgr_gem.po ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -X  intel_bufmgr_gem.po
--- intel_bufmgr_gem.o ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -x  intel_bufmgr_gem.o
--- intel_decode.po ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -X  intel_decode.po
--- intel_decode.pico ---
/u1/builds/build161/tools/amd64/bin/x86_64--netbsd-objcopy -x  intel_decode.pico
A failure has been detected in another branch of the parallel make
nbmake[8]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_intel
*** [dependall] Error code 2
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_intel
1 error
nbmake[7]: stopped in /u1/builds/build161/src/external/mit/xorg/lib/libdrm_intel
*** [dependall-libdrm_intel] Error code 2
nbmake[6]: stopped in /u1/builds/build161/src/external/mit/xorg/lib
6 errors
nbmake[6]: stopped in /u1/builds/build161/src/external/mit/xorg/lib
*** Failed target:  do-lib
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="external/mit/xorg/"; real="/u1/builds/build161/src/external/mit/xorg" ;; *) this="external/mit/xorg/${dir}/"; real="/u1/builds/build161/src/external/mit/xorg/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /u1/builds/build161/tools/amd64/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget lib dependall
*** Error code 2
Stop.
nbmake[5]: stopped in /u1/builds/build161/src/external/mit/xorg
*** [build] Error code 1
nbmake[4]: stopped in /u1/builds/build161/src/external/mit/xorg
1 error
nbmake[4]: stopped in /u1/builds/build161/src/external/mit/xorg
*** [do-x11] Error code 2
nbmake[3]: stopped in /u1/builds/build161/src
1 error
nbmake[3]: stopped in /u1/builds/build161/src
*** [build] Error code 2
nbmake[2]: stopped in /u1/builds/build161/src
1 error
nbmake[2]: stopped in /u1/builds/build161/src
*** [distribution] Error code 2
nbmake[1]: stopped in /u1/builds/build161/src
1 error
nbmake[1]: stopped in /u1/builds/build161/src
*** [release] Error code 2

nbmake: stopped in /u1/builds/build161/src

nbmake: stopped in /u1/builds/build161/src

>How-To-Repeat:
  extract netbsd-7 sources, and then:
  ./build.sh -U -u -m amd64 -j 16 -V MKLLVM=yes -V MKGCC=no -V MKGCCCMDS=no -V HAVE_LLVM=yes -V MAKECONF=/u1/builds/mk.conf -D /u1/builds/build161/install/amd64 -R /u1/builds/build161/release -T /u1/builds/build161/tools/amd64 -X /u1/builds/build161/xsrc -x -M obj/amd64 release

>Fix:
   please :)

>Release-Note:

>Audit-Trail:
From: Greg Oster <oster@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: xsrc/52492: netbsd-7 xsrc fails build with llvm
Date: Fri, 18 Aug 2017 17:13:29 -0600

 On Fri, 18 Aug 2017 18:40:00 +0000 (UTC)
 oster@netbsd.org wrote:

 > from /u1/builds/build161/xsrc/external/mit/libdrm/dist/nouveau/private.h:6: /u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:120:31:
 > error: passing 'int *' to parameter of type 'volatile unsigned int *'
 > converts between pointers to integer types with different sign
 > [-Werror,-Wpointer-sign] while (c != unless && (old =
 > atomic_cmpxchg(v, c, c + add)) != c)
 > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /u1/builds/build161/xsrc/external/mit/libdrm/dist/xf86atomic.h:108:57:
 > note: expanded from macro 'atomic_cmpxchg' # define atomic_cmpxchg(x,
 > oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv)
 > ^~~~~~~~~~~~ /u1/builds/build161/install/amd64/usr/include/sys/atomic.h:86:53:
 > note: passing argument to parameter here unsigned int
 > atomic_cas_uint(volatile unsigned int *, unsigned int, ^ 1 error
 > generated. *** 

 Thanks to mrg, I discovered that rev 1.9 (-current) of xf86atomic.h
 fixes the above issue.  Continuing on with rev 1.9, I then get to this
 point.

 In file included
 from /u1/builds/build161/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h:26: /u1/builds/build161/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/nouveau/codegen/nv50_ir.h:32:10:
 fatal error: 'tr1/unordered_set' file not found #include
 <tr1/unordered_set> ^
 1 error generated.
 nbmkdep: compile failed.

 Not sure what the right fix is, other than 'grab newer sources'.  

 -current xsrc seems to work much better, but I end up with this:

 ...
 --- includes-libXau ---
 /u1/builds/build162/tools/amd64/bin/x86_64--netbsd-install -U
 -M /u1/builds/build162/install/amd64/METALOG
 -D /u1/builds/build162/install/amd64 -h sha256
 -N /u1/builds/build162/src/etc -c -p -r -c -o root -g wheel  -m
 444 /u1/builds/build162/xsrc/external/mit/libXau/dist/include/X11/Xauth.h /u1/builds/build162/install/amd64/usr/X11R7/include/X11/Xauth.h
 --- includes-freetype --- nbmake[8]: nbmake[8]: don't know how to make
 freetype.h. Stop nbmake[8]: stopped
 in /u1/builds/build162/src/external/mit/xorg/lib/freetype/freetype ***
 [includes-freetype] Error code 2 nbmake[7]: stopped
 in /u1/builds/build162/src/external/mit/xorg/lib/freetype 1 error
 ...


 Later...

 Greg Oster

From: coypu@sdf.org
To: gnats-bugs@netbsd.org
Cc: oster@netbsd.org
Subject: Re: xsrc/52492: netbsd-7 xsrc fails build with llvm
Date: Sat, 19 Aug 2017 02:15:04 +0000

 Does it have <unordered_set>?
 If not, we can't fix it.

From: Greg Oster <oster@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: xsrc/52492: netbsd-7 xsrc fails build with llvm
Date: Sat, 19 Aug 2017 11:13:14 -0600

 On Sat, 19 Aug 2017 02:20:01 +0000 (UTC)
 coypu@sdf.org wrote:

 > The following reply was made to PR xsrc/52492; it has been noted by
 > GNATS.
 > 
 > From: coypu@sdf.org
 > To: gnats-bugs@netbsd.org
 > Cc: oster@netbsd.org
 > Subject: Re: xsrc/52492: netbsd-7 xsrc fails build with llvm
 > Date: Sat, 19 Aug 2017 02:15:04 +0000
 > 
 >  Does it have <unordered_set>?
 >  If not, we can't fix it.
 >  

 Yes. For llvm, the 'unordered_set' bits live here:

  src/external/bsd/libc++/dist/libcxx/include/unordered_set



 Later...

 Greg Oster

From: Joerg Sonnenberger <joerg@bec.de>
To: gnats-bugs@NetBSD.org
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,
	oster@netbsd.org
Subject: Re: xsrc/52492: netbsd-7 xsrc fails build with llvm
Date: Sat, 19 Aug 2017 19:22:41 +0200

 On Sat, Aug 19, 2017 at 05:15:01PM +0000, Greg Oster wrote:
 >  Yes. For llvm, the 'unordered_set' bits live here:
 >  
 >   src/external/bsd/libc++/dist/libcxx/include/unordered_set

 Nothing should ever use TR1. I have no idea what sources you are using,
 current certainly doesn't have any include of tr1/unordered_set in that
 file. Sorry, personally I have no idea to track issues with xsrc on
 netbsd-7.

 Joerg

From: Greg Oster <oster@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: xsrc/52492: netbsd-7 xsrc fails build with llvm
Date: Sat, 19 Aug 2017 19:28:01 -0600

 On Sat, 19 Aug 2017 17:25:00 +0000 (UTC)
 Joerg Sonnenberger <joerg@bec.de> wrote:

 > The following reply was made to PR xsrc/52492; it has been noted by
 > GNATS.
 > 
 > From: Joerg Sonnenberger <joerg@bec.de>
 > To: gnats-bugs@NetBSD.org
 > Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
 > netbsd-bugs@netbsd.org, oster@netbsd.org
 > Subject: Re: xsrc/52492: netbsd-7 xsrc fails build with llvm
 > Date: Sat, 19 Aug 2017 19:22:41 +0200
 > 
 >  On Sat, Aug 19, 2017 at 05:15:01PM +0000, Greg Oster wrote:
 >  >  Yes. For llvm, the 'unordered_set' bits live here:
 >  >  
 >  >   src/external/bsd/libc++/dist/libcxx/include/unordered_set  
 >  
 >  Nothing should ever use TR1. I have no idea what sources you are
 > using, 

 Just a checkout of xsrc with the netbsd-7 tag.

 > current certainly doesn't have any include of
 > tr1/unordered_set in that file. Sorry, personally I have no idea to
 > track issues with xsrc on netbsd-7.

 For the record: building netbsd-8 src with netbsd-8 tagged xsrc builds
 fine both with gcc and with llvm.

 Later...

 Greg Oster

Responsible-Changed-From-To: xsrc-manager->cjep
Responsible-Changed-By: cjep@NetBSD.org
Responsible-Changed-When: Sat, 08 May 2021 16:32:45 +0000
Responsible-Changed-Why:
Cleaning up old PRs.


State-Changed-From-To: open->feedback
State-Changed-By: cjep@NetBSD.org
State-Changed-When: Sat, 08 May 2021 16:32:45 +0000
State-Changed-Why:
I'm going to close this on the basis that it relates to an old release of 
NetBSD and since 8, the problem appears to be fixed. I'll put this in 
feedback in case the originator objects.


State-Changed-From-To: feedback->closed
State-Changed-By: oster@NetBSD.org
State-Changed-When: Thu, 20 May 2021 14:37:36 +0000
State-Changed-Why:
Originator does not object, and is surprised this ticket was still open. :)
Thanks.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.