Home | History | Annotate | only in /src/tools
History log of /src/tools
RevisionDateAuthorComments
 1.232 27-May-2025  christos Wait for the library to be built before trying to build the tool that needs it.
 1.231 24-May-2025  rillig tools/Makefile: install nbdate after nbinstall

Without this barrier, a parallel build fails due to the missing
nbinstall tool. The parallel build is not yet activated, that needs to
be done in <bsd.buildinstall.mk>. There, the build_install target is
currently run in (serial) compat mode, as its commands neither include
the magic word "make" nor the magic expression "${MAKE}".
 1.230 12-Apr-2025  rin tools/Makefile: Add missing `\` for previous
 1.229 12-Apr-2025  rin tools: Add what(1); not mandatory, but provides good diagnostics
 1.228 12-Apr-2025  rin tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.

Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.
 1.227 23-Oct-2024  kalvisd Add mopcopy as a build tool for the VAX port.

OK rin@
 1.226 15-Sep-2024  tsutsui Move macppc bootable installcd stuff to sys/arch/macppc/stand dirs.

- move installboot (for CD ISO) and mkboothfs (for mkhybrid(8)) tools to
sys/arch/macppc/stand
- also build mkboothfs as ${TOOL_MACPPCMKBOOTHFS} in src/tools
- explicitly generate boothfs file (for mkhybrid(8)) in
sys/arch/macppc/stand/boothfs and install it into /usr/mdec
- use installed /usr/mdec/boothfs to create macppc bootable iso
- move list files for mkhybrid(8) hfs options to etc/etc.macppc
 1.225 18-Aug-2024  christos remove maketab
 1.224 17-Aug-2024  christos Add maketab tool and adjust for new awk
 1.223 10-Aug-2024  mrg introduce a way to build GCC without the isl library

if NOGCCISL is set, don't build or link against isl. should fix PR#58505.
 1.222 08-Jun-2024  tsutsui branches: 1.222.2;
Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.

Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
 1.221 31-May-2024  tsutsui Build mkhybrid as a build tool.
 1.220 23-May-2024  gutteridge Add mkubootimage to riscv tools
 1.219 01-Apr-2024  christos hook gzip to the build so that we can test it in other OS's. Not used yet.
 1.218 30-Mar-2024  riastradh tools/elftoolchain: Handle dependencies properly.

This should properly resolve the problem christos was trying to
address by a bogus make includes hack and #ifdefs in elftoolchain.
 1.217 27-Mar-2024  rillig tools/Makefile: clean up TOOLDIR validation

At the point where tools/Makefile is loaded, TOOLDIR doesn't have to
exist yet, it will be created later. Remove the redundant quotes from
the .error messages.
 1.216 23-Feb-2024  mrg build isl tool for GCC 12.
 1.215 30-Nov-2023  rin tools/Makefile: Correct inverted comment. NFC
 1.214 18-Apr-2022  jkoshy branches: 1.214.2;
Disconnect 'tools/lib{elf,dwarf}' from the build.

These libraries are now built by 'tools/elftoolchain/lib{elf,dwarf}'
respectively.
 1.213 13-Apr-2022  jkoshy When building tools use a dedicated subdirectory for compiling
Elftoolchain code.

Build and install <sys/elfdefinitions.h> in ${TOOLDIR}/include.

This change prepares the ground for upgrading libelf and libdwarf to
their current Elftoolchain versions.
 1.212 14-Nov-2021  skrll Make dtc on riscv
 1.211 27-May-2021  cjep If we are building date earlier, we need to use an uninstalled copy
of host-mkdep and libnbcompat otherwise the build process looks for
tools that might not be there yet (e.g. fresh build).
Reviewed by martin.
 1.210 26-May-2021  christos Add a date tool
 1.209 06-May-2021  rin branches: 1.209.2;
PR port-mvme68k/56146

Build wrtvid as tools.
 1.208 25-Apr-2021  christos Make mips-elf2ecoff available for all mips
 1.207 06-Feb-2021  dbj tools: allow MKCROSSGDB to work when not building gcc
 1.206 28-Jul-2020  uwe Build mkubootimage for evbsh3 too.
 1.205 11-Nov-2019  joerg Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.204 26-Sep-2019  bad Exclude more subdirs if TOOLS_BUILDRUMP=yes.

Exclude subdirs added in the last 3 years but not need for rumpkernel builds.
 1.203 07-May-2019  hannken Fix build, "pax" must be built before "libprop".

Ok: Matthew Green mrg@
 1.202 07-May-2019  thorpej Add support for libprop as a host tool library.
 1.201 03-Apr-2019  joerg Add MKLLVMRT to build a subset of the LLVM stack for JIT purposes.
Hook up AMDGPU backend for clang.
 1.200 03-Apr-2019  joerg Revert MKLLVMCMDS changes.
 1.199 20-Mar-2019  mrg split MKLLVM into MKLLVM and MKLLVMCMDS, like MKGCC and MKGCCCMDS:

- only build clang or clang-tblgen if MKLLVMCMDS != "no"
- move HAVE_MESA_VER earlier so we can detect mesa 18 and enable
MKLLVM on platforms that need it
- move the clang commands and headers into llvmcmds group
- only build the clang specific LLVM libraries if MKLLVMCMDS != "no"

much of this work came from maya@'s github commit
f90685c11d4460d3098fa35f48b58d1893e974e0, reworked for HAVE_MESA_VER
and llvmcmds vs MKCLANG.


build tested on several platforms and on amd64 and i386 with several
different build options (clang build, gcc build, gcc build with llvm
libs).
 1.198 02-Jan-2019  christos use MACHINE_CPU for elf2aout
 1.197 31-Dec-2018  christos Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.196 25-Sep-2018  joerg Update build glue for xz-5.2.4. Hook up tools version.
 1.195 11-Aug-2018  christos hook in the tools version of grep
 1.194 09-May-2018  joerg branches: 1.194.2;
For EXTERNAL_TOOLCHAIN, MKLLVM=yes needs to build only tablegen.
 1.193 18-Feb-2018  uwe branches: 1.193.2;
Fix .endif comment for TOOLS_BUILDRUMP
 1.192 27-Dec-2017  christos Better EXTERNAL_TOOLCHAIN support from Zachary McGrew
- Allow mdsetimage and dbsym to be built with EXTERNAL_TOOLCHAIN
- Allow BFDDIR and IBERTYDIR to be overwritten for mdsetimage and dbsym
 1.191 07-Jun-2017  skrll branches: 1.191.2;
Hook in dtc/libfdt now that it builds for me
 1.190 06-Jun-2017  skrll Disable dtc/libfdt for now
 1.189 05-Jun-2017  christos No need to set dtc twice.
 1.188 05-Jun-2017  christos Add dtc
 1.187 11-Jan-2017  joerg branches: 1.187.6;
Sync tools build glue with LLVM pre-4.0.0.
 1.186 24-Jan-2016  christos branches: 1.186.2;
move cvslatest last
 1.185 24-Jan-2016  christos Tool version
 1.184 19-Dec-2015  christos move sortinfo after pax
 1.183 18-Dec-2015  christos Add sortinfo
 1.182 23-Jul-2015  mrg remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)
 1.181 24-Jun-2015  matt Support building the xorg X11 libraries under MKCOMPAT.
Add XORG_MACHINE_ARCH to compat's bsd.*.mk
Turn xorg makekeys and makestrs into real host tools which are installed into
${TOOLSDIR}
 1.180 07-Jan-2015  joerg Reorganise the way xorg is build. Move build of makestrs into src/tools
as it is needed for the "includes" phase. Make it symlink all necessary
headers in obj to decouple it from "includes" itself, breaking the
dependency cycle. Move the do-x11 target between do-lib and do-build, so
that libraries can get the benefit of build_install (correct .WAIT
behavior) and everything else like "includes" uses the plain SUBDIR
entry in external/mit.
 1.179 05-Dec-2014  pooka build genassym for TOOLS_BUILDRUMP
 1.178 30-Sep-2014  christos add gpt
 1.177 10-Aug-2014  matt Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only. While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
 1.176 15-Jul-2014  christos descend to vgrind
 1.175 15-Jun-2014  pooka Add cat, rpcgen and stat to TOOLS_BUILDRUMP. They're useful for
installing headers for the app stack cases that need it done, and small
enough to not matter for the kernel-only cases that don't.
 1.174 14-Jun-2014  mrg remove remaining makefile support for GCC < 45 that i found.
 1.173 03-Apr-2014  riastradh branches: 1.173.2;
ctfconvert/ctfmerge need libdwarf &c., so build them if MKCTF=yes.
 1.172 25-Mar-2014  ozaki-r Add MKCTF

This variable separates CTF stuffs from MKDTRACE; we can build DTrace
solely without building and using them. This allows us to use DTrace
even if CTF stuffs have problems (actually they have now).

This variable would be merged into MKDTRACE eventually, once CTF stuffs
work correctly again.
 1.171 24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.170 02-Sep-2013  joerg Update LLVM/Clang snapshot to r189662. This includes many improvements
to the new SLP vectorizer, fast codegen support for PPC and using
terminfo for the color sequences. In addition, add (optional) build
infrastructure for lld to allow easier testing. This is controlled by
MKLLD.
 1.169 19-Jul-2013  matt Even if we aren't making a crossgdb still make the object dir for it.
 1.168 27-Feb-2013  joerg branches: 1.168.4;
Add infrastructure for building MCLinker.
 1.167 05-Feb-2013  matt There are other little endian arm machine_arches other than "arm"
Use MACHINE_CPU and TARGET_ENDIANNESS instead of MACHINE_ARCH
 1.166 31-Jan-2013  pooka Use TOOLS_BUILDRUMP=yes to restrict building of tools to those required
for building rump kernels. This cuts down the NetBSD source tree required
by buildrump.sh to a fraction and addresses a size/download time concern
from a person packaging rump kernels for Linux.

No change to the normal case (tested with several -j32/-j64 builds).

reviewed by apb
 1.165 02-Dec-2012  apb Make tools/Makefile build host-mkdep, compat, and binstall in that order,
before installing any of them. It installs them in any order relative
to each other. The .WAIT points that used to be between these three
tools are replaced by .ORDER and dependencies.

This is needed in preparation for making tools/compat install
some files into TOOLDIR.
 1.164 02-Dec-2012  apb TOOLDIR must be valid, unless MKTOOLS=no.
Add tests and .error directives to enforce this.
 1.163 02-Dec-2012  apb If tools are not wanted, then set SUBDIR= empty instead of
defining all the subdir-related targets to do nothing. This way,
the targets are not invoked at all, instead of being invoked but
doing nothing.
 1.162 02-Dec-2012  apb remove trailing white space
 1.161 27-Nov-2012  jkunz According to the i.MX23 Reference Manual section 3.1, Page 3-3:
"The i.MX23 always operates in litle-endian mode."
So build elftosb and bootloader for this processor only for evbarm(-el).
 1.160 26-Nov-2012  pooka Build gmake iff we're going to need it.
 1.159 15-Nov-2012  joerg Move the build_install logic from lib/Makefile into share/mk and re-use
it for tools. The existing logic broke for the LLVM build with the
recent .ORDER changes in make.
 1.158 15-Nov-2012  jkunz Add elftosb tools to evbarm userland and toolchain.
Elftosb is used to create a digitaly signed "secure boot" file.
This sb file can be booted by the first stage boot loader found in
Freescale i.MX23 and i.MX28 application processors.

Copyright (c) 2004-2010 Freescale Semiconductor, Inc.
 1.157 20-Sep-2012  pooka fix EXTERNAL_TOOLCHAIN build
 1.156 10-Aug-2012  joerg branches: 1.156.2;
Decouple binutils build from HAVE_GCC. Merge common fragments of
HAVE_GCC and HAVE_PCC.
 1.155 03-Nov-2011  joerg Revert .WAIT removal and add comment why it is needed between *tblgen.
 1.154 02-Nov-2011  njoly Do not build tic more than once
 1.153 02-Nov-2011  christos move tic later, after all the tools it needs are built.
 1.152 02-Nov-2011  yamt tweak dependencies for tic, which needs nbperf, awk, and sed.
 1.151 01-Nov-2011  joerg branches: 1.151.2;
Remove an unnecessary .WAIT between llvm-tblgen and clang-tblgen.
 1.150 01-Nov-2011  joerg Hook up nbperf into the normal tool build.
 1.149 11-Oct-2011  joerg Update LLVM/Clang snapshot to r141658. This primarily fixes a regression
preventing Qt4 from building.
 1.148 16-Jul-2011  tsutsui Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.147 10-Jul-2011  mrg install elf2ecoff for all mips64 systems. it's needed for stand.
 1.146 21-Jun-2011  mrg always build gmake if HAVE_GCC.
build gmp, mpfr and then mpc if HAVE_GCC >= 45.
 1.145 15-Apr-2011  elric branches: 1.145.2;
Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
to crypto/external/bsd/heimdal. The latter was just imported as the head
of the Heimdal tree as of a few days ago.
 1.144 17-Mar-2011  riz .WAIT for makefs, because in most builds, it's the first target
which includes Makefile.nbincludes, whose beforedepend: has
some race condition I don't fully understand, and which has been
causing many (but not all!) -j16 builds on the autobuild cluster
to fail in tools since sometime between 201103061600 and 201103070900.

With the proper voodoo, I was able to get 8 builds in a row to fail
without this change, and 16 in a row to succeed with it.

XXX a proper fix likely involves reworking the beforedepend: target
of Makefile.nbincludes, but this should get the build cluster back up
to full functionality in the meanwhile.
 1.143 25-Feb-2011  phx mkubootimage is certainly useful for sandpoint
 1.142 06-Feb-2011  joerg Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.141 31-Jan-2011  matt Make mkubootimage for evbmips and evbppc too.
 1.140 15-Aug-2010  mrg branches: 1.140.2;
add new option to build/use tools/pigz for compressing sets. for now
USE_PIGZGZIP defaults to "no". (it depends upon local <pthread.h> and -lz.)

you can set it to "yes" on most modern platforms just fine.
 1.139 18-Jun-2010  jmcneill hook mkubootimage into the build
 1.138 04-Jun-2010  jmmv Bye bye atf-compile, you won't be missed.
 1.137 02-Mar-2010  darran DTrace: add libelf, libdwarf, libctf, and CTF tools to the toolchain,
built when MKDTRACE=yes.
 1.136 20-Feb-2010  joerg Build mandoc unconditional if man pages are desirable. All
compatibility issues are supposed to be sorted out.
Build groff conditionally on MKGROFF. It is currently the only component
that requires C++.
 1.135 03-Feb-2010  roy Store our generated files in CVS and remove nbperf from the toolchain.
This allows us to build consistent libs without an ever changing hash.
 1.134 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.133 29-Dec-2009  he To unbreak the build, temporarily remove the build of libelf here,
since no other part of the build depends on this yet.

Suggested as a temporary workaround by thorpej@
 1.132 23-Dec-2009  mrg rework the main SUBDIR list here as suggested by enami. put .WAIT on
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
 1.131 21-Dec-2009  mrg move the build of pax before libelf. fixes my build of tools/libelf,
though i didn't look to see why libelf needs pax.
 1.130 21-Dec-2009  thorpej Add support for building libelf in a host-tool environment.

XXX Makefile.disklabel is really mis-named, but I'm not going to tackle
that problem right now.
 1.129 29-Oct-2009  christos Give m4 its own .WAIT. Fixes build issue on NetBSD-5.
 1.128 23-Oct-2009  joerg Add MKMANDOC option to trigger building cat pages and HTML pages with
mdocml. Add a lintmanpages target for developers to check man pages
with the strictest settings of mandoc.
 1.127 25-Feb-2009  sketch Disable grep host tool and unbreak NetBSD build until I can come up with a
clean fix.
 1.126 25-Feb-2009  sketch Make grep a host tool.
 1.125 14-Feb-2009  abs Convert more MACHINE tests to MACHINE_ARCH
 1.124 25-Oct-2008  apb branches: 1.124.4; 1.124.8; 1.124.12;
Build sed earlier, just after mktemp. Note that sed and mktemp do not
depend on each other, but the .WAIT is needed to get them both installed
before the remainder of the tools build.
 1.123 25-Oct-2008  apb Remove the local handling of the NOSUBDIR variable. We can rely
on bsd.subdir.mk's handling of the NOSUBDIR variable.

Also add some comment to .if/.else/.endif and .for/.endfor lines.
 1.122 19-Oct-2008  apb Add awk as a host tool.
 1.121 13-Oct-2008  dyoung Per uwe@'s suggestion, build nbgroff under wider circumstances.
I choose to build it if MKDOC != no or if MKHTML != no. It used
to be built only when MKMAN != no.
 1.120 05-Oct-2008  apb Add a .WAIT to ensure that sed is installed early, so that TOOL_SED can
be used during the build of other tools.
 1.119 26-Sep-2008  apb Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
 1.118 24-Aug-2008  gmcgarry Build pcc as host tool if requested.
 1.117 26-May-2008  he Remove references to bebox-elf2pef and bebox-mkbootimage, now that they
have been integrated in common powerpc tools and subsequently removed.
 1.116 30-Apr-2008  garbled branches: 1.116.2;
Build powerpc-mkbootimage for rs6000 and bebox too.
 1.115 30-Apr-2008  garbled Convert prep to use the new unified mkbootimage rather than it's own. This
mkbootimage can be shared by prep, rs6000, and bebox.

TODO: Convert bebox to use this. Needs someone to test.
 1.114 12-Nov-2007  jmmv branches: 1.114.6;
Add the atf host tools

This adds reachover Makefiles to build the atf tools required during a
cross-build.
 1.113 14-Jan-2007  apb branches: 1.113.4;
Build join(1) as a host tool.
 1.112 20-Dec-2006  agc A commit too far - don't try to build veriexecgen for just now
 1.111 19-Dec-2006  agc Build veriexecgen as a host tool
 1.110 22-Nov-2006  riz Make sys/exec_elf.h and machine/elf_machdep.h available to host
tools, and allow paxctl to use them when compiled as a host
tool. This fixes the build on MacOS X (and perhaps other platforms)
 1.109 17-Nov-2006  dsl Add some notes about the bogosity of some of the .WAIT stuff.
Remove a 'never had a sane effect' .WAIT from a .ORDER line.
Don't add a (probably incorrect) dependency for 'make install' since
it contradicts a .ORDER line elsewhere when .ORDER applies recursively
to child nodes.
I also think that the stuff that tries to add dependencies between
the stuff that bsd.subdir.mk generates does not DTRT at all.
I suspect that build.sh builds things in an order that avoids issues here.
 1.108 10-Nov-2006  christos Add paxctl as a tool.
 1.107 08-Oct-2006  apb If PREVIOUSTOOLDIR was empty, then don't complain that it has moved.

Patch from Jukka Salmi in PR 33095.
 1.106 03-Aug-2006  freza * Fix parallel build race condition between real{all,depend} and
<bsd.subdir.mk> targets.
* No need to pass TOOLDIR to recursive cleandir in real{all,depend}.

With help from he@.
OK by tron@.
 1.105 03-Aug-2006  tron Another attempt to fix the race in parallel builds.
 1.104 19-Jul-2006  tron Invoking "make cleandir" with "PREVIOUSTOOLDIR" set to the previous
location will not stop recursive "make cleandir" calls. Pass the new
location instead.
 1.103 18-Jul-2006  lukem gettext should .WAIT for autoconf.
(The former still doesn't seem to work on read-only source; separate issue)
 1.102 17-Jul-2006  tron Avoid getting into a loop of "make cleandir" instances if the location
tool directory has been changed or wasn't recorded before.
 1.101 17-Jul-2006  tron Remove ".WAIT" again because it doesn't fix the problem.
 1.100 12-Jul-2006  tron Add an extra ".WAIT" to the "realall realdepend" target to make sure
it finished cleaning the tools directory in case of tool directory
mismatch before we try to rebuild the tools.
 1.99 22-Jun-2006  mrg only build lint and lint2 if MKLINT != "no".
 1.98 18-Jun-2006  gdamore Make TOOL_SED, to allow using our own sed in cases where the host's version
is busted in some way.

The TOOL_SED doesn't use TIOCGWINSIZE, and has some changes to include
nbtool_config.h in a cross build environment.

Combined with some other changes (not yet committed), this allows cross
compiling m68k code on Solaris 10/amd64.
 1.97 02-Jun-2006  mrg remove support for building (with) GCC 2.95. also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
 1.96 11-May-2006  mrg check HAVE_GCC == 4 not USE_GCC4.
 1.95 01-Apr-2006  christos Don't barf if USE_GCC4 is not defined.
 1.94 29-Mar-2006  jmc Turn on gmake builds if GCC4 is enabled (and force it's install before continuing
 1.93 03-Feb-2006  dsl The realall and realdepend bit that regenerates tools needs to be marked
.MAKE otherwise the 'make' it runs has its own list of jobs instead of
using the jobserver of the enclosing make.
 1.92 04-Oct-2005  jmc Make the tools using Makefile.disklabel wait so they don't stomp each other.
Also for now add a dependency to Makefile.disklabel so this doesn't run
3 times. (XXX this really should just be done differently)
 1.91 12-Jun-2005  dyoung .include Makefile.disklabel in installboot, so that the
nbinclude/ header files will be installed. Build installboot after
pax, since Makefile.disklabel uses pax to install the headers.
 1.90 12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.89 30-May-2005  thorpej Build genassym as a host tool. Part of PR toolchain/30350
 1.88 27-Jan-2005  is We don't need aout2bb any longer.
 1.87 09-Jan-2005  mycroft Add some quotes to prevent a syntax error.
 1.86 28-Nov-2004  jmc Convert mkboot into a full cross tool. Last hurdle for hp300 to building on
non NetBSD/bsd hosts.
 1.85 28-Nov-2004  jmc Convert remaining host tools for amiga to correct cross tools. Now allows
complete amiga builds on non netbsd/bsd hosts
 1.84 25-Nov-2004  jmc Convert bebox's remaining host tools over to cross tools scheme. Builds to sets
w/o error now.
 1.83 28-Jul-2004  skrll Build hp700's mkboot as a host tool called nbhp700-mkboot. mkboot also
gets built and installed in a hp700 distribution.

TODO

- merge with hp300

- pick a preferred method for dealing with the elf headers.
hp700-mkboot and prep-mkbootimage (bintuils) vs mips-elf2ecoff and
tools/installboot
 1.82 08-Jun-2004  abs Add sparkcrc (used to generate checksums for acorn32 bootloader sparkive)
as a host tool.
 1.81 03-Jan-2004  lukem branches: 1.81.2;
Consistently check ${TOOLCHAIN_MISSING} against "no".
 1.80 11-Dec-2003  matt Fix typo.
 1.79 11-Dec-2003  matt Add macppc-fixcoff tool.
 1.78 10-Dec-2003  lukem Use (cd ${.CURDIR} && ${MAKE} cleandir) instead of ${MAKE} cleandir
Suggested by Ross Harvey.
 1.77 04-Dec-2003  mrg always build tools/binutils now.
 1.76 08-Nov-2003  sekiya Build sgivol as a host tool when compiling for sgimips.
 1.75 27-Oct-2003  lukem add mknod as a host tool
 1.74 26-Oct-2003  cl add gdb53 as a host tool for use as a crossgdb
replaces gdb50 from toolchain on archs which use gcc3
 1.73 21-Oct-2003  lukem Rework how MAKEVERBOSE operates:

* Don't bother prefixing commands with a line of ${_MKCMD}\
and instead rely upon "make -s". This is less intrusive on
all the Makefiles than the former. Idea from David Laight.

* Rename the variables use to print messages. The scheme now is:
_MKMSG_FOO Run _MKMSG 'foo'
_MKTARGET_FOO Run _MKMSG_FOO ${.TARGET}
From discussion with Alistair Crooks.
 1.72 19-Oct-2003  matt Add host tool version of ncdcs
 1.71 18-Oct-2003  lukem MAKEVERBOSE support
 1.70 25-Jul-2003  mrg - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
 1.69 24-Jul-2003  tron Add missing "cleandir" rule.
 1.68 20-Jul-2003  lukem add stat(1) as a host tool
 1.67 16-Jul-2003  lukem also do the MKTOOLS and PREVIOUSTOOLDIR checks for "realdepend"
 1.66 16-Jul-2003  lukem * If a `PREVIOUSTOOLDIR' file doesn't exist, or its contents are not
the same as "$TOOLDIR", run "make cleandir" here first.
This should prevent various problems where $TOOLDIR is encoded into the
build process for various tools (lint, groff, texinfo, toolchain),
$TOOLDIR changes, and various programs don't get rebuilt correctly.
Should fix PR [toolchain/21988].

* Clean up how the `${MKTOOLS} == no' check is performed.

* Remove "cleantools"; it made a big assumption about the location of
TOOLDIR that won't be correct in many cases.
 1.65 26-Jun-2003  tshiozak Citrus iconv support(3)
add host tools : mkcsmapper and mkesdb
mkcsmapper - coded character set mapping table compiler
mkesdb - encoding scheme database compiler
 1.64 18-May-2003  lukem Add db(1) as a host tool
 1.63 25-Mar-2003  pooka build file(1) as a host tool (for compiling magic files)
 1.62 07-Mar-2003  thorpej Make hexdump a host tool.
 1.61 21-Dec-2002  lukem enable sunlabel...
 1.60 19-Sep-2002  thorpej Change the TOOLCHAIN_MISSING from == "no" to != "yes", to be consistent
with the other tests of this variable.
 1.59 19-Sep-2002  matt Since TOOLCHAIN_MISSING is defined in bsd.own.mk, it can never be undefined.
Instead, make sure the value of it is "no"
 1.58 17-Sep-2002  thorpej * Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:

TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
an external toolchain (e.g. /usr/local/gnu). This enables the cross-build
framework even for TOOLCHAIN_MISSING platforms.

If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
unconditionally set to "no", since the bits are not there to build.

If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
since the external toolchain's compiler is not in-sync with the
in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
that file can use it.
 1.57 14-Sep-2002  chris We need binstall to be installed, before attempting to use it to install mktemp.
 1.56 14-Sep-2002  thorpej Descend into mktemp.
 1.55 12-Jun-2002  veego The last commit wasn't tested. Add a missing \
 1.54 12-Jun-2002  thorpej Don't build toolchain bits for hppa, for now.
 1.53 10-Jun-2002  mason Add cat(1) as a host tool.
 1.52 05-Jun-2002  thorpej Don't try to build toolchain bits for ns32k.
 1.51 28-May-2002  bjh21 Add fgen as a host tool, used for sys/arch/sparc/bootblk.
 1.50 18-May-2002  lukem branches: 1.50.2;
gratuitious comment addition
 1.49 07-May-2002  lukem remove now-unnecessary sparc-installboot
 1.48 03-May-2002  kleink On prep, descend into prep-mkbootimage.
 1.47 06-Apr-2002  bjh21 vax-installboot has been deleted, so don't recurse into it.
 1.46 03-Apr-2002  lukem enable installboot
 1.45 01-Apr-2002  thorpej Nuke NO_DBSYM; dbsym now uses BFD for everything.
 1.44 01-Apr-2002  bjh21 On second thoughts, don't make mktemp a host tool. It's only used once, for
creating a temporary directory for maketars, and mkdir can do that safely
enough.
 1.43 31-Mar-2002  bjh21 Add mktemp as a host tool.
 1.42 31-Mar-2002  bjh21 Add cksum as a host tool.
 1.41 29-Mar-2002  matt Drop into vax-installboot on VAX machines.
 1.40 07-Mar-2002  tv Rework recursion to use the original logic again, in the structure cleaned
up by pk (and fix comments to match):

* A .WAIT here means that only the *immediately preceding* target needs
to be added to the list of "install-foo" targets used to ensure that
dependencies are installed (otherwise much more than is necessary
gets installed during the build process, increasing build time here)

* If building only an individual target such as "dependall-yacc", the
prerequisites may need to be built before running their "install-foo"
targets -- so add a dependency in that case on "dependall-foo".
 1.39 07-Mar-2002  tv Don't build groff if MKMAN=no. (groff does not build properly on some
platforms because of its completely insane Make structure; this allows it
to be disabled in a sane way.)
 1.38 26-Feb-2002  tv Add gettext to tools.

For now this is a maintainer-tool only; none of the NetBSD build needs to
run msgfmt as of yet. (However, its presence is needed to make the
mknative part of src/tools/toolchain produce the same output as a truly
"native" GNU configury of the toolchain.)
 1.37 23-Feb-2002  gmcgarry Add elf2ecoff as a build tool for mips ports.
 1.36 18-Feb-2002  pk * Add comments on all the directory build/install ordering goo.
* Beef up that goo so that for each ".WAIT group" all of the install targets
in the previous group have completed before starting the `all', `depend'
or `dependall' targets.
 1.35 11-Feb-2002  pk Revert part of previous; we need the install targets.
 1.34 10-Feb-2002  pk Use .ORDER targets to express the dependencies on subdir runs. This makes
the resulting tree complexity O(N) (N=# of subdirs), and it also makes it
easier to comprehend the Makefile logic.
 1.33 08-Feb-2002  pk Make sure to not go off installing in a directory before it's fully made.
 1.32 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.31 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.30 25-Jan-2002  lukem build pax as a host tool, for -N and to work around borken vendor paxes
 1.29 10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.28 10-Jan-2002  lukem revert previous, and reenable tools/makefs now that it works on
netbsd-current and netbsd-1-5
 1.27 09-Jan-2002  tv Disable makefs in src/tools for the moment; it's very dependent on -current
NetBSD headers and sources right now. (Temporary workaround for PR 15175.)
 1.26 05-Jan-2002  mrg build zic as a host tool.
 1.25 05-Jan-2002  mrg build makefs, and, sparc-installboot if sparc||sparc64
 1.24 31-Dec-2001  thorpej We can't currently build a toolchain for x86-64 here, so don't
attempt to do so.
 1.23 29-Dec-2001  wiz Typo fix in error message.
 1.22 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.21 07-Dec-2001  jmc Add pwd_mkdb as a toolchain bit for builds
 1.20 29-Nov-2001  thorpej Build makewhatis as a host tool, since it is used at the end of
the build.

XXX Needs a -lz hostlib.
 1.19 22-Nov-2001  jmc Oops. typo which can break things for non-new toolchain builds if MKTOOLS isn't
set
 1.18 22-Nov-2001  jmc Check for USETOOLS!=yes in addition to MKTOOLS==no to generate the empty rule
sets. Otherwise platforms not running the new toolchain will end up with
lossage as tools attempt to get built and installed into /bin (due to
bsd.own.mk properly checking USETOOLS before setting up a default TOOLDIR).
Don't print the warning unless MKTOOLS=no
 1.17 13-Nov-2001  tv Re-add MKTOOLS as a "yes"/"no" only variable, which prevents recursion on "no"
into the src/tools subdirs on all/depend/dependall/install. Other recursive
targets are not affected.
 1.16 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.15 09-Nov-2001  thorpej Build the cross-dbsym.
 1.14 02-Nov-2001  tv * Always use the makewrapper when starting a build phase.

* Set stuff mostly in the environment, not on make(1)'s command line.
This is needed for MACHINE and MACHINE_ARCH (noted by bjh21), and keeps
the mk.conf-overriding-env behavior (suggested by several people).

* Use MAKEFLAGS to make the wrapper script more readable.

* When prepping objdir in tools for the default TOOLDIR value, just make
that objdir; leave the recursive "make obj" for later.
 1.13 31-Oct-2001  tv Don't actually delete the default tooldir on "cleandir"; else we'll nuke
the nbmake that is probably currently running.

Just leave the "cleantools" manual target as a shortcut for the user.
 1.12 31-Oct-2001  tv * Create a variable HOST_OSTYPE that represents the host build environment,
using `uname -s`-`uname -r`-`uname -p || uname -m`. This can be overridden
in mk.conf or the environment, and is used by host tools to ensure that
build hosts do not clobber each other.

* Now that there's an objdir in src/tools, make a default TOOLDIR by creating
"tools.${HOST_OSTYPE}" in the objdir (if it exists) of src/tools. This
means that TOOLDIR is no longer required to be set in a build, though it
still may be set manually if desired.

* Set MKTOOLS to "yes" by default, since the default TOOLDIR is now located
in a known mutable location. This may still be set manually if desired.
 1.11 31-Oct-2001  tv * Always descend into "tools" regardless of USETOOLS setting. Instead,
just don't build the tools if USETOOLS!=yes. This permits objdirs to
be created even when USETOOLS=no.

* Clean up use of "-m" by specifying it to .MAKEFLAGS: if needed.
 1.10 25-Oct-2001  thorpej Add asn1_compile as a host tool.
 1.9 21-Oct-2001  jmc Pull in mdsetimage to the tools builds. (XXX - using libbfd here would
probably be preferrable long term).
 1.8 20-Oct-2001  jmc Add mklocale to cross-tools and turn it back on for the builds.
 1.7 13-Oct-2001  jmc Add crunchgen, msgc and menuc
 1.6 09-Oct-2001  enami Make mtree a host tool and use it when appropriate.
 1.5 04-Oct-2001  tv Recurse properly; just add "build" to TARGETS (fixes reported problem where
"make clean" doesn't work at the src/tools level).
 1.4 22-Sep-2001  tv Work around "make obj" lossage in tools/. Dunno why this is happening
just yet; will investigate this evening.
 1.3 22-Sep-2001  tv Add lorder to TOOLDIR host tools.

Only descend into directories if USE_NEW_TOOLCHAIN is set (allows top level
Makefile to use "-m ${.CURDIR}/share/mk" to get the "correct" <bsd.own.mk>
when descending into src/tools/Makefile).
 1.2 21-Sep-2001  tv - Create a real cpp binary.
- Set CC properly in environment for mkdep and lint.
- Add compile_et to TOOLDIR host tools.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.50.2.4 26-Dec-2002  tron Pull up revision 1.61 (requested by lukem in ticket #1043):
enable sunlabel...
 1.50.2.3 30-Nov-2002  he Pull up revisions 1.56-1.57 (requested by he in ticket #804):
Re-add mktemp as a host tool.
 1.50.2.2 13-Jun-2002  lukem Pull up revision 1.51 (requested by eeh in ticket #257):
Add fgen as a host tool, used for sys/arch/sparc/bootblk.
 1.50.2.1 11-Jun-2002  lukem Pull up revision 1.53 (requested by mason in ticket #246):
Add cat(1) as a host tool.
 1.81.2.1 17-Jun-2004  tron branches: 1.81.2.1.2;
Pull up revision 1.82 (requested by abs in ticket #497):
Add sparkcrc (used to generate checksums for acorn32 bootloader sparkive)
as a host tool.
 1.81.2.1.2.3 06-Apr-2005  he Pull up revision 1.84 (requested by jmc in ticket #1027):
Convert bebox's remaining host tools over to the cross tools
scheme. Now allows complete bebox builds on non-NetBSD and
non-BSD hosts.
 1.81.2.1.2.2 06-Apr-2005  he Pull up revision 1.85 (requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.81.2.1.2.1 02-Apr-2005  he Pull up revision 1.87 (via patch, requested by jmc in ticket #1025):
Convert mkboot into a full cross tool. Last hurdle for hp300 to
building on non NetBSD/bsd hosts.
 1.113.4.1 09-Jan-2008  matt sync with HEAD
 1.114.6.2 04-Jun-2008  yamt sync with head
 1.114.6.1 18-May-2008  yamt sync with head.
 1.116.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.116.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.124.12.1 26-Jul-2011  matt Add mkubootimage from -HEAD
 1.124.8.1 20-May-2011  matt Backport mkubootimage from -current
 1.124.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.140.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.140.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.145.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.151.2.4 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.151.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.151.2.2 30-Oct-2012  yamt sync with head
 1.151.2.1 10-Nov-2011  yamt sync with head
 1.156.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.156.2.3 23-Jun-2013  tls resync from head
 1.156.2.2 25-Feb-2013  tls resync with head
 1.156.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.168.4.1 23-Jul-2013  riastradh sync with HEAD
 1.173.2.1 10-Aug-2014  tls Rebase.
 1.186.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.187.6.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
distrib/sets/lists/comp/mi: revision 1.2139
distrib/sets/lists/debug/mi: revision 1.217
distrib/sets/mkvars.mk: revision 1.32
external/gpl2/Makefile: revision 1.14
share/mk/bsd.own.mk: revision 1.1010
tools/Makefile: revisions 1.188, 1.189
tools/dtc/Makefile: revisions 1.1, 1.2
tools/libfdt/Makefile: revisions 1.1, 1.2
Add libfdt
--
New libfdt location
--
tools build glue.
--
Add dtc
--
add MKDTC
--
Add dtc
--
add DTC
--
add DTC
--
No need to set dtc twice.
--
Update for new libfdt location
 1.191.2.1 20-Jan-2018  perseant Use multilevel tables (tries) to convert kuten <-> unicode.
Get rid of dchains, replace with chain/rchain conversions through keys
allocated from the PUA.
 1.193.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.193.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.193.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.193.2.1 21-May-2018  pgoyette Sync with HEAD
 1.194.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.194.2.1 10-Jun-2019  christos Sync with HEAD
 1.209.2.1 31-May-2021  cjep sync with head
 1.214.2.2 14-Apr-2025  martin Pull up following revision(s) (requested by rin in ticket #1096):

tools/what/Makefile: revision 1.1
external/cddl/osnet/usr.bin/ctfdump/Makefile: revision 1.10
tools/ctfmerge/Makefile: revision 1.13
tools/Makefile: revision 1.228
tools/Makefile: revision 1.229
tools/Makefile.ctftools: revision 1.1
usr.bin/what/what.c: revision 1.16
tools/Makefile: revision 1.230
tools/ctfconvert/Makefile: revision 1.12
tools/ctfdump/Makefile: revision 1.1
external/cddl/osnet/dist/tools/ctf/dump/dump.c: revision 1.3
external/cddl/osnet/dist/tools/ctf/common/utils.c: revision 1.2
(all via patch)

tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.
Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.

tools: Add what(1); not mandatory, but provides good diagnostics

tools/Makefile: Add missing `\` for previous
 1.214.2.1 03-Jul-2024  martin Pull up following revision(s) (requested by tsutsui in ticket #733):

external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.6
distrib/cdrom/Makefile: revision 1.55
distrib/cdrom/macppc_installboot/Makefile: revision 1.12
external/gpl2/mkhybrid/dist/getopt.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/LEGAL.NOTICE: revision 1.1
external/gpl2/mkhybrid/dist/write.c: revision 1.1
distrib/cdrom/Makefile: revision 1.56
distrib/cdrom/macppc_installboot/Makefile: revision 1.13
distrib/cdrom/macppc_installboot/installboot.c: revision 1.6
external/gpl2/mkhybrid/dist/getopt.c: revision 1.3
external/gpl2/mkhybrid/dist/write.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/data.h: revision 1.1
distrib/cdrom/Makefile: revision 1.57
distrib/cdrom/macppc_installboot/Makefile: revision 1.14
distrib/cdrom/macppc_installboot/installboot.c: revision 1.7
tools/Makefile: revision 1.221
tools/Makefile: revision 1.222
external/gpl2/mkhybrid/dist/libhfs_iso/file.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/README: revision 1.1
distrib/macppc/Makefile: revision 1.18
external/gpl2/mkhybrid/dist/TODO: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/record.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.2
external/gpl2/mkhybrid/dist/volume.c: revision 1.1
external/gpl2/mkhybrid/dist/volume.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/internal.h: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.2
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.3
external/gpl2/mkhybrid/dist/README.mkisofs: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hybrid.h: revision 1.1
tools/mkhybrid/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_magic: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.1
external/gpl2/mkhybrid/dist/include/prototyp.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.1
external/gpl2/mkhybrid/dist/desktop.c: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.2
external/gpl2/mkhybrid/dist/desktop.c: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.4
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.5
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.6
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.7
external/gpl2/mkhybrid/dist/getopt.h: revision 1.1
distrib/cdrom/macppc_installboot/installboot.h: revision 1.5
etc/etc.mac68k/Makefile.inc: revision 1.25
external/gpl2/mkhybrid/dist/getopt.h: revision 1.2
external/gpl2/mkhybrid/dist/write.h: revision 1.1
etc/etc.mac68k/Makefile.inc: revision 1.26
external/gpl2/mkhybrid/dist/rock.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/record.h: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_boot: revision 1.1
external/gpl2/mkhybrid/dist/README: revision 1.1
external/gpl2/mkhybrid/dist/README.win32: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.1
external/gpl2/mkhybrid/dist/config.h.in: revision 1.2
distrib/cdrom/boothfs.uue: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.3
external/gpl2/mkhybrid/dist/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/volume.h: revision 1.2
external/gpl2/mkhybrid/dist/ChangeLog: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.2
external/gpl2/mkhybrid/dist/mapping: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/include/statdefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/Makefile: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.2
external/gpl2/mkhybrid/dist/magic: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/node.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.3
external/gpl2/mkhybrid/dist/acconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/eltorito.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/patchlevel.h: revision 1.1
share/mk/bsd.own.mk: revision 1.1375
share/mk/bsd.own.mk: revision 1.1376
external/gpl2/mkhybrid/dist/README.session: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.2
tools/macppc_installboot/Makefile: revision 1.1
external/gpl2/mkhybrid/README.md: revision 1.1
etc/etc.macppc/Makefile.inc: revision 1.13
external/gpl2/mkhybrid/dist/defaults.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.spec: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.h: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.3
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.2
external/gpl2/mkhybrid/dist/libfile/proto.h: revision 1.1
external/gpl2/mkhybrid/dist/COPYING: revision 1.1
external/gpl2/mkhybrid/dist/name.c: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.2
external/gpl2/mkhybrid/dist/mac_label_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.c: revision 1.1
distrib/cdrom/macppc_mkboothfs/mkboothfs.c: revision 1.4
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.c: revision 1.1
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.5
external/gpl2/mkhybrid/dist/config.h: revision 1.1
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.2
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.6
external/gpl2/mkhybrid/dist/config.h: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/node.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/data.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/file.c: revision 1.1
external/gpl2/mkhybrid/dist/README.eltorito: revision 1.1
external/gpl2/mkhybrid/dist/include/fctldefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libfile/README: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.c: revision 1.1
external/gpl2/mkhybrid/dist/mactypes.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.2
external/gpl2/mkhybrid/dist/multi.c: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.1
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/lvolume.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.2
external/gpl2/mkhybrid/dist/configure: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.2
external/gpl2/mkhybrid/dist/install-sh: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.3
distrib/cdrom/macppc_installboot/cd9660.c: file removal
external/gpl2/mkhybrid/dist/README.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/ChangeLog.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/iso9660.h: revision 1.1
external/gpl2/mkhybrid/dist/joliet.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.2
external/gpl2/mkhybrid/dist/apple.c: revision 1.3
etc/Makefile: revision 1.471
external/gpl2/mkhybrid/dist/apple.c: revision 1.4
external/gpl2/mkhybrid/dist/tree.c: revision 1.1
etc/Makefile: revision 1.472
external/gpl2/mkhybrid/dist/tree.c: revision 1.2
external/gpl2/mkhybrid/dist/tree.c: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.8: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.4
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.5
distrib/cdrom/Makefile: revision 1.54
external/gpl2/mkhybrid/dist/getopt.c: revision 1.1

Add -data-change-warn to MKISOFS_ARGS for macppc as done for mac68k:
https://mail-index.netbsd.org/source-changes/2023/05/19/msg144826.html

Creating Type&Creator mappings for .bin (macbinary encoded) files,
mkisofs changes files, then turns around and complains they have been
changed.
This is a self-inflicted wound, so demote the error to a warning.
This looks to make macppccd builds with cdrtools-3.02a10.
Sync with src/usr.sbin/installboot/cd9660.c:
- include now properly updated cd9660_extern.h for function prototypes
and remove them from local installboot.h
- use ISO_MAXNAMLEN rather than (BSD specific and incorrect) MAXNAMLEN
- use proper names for the secondary boot file
- appease several pointer signedness warnings (not fatal on HOST tools)
Use native cd9660 blocksize to specify block numbers in cd9660.c.
This reduces diffs from src/usr.sbin/installboot/cd9660.c.
Also explicitly call cd9660_match() to get fstype->blocksize properly.
Pull sharable src/usr.sbin/installboot/cd9660.c.
Import mkhybrid from OpenBSD 7.3 to create ISO9660/HFS hybrid ISO images.
- files in libfile except proto.h prepared by OpenBSD are not imported
due to non-standard license
(newer BSD Licensed versions will be imported later)
- unnecessary files for tools build are not imported
- RCSId strings are trimmed to avoid unintended substitutions
Proposed on tech-toolchain@:
https://mail-index.netbsd.org/tech-toolchain/2024/05/25/msg004355.html

Import BSD licensed libfile for mkhybrid builds from cdrtools-3.01.
- unnecessary files for tools build are not imported
- file.c is renamed to lfile.c to avoid conflict with libhfs_iso
- RCSId strings are trimmed
Remove dependencies on non-existent exclude.h.
Pull changes from mkisofs-1.12.1 to avoid statvfs(2).
Make newer BSD Licensed libfile sources build as tools.
Update mkhybrid Makefile for NetBSD's tools builds.
Suppress implicit declaration warnings.
Appease discard-const warnings.
Remove duplicated SYSTEM_ID_DEFAULT definitions.
Don't redefine SYSTEM_ID_DEFAULT if it's specified in CPPFLAGS.
Remove ancient rlimit hacks for NetBSD disabled in cdrtools-2.01.
Always use local getopt.h as cdrtools-2.01 did.
Tweak and regen configure using autoconf-2.13 to use pkgsrc tools.
Check <stdlib.h> and <flock.h> in configure and regen config.h.
Use HAVE_CONFIG_H to include <stdlib.h> and <string.h> in getopt sources.
Appease more warnings and remove unused getopt functions.
Pull options -hide-joliet-trans-tbl and -hide-rr-moved from mkisofs-1.13.
Pull -graft-points option from mkisofs-1.13 and cdrtools-2.01.
Also remove #ifdef APPLE_HYB for NON-HFS changes to reduce diffs.
Tweak OPTION_* definitions to reduce diffs from mkisofs-1.13.
Pull malloc related fixes from cdrtools-2.01.
This seems to fix SIGSEGV during free(3) in write.c:write_one_file().
Build mkhybrid as a build tool.
Build mac68k and macppc iso images using tools/mkhybrid.
Drop -data-change-warn from MKISOFS_FLAGS.
It's available only on cdrtools-3.x and later.
Use tools/mkhybrid as MKISOFS for mac68k and future macppc.
Note about current status.
Also pull man page description of options pulled from mkisofs-1.13.
Don't print progress if -quiet is specfied as cdrtools-2.01 and later.
Exclude debug.tgz and xdebug.tgz from mac68k ISO to save ~320MB.
Drop -T (for non-Rock Ridge capable systems) from ${MKISOFS_FLAGS}.
Even old mac68k and macppc don't require it, and somehow TRANS.TBL
files are shown on NetBSD when the ISO images created with both -T
and and -hide-joliet-trans-tbl are mounted by mount_cd9660(8).
Note this also happens with mkisofs(8) from cdrtools-3.02,
but I have not investigated if it's expected behavior.
Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.
Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
Make sure NetBSD_BootBlock partition has 32KB to avoid extra padding.
It looks at least OpenFirmware 2.x fails to load the primary bootloader
in the NetBSD_BootBlock partition if the partition size is too small,
probably because OpenFirmware read() function implicitly uses 32KB blocks.
Build macppc iso with TOOL_MKHYBRID via "iso-image" target in src/etc.
No need to check and redefine C89 strerror(3) and strtoul(3).
Fixes build error on MacOS 10.4 with Xcode 2.5.
 1.222.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 12-Apr-2025  rin branches: 1.1.2; 1.1.6;
tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
 1.1.6.2 02-Aug-2025  perseant Sync with HEAD
 1.1.6.1 12-Apr-2025  perseant file Makefile.ctftools was added on branch perseant-exfatfs on 2025-08-02 05:58:21 +0000
 1.1.2.2 14-Apr-2025  martin Pull up following revision(s) (requested by rin in ticket #1096):

tools/what/Makefile: revision 1.1
external/cddl/osnet/usr.bin/ctfdump/Makefile: revision 1.10
tools/ctfmerge/Makefile: revision 1.13
tools/Makefile: revision 1.228
tools/Makefile: revision 1.229
tools/Makefile.ctftools: revision 1.1
usr.bin/what/what.c: revision 1.16
tools/Makefile: revision 1.230
tools/ctfconvert/Makefile: revision 1.12
tools/ctfdump/Makefile: revision 1.1
external/cddl/osnet/dist/tools/ctf/dump/dump.c: revision 1.3
external/cddl/osnet/dist/tools/ctf/common/utils.c: revision 1.2
(all via patch)

tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.
Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.

tools: Add what(1); not mandatory, but provides good diagnostics

tools/Makefile: Add missing `\` for previous
 1.1.2.1 12-Apr-2025  martin file Makefile.ctftools was added on branch netbsd-10 on 2025-04-14 09:58:17 +0000
 1.16 19-Jun-2010  riz Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.15 19-Jun-2010  riz mklocale now requires <sys/ctype_bits.h> to build, so install it
under ${TOOLDIR} when building as a host tool.

XXX Makefile.disklabel is clearly mis-named. I'll deal with that
shortly.
 1.14 21-Dec-2009  thorpej Add support for building libelf in a host-tool environment.

XXX Makefile.disklabel is really mis-named, but I'm not going to tackle
that problem right now.
 1.13 14-Sep-2009  he We need to install disklabel_rdb.h here as well, so that the
toolized disklabel for amiga (at least) can be allowed to build.
 1.12 25-Oct-2008  apb Use ${TOOL_SED} instead of just "sed" while building other tools.

Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
 1.11 07-Aug-2007  yamt use a pre-generated list of files instead of running find(1) again and again.
PR/34551.
 1.10 07-Feb-2007  cbiere Use '-o' instead of '-or' for find, the latter is a non-portable extension.
Reported by Raymond Meyer.
 1.9 25-Nov-2006  freza There's no need to install machine/reloc.h with powerpc/include/elf_machdep:1.7

OK by <riz>
 1.8 25-Nov-2006  riz add reloc.h to the list - missed this in the last commit.
 1.7 22-Nov-2006  riz Make sys/exec_elf.h and machine/elf_machdep.h available to host
tools, and allow paxctl to use them when compiled as a host
tool. This fixes the build on MacOS X (and perhaps other platforms)
 1.6 14-Feb-2006  dyoung Two changes to facilitate building tools on Darwin:

1. #undef d_fileno, which is set by Darwin's <dirent.h>,
and which clashes with d_fileno in NetBSD headers.

2. Install the sys/ufs/ header files in nbinclude/ in order
to override Darwin's own, incompatible header files.
 1.5 29-Dec-2005  tsutsui Add a tweak for ews4800mips/include/disklabel.h,
which includes some other md headers.
 1.4 04-Oct-2005  jmc Fix previous commit. Broken logic
 1.3 04-Oct-2005  jmc Make the tools using Makefile.disklabel wait so they don't stomp each other.
Also for now add a dependency to Makefile.disklabel so this doesn't run
3 times. (XXX this really should just be done differently)
 1.2 22-Jun-2005  he Fix the toolification of disklabel by using the nbinclude namespace
under HAVE_NBTOOL_CONFIG_H for disktab.h as well. This means
disktab.h has to be installed in the nbinclude include directory.

(Failure mode: with TOOLDIR as a subdirectory of /usr, the host's disktab.h
got picked up, and not the in-tree copy.)

Reviewed by dyoung.
 1.1 12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.7 20-Jan-2012  christos Merge the two Makefiles that were mostly copies of each others.
The reason to do this was to add support for cleaning up the config.cache
files when the build environment (as determined by uname -srm) changes.
 1.6 25-Nov-2009  uebayasi branches: 1.6.6;
Actually use timestamp file's timestamps so that things rebuild correctly.
 1.5 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.4 07-Jul-2008  apb Verify that MAKEFLAGS contains "-j" before trying to manipulate it
with :C///.
 1.3 07-Jul-2008  mrg pass the "-j" flag down to gmake. you can force -j option to
gmake by setting GMAKE_J_ARGS=-jN.


discussed with matt@ and a few others.

XXX: this is kind of hacky, as it will fork off more processes than
XXX: "-jN" says to, but there's no real way to get parallelism in
XXX: both the tools/gcc build and the rest of the build without
XXX: this.
 1.2 12-May-2006  mrg branches: 1.2.20;
put MAKE_ARGS in the gmake command line.
 1.1 11-May-2006  mrg initial wrapper for gmake-requiring tools. probably does not yet
work on all currently supported netbsd build hosts.

XXX current issues:
XXX - calls /usr/bin/env -i directly, mostly to wipe-out MAKEFLAGS
XXX from the environment (usually set by the buildwrapper to
XXX "-de -m <path-to>/share/mk"
 1.2.20.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6.6.1 17-Apr-2012  yamt sync with head
 1.57 25-May-2025  rillig tools/Makefile.gnuhost: fix invocations of parallel make
 1.56 19-May-2023  lukem branches: 1.56.2;
Fix passing -j NNN to gmake

Use a more restrictive pattern to extract -j NNN from MAKEFLAGS
into GMAKE_J_ARGS, to avoid false positives when the source directory
has "-j" in the path (e.g "amd64-job-000012" or "src-j9999").
Previously this could pass either -"-j" or "-j BIGNUM" to gmake
and result in "vfork: Resource temporarily unavailable" failures.

PR misc/54456
 1.55 15-May-2023  lukem tools: if MAKEVERBOSE >=2, noisy automake builds

Explicitly build with V=1 for MAKEVERBOSE >= 2
so that Makefile.gnuhost (automake) consumers
are more consistent with native builds.

(If the upstream is using AM_SILENT_RULES(yes)
then the default is V=0).
 1.54 29-Aug-2021  rillig branches: 1.54.2;
tools: in non-verbose mode, build the tools silently
 1.53 13-Jun-2020  lukem tools: configure --silent if MAKEVERBOSE == 0
 1.52 13-Jun-2020  lukem tools: if MAKEVERBOSE < 2, quieten automake builds
 1.51 22-Oct-2018  maya Adjust whitespace to look more like assignment than comparison. NFC
 1.50 21-Oct-2018  christos detect clang instead of bundling it with Darwin
 1.49 14-Oct-2018  martin Add FLEX to the configure env, from Lloyd Parkes on tech-toolchain.
Some configure scripts seem to need both LEX and FLEX.
 1.48 17-Apr-2018  maya branches: 1.48.2;
Remove hack previously needed to build gcc/arm with clang.
genattrtab.c:1.2 makes this unnecessary.

Tested by thorpej.
 1.47 17-Apr-2018  christos Use the __clang__ preprocessor symbol to check for clang, since --version
might barf. From joerg@
 1.46 15-Apr-2018  christos do the bracket nesting only for clang for now.
 1.45 13-Apr-2018  snj GCC build exceeds the macOS clang default bracket nesting level of 256.
Work around with -fbracket-depth=512.

From potr in PR toolchain/53178.
 1.44 16-Jan-2016  christos branches: 1.44.8; 1.44.14;
look in gpl3 for stuff too (autoconf)
 1.43 13-Jan-2016  christos look in external first.
 1.42 13-Aug-2013  drochner pass HOST_SH to the build, to keep it from picking up a "bash"
from $PATH
 1.41 07-Aug-2013  apb Revert previous change to tools/Makefile.gnuhost. When getenv("M4")
contains multiple words, flex fails.

Adjust tools/autoconf/Makefile to pass the necessary extra arguments via
M4=... in CONFIGURE_ENV. This is similar to what used to be in
revision 1.4 of tools/autoconf/Makefile, but it's now after instead of
before the inclusion of Makefile.gnuhost, because it has to override the
value of M4=... that Makefile.gnuhost stores in CONFIGURE_ENV.
 1.40 06-Aug-2013  apb Add the "-g -D__gnu__" flags when invoking M4 via CONFIGURE_ARGS
in tools/Makefile.gnuhost. This makes the tools version of m4
behave like GNU m4.

Remove similar code from tools/autoconf/Makefile, where it didn't
work because Makefile.gnuhost would previously have overridden it.

This fixes a problem in which the tools version of autoconf complained
"M4sugar requires GNU M4.
Install it before installing M4sugar or set the M4 environment variable to its path name."
 1.39 19-Jun-2012  hans branches: 1.39.2;
Don't use -print0/-0 in find | xargs, it is non-standard and not needed at all.
 1.38 18-Apr-2012  tsutsui Replace not only space but also '(' and ')' on generating BUILD_PLATFORM
strings to appease shell's echo.
Cygwin's uname -r returns "1.7.9(0.237/5/3)" etc.
 1.37 21-Jan-2012  christos branches: 1.37.2;
remove dup target.
 1.36 20-Jan-2012  christos Merge the two Makefiles that were mostly copies of each others.
The reason to do this was to add support for cleaning up the config.cache
files when the build environment (as determined by uname -srm) changes.
 1.35 21-Nov-2011  tsutsui Pass M4=${TOOL_M4:Q} to CONFIGURE_ENV for tools/gmp.
Fixes configure error on cygwin.
 1.34 25-Nov-2009  uebayasi branches: 1.34.6;
Actually use timestamp file's timestamps so that things rebuild correctly.
 1.33 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.32 11-Feb-2005  jmc Put back @ on configure line. Was off for debugging and shouldn't have been
committed.
 1.31 11-Feb-2005  jmc Make a BUILD_ENV that by defaults matches CONFIGURE_ENV and pass it along on
the build step. Catches things like binutils which do a bunch of configures
on the build step and lose possibly. Fixes issues from PR#29197 for lex
not being picked up here.
 1.30 18-Oct-2004  skrll Pass AR and RANLIB also.

OK'ed by mrg.
 1.29 21-Jun-2004  jmc Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.28 20-Jun-2004  jmc Add $MAKE to env also. From PR#25952
 1.27 12-Jun-2004  jmc MKUPDATE cannot possibly do the right thing with GNU wrapped tools installs as
no dependencies are known in advance. So a simple 'build.sh -r -u' will
often lose and end up with a TOOLDIR without a toolchain, groff, etc. Fix
by forcing .install_done to always run.
 1.26 27-Feb-2004  skrll branches: 1.26.2;
Backout recent changes made to gnu/lib/libgcc3 for a forced MKPIC=no build.

Fix the behaviour of native and tools gcc when MKPIC=no is specified for
platforms that mknative has determined support shared libraries.

XXX distrib/sets/sets.subr doesn't support MKPIC=no
 1.25 15-Feb-2004  skrll Be more gcc like in the way we deal with libgcc so that sh3/hppa millicode
and exception handling have a chance of working properly.

- creates libgcc, libgcc_eh and libgcc_s

- updates LIBGCC_SPEC to use them appropriately.

There's a hack in here at the moment with respect to libgcc_so in that it
is preferable to link against libgcc_so will only when -shared-libgcc is
specified (the c++ frontend does this automatically.) Configurations where
LINK_EH_SPEC is defined already do this. The gcc configuration for
NetBSD/alpha and another NetBSD platform (I forget which) actually define
LINK_EH_SPEC probably by accident rather than design.

- updates share/mk to use the compiler's knowledge of what needs linking into
libraries and executables. This removes an hppa hack.

- updates the sets for the newly created libgcc* files.

- support for linking against the _pg version of libgcc has been removed.
 1.24 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.23 21-Oct-2003  lukem Rework how MAKEVERBOSE operates:

* Don't bother prefixing commands with a line of ${_MKCMD}\
and instead rely upon "make -s". This is less intrusive on
all the Makefiles than the former. Idea from David Laight.

* Rename the variables use to print messages. The scheme now is:
_MKMSG_FOO Run _MKMSG 'foo'
_MKTARGET_FOO Run _MKMSG_FOO ${.TARGET}
From discussion with Alistair Crooks.
 1.22 18-Oct-2003  lukem MAKEVERBOSE support
 1.21 10-Oct-2003  dbj add -O2 to HOST_CFLAGS on Darwin since adding "-no-cpp-precomp" there blows
it away otherwise
 1.20 07-Oct-2003  dbj set HOST_CFLAGS+= -no-cpp-precomp when configuring gnu software on Darwin
 1.19 18-Jul-2003  lukem Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
 1.18 14-Mar-2003  thorpej Put -X into MAKEFLAGS on FreeBSD and Mac OS X; they have a small ARG_MAX.
 1.17 07-Feb-2003  lukem replace DIST with GNUHOSTDIST, and don't unconditionally define it
in Makefile.gnuhost (use ?= instead of =, to allow overriding)
 1.16 26-Feb-2002  tv Remove the "-j1" hack. This needs to be fixed better. For now, -j is
disabled at the top level anyway, making this extra hack unnecessary.
 1.15 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.14 31-Jan-2002  tv Make sure LEX and YACC are properly defined (mainly for groff); also use
a more portable grep construct.
 1.13 03-Jan-2002  tv Remove stray diagnostic "echo".
 1.12 03-Jan-2002  tv * Honor BUILD on "make install" (will do "make all" first).

* Make "make all" update the .build_done timestamp more intelligently;
if no files changed in the build tree, don't touch the timestamp.
(This allows UPDATE and BUILD to function correctly.)
 1.11 13-Dec-2001  tv Avoid building and installing every time, so that we don't have toolchain
dependencies cause things like constantly regenerating catpages....
 1.10 02-Dec-2001  jmc Make sure and run sh configure as it may not have execute permissions.
 1.9 19-Nov-2001  perry replace instances of INSTALL_FILE with HOST_INSTALL_FILE
 1.8 16-Nov-2001  tv Workaround some make(1) braindamage wrt when it tries to "auto-chdir"
back to ${.CURDIR}. How losing....
 1.7 14-Nov-2001  tv Recheck the GNU configuration if ${.CURDIR}/Makefile changes.
 1.6 14-Nov-2001  tv Use ${INSTALL_FILE:N-U}.
 1.5 13-Nov-2001  tv Change where the -j1 is set to disable parallelism. XXX This should not
be necessary; .NOTPARALLEL needs to be told how to work properly for
specific recursion targets.
 1.4 13-Nov-2001  tv Remove extraneous @echo from local changes.
 1.3 13-Nov-2001  tv Move around the MAKE_ARGS assignments to put the := as early as possible.
 1.2 13-Nov-2001  tv Make the wrapper work correctly for groff too, which uses a rather freaky
Makefile layout.
 1.1 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.26.2.3 22-Jun-2004  tron Pull up revision 1.29 (requested by jmc in ticket #531):
Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.26.2.2 22-Jun-2004  tron Pull up revision 1.28 (requested by jmc in ticket #529):
Add $MAKE to env also. From PR#25952
 1.26.2.1 14-Jun-2004  tron Pull up revision 1.27 (requested by jmc in ticket #473):
MKUPDATE cannot possibly do the right thing with GNU wrapped tools installs as
no dependencies are known in advance. So a simple 'build.sh -r -u' will
often lose and end up with a TOOLDIR without a toolchain, groff, etc. Fix
by forcing .install_done to always run.
 1.34.6.4 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.34.6.3 30-Oct-2012  yamt sync with head
 1.34.6.2 23-May-2012  yamt sync with head.
 1.34.6.1 17-Apr-2012  yamt sync with head
 1.37.2.1 09-May-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #234):
tools/Makefile.gnuhost: revision 1.38
Replace not only space but also '(' and ')' on generating BUILD_PLATFORM
strings to appease shell's echo.
Cygwin's uname -r returns "1.7.9(0.237/5/3)" etc.
 1.39.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.44.14.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.44.14.3 20-Oct-2018  pgoyette Sync with head
 1.44.14.2 22-Apr-2018  pgoyette Sync with HEAD
 1.44.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.44.8.3 26-Oct-2018  martin Apply patch, requested by maya in ticket #1070:

force build of gcc and friends with -std=gnu++03 when the host compiler
is clang. New clang versions default to newer c++ standards and the
old gcc in this branch has not been updated to those.
 1.44.8.2 18-Apr-2018  martin Pull up following revision(s) (requested by maya in ticket #775):

tools/Makefile.gnuhost: revision 1.46-1.48
external/gpl3/gcc/dist/gcc/genattrtab.c: revision 1.2

do the bracket nesting only for clang for now.

Use the __clang__ preprocessor symbol to check for clang, since --version
might barf. From joerg@

Apply upstream commit:
From: ppalka <ppalka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 27 Apr 2016 21:18:05 +0000
Subject: [PATCH] Reduce nesting of parentheses in conditionals generated by
genattrtab

gcc/ChangeLog:
* genattrtab.c (write_test_expr): New parameter EMIT_PARENS
which defaults to true. Emit an outer pair of parentheses only if
EMIT_PARENS. When continuing a chain of && or || (or & or |),
don't emit parentheses for the right-hand operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235536

gcc/arm generates so many parens it hits a bracket depth limited which is
enforced by clang. This reduces the number of parens generated and avoids the
need to increase bracket depth.

Fixes PR toolchain/53178 properly.

Remove hack previously needed to build gcc/arm with clang.
genattrtab.c:1.2 makes this unnecessary.

Tested by thorpej.
 1.44.8.1 14-Apr-2018  martin Pull up following revision(s) (requested by maya in ticket #754):

tools/Makefile.gnuhost: revision 1.45

GCC build exceeds the macOS clang default bracket nesting level of 256.

Work around with -fbracket-depth=512.

From potr in PR toolchain/53178.
 1.48.2.1 10-Jun-2019  christos Sync with HEAD
 1.54.2.1 28-May-2023  martin Pull up following revision(s) (requested by lukem in ticket #177):

tools/Makefile.gnuhost: revision 1.56
external/gpl3/gcc/usr.bin/host-libcpp/Makefile: revision 1.6

Fix passing -j NNN to gmake

Use a more restrictive pattern to extract -j NNN from MAKEFLAGS
into GMAKE_J_ARGS, to avoid false positives when the source directory
has "-j" in the path (e.g "amd64-job-000012" or "src-j9999").

Previously this could pass either -"-j" or "-j BIGNUM" to gmake
and result in "vfork: Resource temporarily unavailable" failures.

PR misc/54456
 1.56.2.1 02-Aug-2025  perseant Sync with HEAD
 1.9 14-Mar-2003  thorpej Put -X into MAKEFLAGS on FreeBSD and Mac OS X; they have a small ARG_MAX.
 1.8 22-Nov-2001  jmc Make the null rule execute something so make is appeased if the .y file is
newer than the checked in .c file. Otherwise make errors out.
 1.7 14-Nov-2001  tv Add autoconf as a host tool, not built by default.
 1.6 13-Nov-2001  tv Don't put commands in the suffix rule override (avoids target graph cycles).
Protect from multiple inclusion.
 1.5 13-Nov-2001  tv Remove local addition mistake in previous.
 1.4 13-Nov-2001  tv Use ${_srcdir} in .MADE, and add "Makefile" to the list.
 1.3 13-Nov-2001  tv Make the wrapper work correctly for groff too, which uses a rather freaky
Makefile layout.
 1.2 13-Nov-2001  tv Make sure the wrapper is used recursively. -f is not propagated to MAKEFLAGS.
 1.1 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.38 18-Aug-2024  christos undo previous, breaks the sed tool install.
 1.37 17-Aug-2024  christos don't provide an install target if one has been defined
 1.36 04-Jun-2023  lukem branches: 1.36.2;
tools: revert use of <bsd.hostinit.mk>

tools/Makefile.host revision 1.35 changed from
setting various NOxxx variables and .include <bsd.own.mk>
to
.include <bsd.hostinit.mk>
which sets the same NOxxx variables, .include <bsd.init.mk>
which optionally .include ../Makefile.inc before .include <bsd.own.mk>.

This chnage caused build failures with HAVE_LLVM=yes, so revert rev 1.35.
(Maybe to do with the .include ../Makefile.inc. The tools/llvm* build is
tricky, and it's easier to revert this change than debug.)
 1.35 04-Jun-2023  lukem tools: use <bsd.hostinit.mk> where appropriate

bsd.hostinit.mk sets a bunch of NOxxx variables before
including bsd.init.mk (which includes bsd.own.mk),
so simplify instead of replicating the NOxxx setup
for host tools.
 1.34 04-May-2018  christos revert previous, breaks llvm build and not easy to fix.
 1.33 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.32 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.31 14-Jun-2013  tsutsui branches: 1.31.20; 1.31.26;
Invoke tools/binstall/mkmanifest for Cygwin via ${HOST_SH}.
Fixes builds using source sets that drop executable bits.
 1.30 17-Feb-2013  christos - Provide HOSTEXEEXT if NOCOMPATLIB
- merge a variable for readability and add an exe suffix where needed.
 1.29 02-Dec-2012  apb Make most things under src/tools use the TOOLDIR version of compat/defs.mk,
instead of the version in the .OBJDIR of tools/compat.
 1.28 10-Apr-2011  joerg branches: 1.28.4; 1.28.10;
For USETOOLS=yes, use the --sysroot support of the compiler to cut down
the number of hard-coded pathes and magic invocations.
 1.27 25-Dec-2010  joerg If MKREPRO, transform ${NETBSDSRCDIR} to /usr/src and ${DESTDIR} to /
for the purpose of the C preprocessor. This avoids leaking the source
path into the final binaries.
 1.26 01-Dec-2009  uebayasi Revert previous, which caused tools build to fail.
 1.25 01-Dec-2009  uebayasi Use ${NETBSDSRCDIR} for deep tools/* directories.
 1.24 19-Oct-2008  apb Define NOINFO, so that we don't try to build info files for host tools.
 1.23 16-Nov-2003  dsl Correct .PHONY rules that force tools to be installed to use
'.if ${MKUPDATE} == "no"' instead of '.if !defined(UPDATE)'.
 1.22 21-Oct-2003  lukem Rework how MAKEVERBOSE operates:

* Don't bother prefixing commands with a line of ${_MKCMD}\
and instead rely upon "make -s". This is less intrusive on
all the Makefiles than the former. Idea from David Laight.

* Rename the variables use to print messages. The scheme now is:
_MKMSG_FOO Run _MKMSG 'foo'
_MKTARGET_FOO Run _MKMSG_FOO ${.TARGET}
From discussion with Alistair Crooks.
 1.21 19-Oct-2003  lukem rework to use the newer _MKMSGCREATE (et al) macros
 1.20 18-Oct-2003  lukem MAKEVERBOSE support
 1.19 13-Mar-2003  thorpej Move -no-cpp-precomp logic to defs.mk.
 1.18 13-Mar-2003  thorpej Pass -no-cpp-precomp to the C preprocessor on Darwin; our use of
libnbcompat is incompatible with pre-compiled headers (which the
compiler correctly detects, but warns about profusely).
 1.17 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.16 21-Jan-2002  tv Missed in last commit: make some tools build properly on non-NetBSD hosts.
 1.15 12-Dec-2001  lukem no need to set NOMAN twice
 1.14 12-Dec-2001  tv Add NOMAN/NOLINT.
 1.13 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.12 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.11 19-Nov-2001  perry replace instances of INSTALL_FILE with HOST_INSTALL_FILE
 1.10 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.9 12-Nov-2001  tv Make use of OBJHOSTMACHINE here, since <bsd.obj.mk> is preloaded.
 1.8 11-Nov-2001  jmc Pull the rmd160 stuff out as mtree now has options to selectively compile
pieces out we won't need during a build.
 1.7 08-Nov-2001  jmc XXX...Complete hack for now.

Add a stub for RMD160File which prints out a warning and returns NULL.

This allows mtree to be built when hosting from a 1.5.x box.
The real solution is to convert the src/tools bits into clean portable tools
and not have them so NetBSD-current centric.
 1.6 25-Oct-2001  thorpej Back out previous -- it has other annoying side-effects I missed.
 1.5 25-Oct-2001  thorpej Add the program's CPPFLAGS to HOST_CPPFLAGS using make(1)'s normal
lazy evaluation semantics, not the "assign it now" semantics. This
allows variables used in the program's CPPFLAGS to get the correct
values of e.g. MACHINE, MACHINE_ARCH, MACHINE_CPU, etc.

Problem was notices when propagating MACHINE and MACHINE_ARCH via
MAKEFLAGS (i.e. from the command line, rather than the environment).

For this to work, make sure you <bsd.hostprog.mk> is at least rev 1.15.
 1.4 25-Oct-2001  thorpej Provide a PRINTOBJDIR.
 1.3 22-Oct-2001  jmc If <srcdir>/../Makefile.inc exists, pull it in as well before setting
CPPFLAGS, etc.
 1.2 13-Oct-2001  jmc Add install.files rule. Tools with support files can use HOSTFILES and
HOST_FILESDIR to install support files (just like bsd.files.mk normally
would be doing.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.28.10.2 23-Jun-2013  tls resync from head
 1.28.10.1 25-Feb-2013  tls resync with head
 1.28.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.28.4.1 16-Jan-2013  yamt sync with (a bit old) head
 1.31.26.2 21-May-2018  pgoyette Sync with HEAD
 1.31.26.1 02-May-2018  pgoyette Synch with HEAD
 1.31.20.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.36.2.1 02-Aug-2025  perseant Sync with HEAD
 1.16 01-May-2018  christos branches: 1.16.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.15 01-May-2018  christos Centralize NOMAN handling.
 1.14 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.13 13-Nov-2001  tv Move host program overrides of INSTALL and MKDEP to <bsd.hostprog.mk>.
 1.12 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.11 31-Oct-2001  tv * Create a variable HOST_OSTYPE that represents the host build environment,
using `uname -s`-`uname -r`-`uname -p || uname -m`. This can be overridden
in mk.conf or the environment, and is used by host tools to ensure that
build hosts do not clobber each other.

* Now that there's an objdir in src/tools, make a default TOOLDIR by creating
"tools.${HOST_OSTYPE}" in the objdir (if it exists) of src/tools. This
means that TOOLDIR is no longer required to be set in a build, though it
still may be set manually if desired.

* Set MKTOOLS to "yes" by default, since the default TOOLDIR is now located
in a known mutable location. This may still be set manually if desired.
 1.10 31-Oct-2001  tv Make handling of USETOOLS uniform: Don't need to check whether it is
defined, as <bsd.own.mk> always sets it; also, compare only against "yes"
(not "no") for a yes/no check, as there are two negative states ("no" and
"never").
 1.9 31-Oct-2001  tv * Always descend into "tools" regardless of USETOOLS setting. Instead,
just don't build the tools if USETOOLS!=yes. This permits objdirs to
be created even when USETOOLS=no.

* Clean up use of "-m" by specifying it to .MAKEFLAGS: if needed.
 1.8 27-Oct-2001  perry Nuke the test for TOOLDIR here. Although it is theoretically a nice
idea, in practice it prevents doing totally reasonable things like
"make cleandir" or "make obj" when you don't have a TOOLDIR built.
 1.7 25-Sep-2001  tv Add STRIP to the environment of binstall, to use proper strip at install
time. Noted by <jepeway@blasted-health.com>.
 1.6 22-Sep-2001  tv Move the definitions of host tools from Makefile.tools to <bsd.own.mk>.

Turn on USE_NEW_TOOLCHAIN explicitly on i386. (See current-users or
tech-toolchain for the heads up announcement and tech details.)
 1.5 22-Sep-2001  tv Revert previous. The dependency strategy used in "tools" is not the same as
in the rest of the source tree, for reasons that will be documented separately.

Short story: host tools that are out of date need to be rebuilt
*from scratch* to avoid our common `source skew accidents'.
 1.4 22-Sep-2001  mrg add UPDATE/NOCLEANDIR support.
 1.3 14-Aug-2001  tv Do a cleandir also before building when a timestamp demands it (not just on
MKTOOLS=always).
 1.2 14-Aug-2001  tv Make MKTOOLS tri-state; add "always" to dictate that the host tools are to
be rebuilt on every build.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.16.2.2 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.16.2.1 01-May-2018  martin file Makefile.inc was added on branch netbsd-8 on 2018-05-05 19:25:56 +0000
 1.13 29-Mar-2025  tsutsui Explicitly suppress an error message expected during bootstrap.
 1.12 02-Feb-2025  tsutsui Appease "returned non-zero status" warnings during make obj.

Pointed out in PR/58982.
 1.11 19-May-2024  tsutsui branches: 1.11.2;
Install cd9660 related system headers for tools installboot(8) builds.
 1.10 01-Apr-2024  christos revert previous, riastradh fixed it correctly and this is not needed.
 1.9 31-Mar-2024  christos Restore the minimum build to install elfdefinitions.h. Provide a pre-built
copy, since we don't have m4 available. Use pax to install it because
using the Makefile needs more stuff available (nbsed) which we have not
built yet.
 1.8 27-Mar-2024  christos Remove dependency to elfdefinitions.h, this is a mess, since it needs
${TOOL_M4} which might not be available yet.
 1.7 26-Mar-2024  christos - fix nbincludes so that it can be included from any level
- add elftoolchain/common to the list of headers to be build before depend
- make libdwarf build the includes since it needs <sys/elfdefinitions.h>
which does not exist on non-netbsd systems.
 1.6 04-Jun-2023  lukem tools: use <bsd.hostinit.mk> where appropriate

bsd.hostinit.mk sets a bunch of NOxxx variables before
including bsd.init.mk (which includes bsd.own.mk),
so simplify instead of replicating the NOxxx setup
for host tools.
 1.5 14-Sep-2016  christos branches: 1.5.24;
Add exec_ecoff.h
 1.4 24-Jan-2015  uwe Add endian_machdep.h files for sh3 machines to _ARCH_INCS as
sh3/include/elf_machdep.h needs it since r1.11.

Unbreaks tools build on non-netbsd hosts (and whatever problems on
netbsd hosts of different endianness that might have been caused by
the mismatch).
 1.3 05-Aug-2012  christos branches: 1.3.10; 1.3.14;
add -I${TOOLDIR}/include/nbinclude to fix the build (find arm/elf_machdep.h).
Is nbinclude intended here? Why not put the machine files in ${TOOLDIR}/include?
 1.2 18-Mar-2011  tsutsui branches: 1.2.4;
tools/mklocale has not required ctype_bits.h since the following fix:
http://mail-index.NetBSD.org/source-changes/2010/06/20/msg011122.html

Tested build.sh tools on CentOS 5.
 1.1 19-Jun-2010  riz Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.2.4.1 30-Oct-2012  yamt sync with head
 1.3.14.1 18-Jan-2017  skrll Sync with netbsd-5
 1.3.10.2 12-May-2017  snj Pull up following revision(s) (requested by skrll in ticket #1406):
sys/arch/mips/include/ecoff_machdep.h: revision 1.23
sys/sys/exec_ecoff.h: revision 1.21
tools/Makefile.nbincludes: revision 1.5
tools/mips-elf2ecoff/Makefile: revision 1.3
tools/mips-elf2ecoff/machine/ecoff_machdep.h: revision 1.3
tools/mips-elf2ecoff/sys/exec_elf.h: file removal
tools/mips-elf2ecoff/sys/exec_ecoff.h: file removal
usr.bin/elf2ecoff/elf2ecoff.c: revision 1.30-1.33
use the nbcompat copies for those files
--
ignore the abiflags section
--
Add exec_ecoff.h
--
provide ecoff 32 defines.
--
This only works with 32 bit Elf and COFF files, make it specific this way
and use sized types so that it works on 64 bit systems (so it can become
a tool).
--
Provided sized definitions for ecoff 32 bit headers.
--
refresh
--
fix printf format.
--
fix printf format
 1.3.10.1 18-Dec-2016  snj Pull up following revision(s) (requested by uwe in ticket #1332):
tools/Makefile.nbincludes: revision 1.4
Add endian_machdep.h files for sh3 machines to _ARCH_INCS as
sh3/include/elf_machdep.h needs it since r1.11.
Unbreaks tools build on non-netbsd hosts (and whatever problems on
netbsd hosts of different endianness that might have been caused by
the mismatch).
 1.5.24.1 22-Jun-2024  martin Pull up following revision(s) (requested by tsutsui in ticket #722):

sys/fs/cd9660/cd9660_util.c: revision 1.16
sys/arch/hp300/stand/common/clock.c: revision 1.14
sys/arch/hp300/stand/common/scsireg.h: revision 1.5
sys/arch/hp300/stand/common/scsireg.h: revision 1.6
sys/arch/hp300/stand/Makefile.buildboot: revision 1.38
sys/arch/hp300/include/bus.h: revision 1.23
sys/arch/hp300/stand/Makefile.buildboot: revision 1.39
sys/arch/hp300/stand/common/sd.c: revision 1.12
sys/arch/hp300/stand/common/prf.c: revision 1.6
sys/arch/hp300/stand/common/sd.c: revision 1.13
usr.sbin/installboot/installboot.8: revision 1.106
usr.sbin/installboot/Makefile: revision 1.59
sys/arch/hp300/stand/common/devopen.c: revision 1.14
usr.sbin/installboot/installboot.8: revision 1.107
sys/arch/hp300/stand/common/ite_dumb.c: revision 1.2
sys/arch/hp300/stand/common/devopen.c: revision 1.15
usr.sbin/installboot/installboot.8: revision 1.108
sys/fs/cd9660/cd9660_extern.h: revision 1.29
usr.sbin/installboot/installboot.8: revision 1.109
tools/Makefile.nbincludes: revision 1.11 (patch)
sys/arch/hp300/dev/rboxreg.h: revision 1.3
sys/arch/hp300/stand/common/scsivar.h: revision 1.5
sys/arch/hp300/dev/dnkbd.c: revision 1.14
sys/arch/hp300/hp300/trap.c: revision 1.156
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.12
sys/arch/hp300/dev/frodoreg.h: revision 1.6
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.13
sys/arch/hp300/stand/common/ite_sti.c: revision 1.2
sys/arch/hp300/stand/common/hil.c: revision 1.15
usr.sbin/installboot/arch/hp300.c: revision 1.18
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.14
sys/arch/hp300/dev/rbox.c: revision 1.4
usr.sbin/installboot/arch/hp300.c: revision 1.19
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.15
sys/sys/bootblock.h: revision 1.59
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.16
usr.sbin/installboot/installboot.h: revision 1.44
sys/arch/hp300/stand/mkboot/volhdr.h: file removal
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.17
sys/arch/hp300/dev/hpib.c: revision 1.45
usr.sbin/installboot/installboot.h: revision 1.45
usr.sbin/installboot/cd9660.c: revision 1.1
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.18
sys/arch/hp300/dev/topcatreg.h: revision 1.3
usr.sbin/installboot/cd9660.c: revision 1.2
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.19
sys/arch/hp300/stand/inst/inst.c: revision 1.25
sys/arch/hp300/stand/uboot/Makefile: revision 1.12
sys/arch/hp300/dev/dvbox.c: revision 1.4
sys/arch/hp300/dev/dma.c: revision 1.45
sys/arch/hp300/stand/uboot/Makefile: revision 1.13
sys/arch/hp300/stand/common/rd.c: revision 1.16
sys/arch/hp300/stand/inst/Makefile: revision 1.12
distrib/hp300/cdroms/installcd/Makefile: revision 1.4
sys/arch/hp300/stand/mkboot/volhdr.h: revision 1.6
sys/arch/hp300/stand/common/machdep.c: revision 1.16
usr.sbin/installboot/fstypes.c: revision 1.14
sys/arch/hp300/hp300/machdep.c: revision 1.238
sys/arch/hp300/include/cpu.h: revision 1.73
sys/arch/hp300/dev/diofbreg.h: revision 1.4
sys/arch/hp300/stand/common/scsi.c: revision 1.12
sys/arch/hp300/stand/common/netio.c: revision 1.19
sys/arch/hp300/stand/common/scsi.c: revision 1.13
sys/arch/hp300/dev/sti_sgc.c: revision 1.8
sys/arch/hp300/dev/rtc.c: revision 1.22
sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.20
sys/arch/hp300/stand/common/conf.h: revision 1.4
sys/arch/hp300/hp300/autoconf.c: revision 1.111
sys/arch/hp300/stand/common/conf.c: revision 1.15
sys/arch/hp300/stand/mkboot/Makefile: revision 1.12
sys/arch/hp300/stand/mkboot/Makefile: revision 1.13
sys/arch/hp300/hp300/autoconf.c: revision 1.114
sys/arch/hp300/dev/dcmreg.h: revision 1.11
sys/arch/hp300/dev/diofbvar.h: revision 1.4
sys/arch/hp300/dev/dcm.c: revision 1.91
sys/fs/cd9660/cd9660_util.c: revision 1.15
sys/arch/hp300/dev/mcclock_frodo.c: revision 1.2

TAB/space cleanup.

installboot(8): formatting improvements

Use Ar foo instead of <foo>; this is mdoc.

Other formatting tweaks.
installboot(8): fix up markup

Don't overuse .Sy - when everything is highlighted, nothing is. Use
.Ic for options &c to get correct PostScript output (both are bold in
plain text).

Use Aq Ar inside .Pa, as both Pa and Ar are rendered as underscored
text in plain text output, and the distinction is lost.

Don't set examples in bold, but give them .Pp space around - they are
much easier to read this way.

Use consistent -width in FILES.
document how to use installboot on netbsd/vax.

PR/57909: Jan-Benedict Glaw: Don't include (build) timestamp when doing a
reproducible build
fix usage string, improve error handling.
add missing chunk for repro-build. fix gcc warnings.
avoid stringop truncation, fix copyright string to prevent assembler warnings.

Fix build as a tool (Jan-Benedict Glaw)

Fix integer overflow of strtol(3) for "loadpoint" address on ILP32 hosts.

This strtol(3) was introduced in rev 1.12 for PR/57909 after netbsd-10,
but it returns LONG_MAX (0x7FFFFFFF) for 0xFFF00000 on ILP32 hosts and
the wrong loadpoint causes "NOT ENOUGH MEMORY" error by the BOOTROMs
on loading uboot.lif on (at least) my 9000/360 and 9000/425t.

Misc cosmetic changes for mostly readability.
- KNF and add some newlines per blocks
- define and use proper bintobcd() macro
- make local functions and variables static

The same uboot.lif binaries are generated.

Rename ${PROGAOUT} -> ${PROGELF} to reflect reality.
Use proper signedness for the LIF file system data structures.

Ancient 4.3BSD used short and int for location, file size, file type,
and addresses etc. but all of them should be unsigned.

Also rename several variables and add comments for readability.
The LIF file system info can be found in "The HPDir Project" page:
https://www.hp9845.net/9845/projects/hpdir/
The same uboot.lif binaries are generated.

Add a preliminary CD boot support to uboot for preparation of PR/54455.
Briefly tested on mame, but not enalbed yet.

Recognize SCSI CD-ROM devices as a booted device properly.

Necessary for PR port-hp300/54455, to boot an md root root RAMDISK

kernel from CD-ROM without "WARNING: can't find match for bootdev:"
prompt.

Sync with src/sys/arch/hp300/stand/mkboot/volhdr.h rev 1.6.
https://mail-index.netbsd.org/source-changes/2024/05/07/msg151195.html

Use proper signedness for the LIF file system data structures.
mkboot should use this MI <sys/bootblock.h> and volhdr.h should
be removed soon.

Use MI <sys/bootblock.h> to refer LIF filesystem structures.
This should have been done when LIF definitions were initially added
to <sys/bootblock.h> for MI installboot(8).

Enable SUPPORT_CD on uboot.

Make cd9660_util.c usable in userland tools like installboot(8).

This was partially done for src/distrib/cdrom/macppc_installboot,
but more strict prototypes are necessary for native binary builds.

Install cd9660 related system headers for tools installboot(8) builds.

Reorder function prototypes per source files.

Add cd9660 support to search a bootloader file in the target file system.

Also add CD boot support for hp300, using a bootloader file in cd9660 fs.
This is a tool's part to close PR/54455.

HP 9000/300 machines read LIF directory entry allocated after
the LIF volume header at the top of the boot disk during bootstrap,
and a bootstrap file must be contiguously allocated on the disk
due to limitation of the LIF specification.

Current NetBSD/hp300's bootloader is larger than ~80KB so we have
to prepare a special 'boot' partition for FFS (that has only 8KB (ffsv1)
or 32KB (ffsv2) spaces) disks to put such a large bootloader.

On the other hand, on ISO9660 fs all files are allocated contiguously
so we can specify a bootloader file in the target ISO9660 directly
in the LIF directory entry.

Note we can simply use the existing "append" option to create bootable
CD ISO for hp300, but it looks some emulators (at leaset MAME) reject
such non-standard ISO files, i.e. with an appended bootloader file at
the end of the image.

Put a RAMDISK kernel and SYS_UBOOT into hp300 installcd to make it bootable.

This should finally close PR/54455.

Fix tools build errors on Cygwin.

Appease warnings on building tools/installboot on Cygwin.
 1.11.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 22-Sep-2001  tv Move the definitions of host tools from Makefile.tools to <bsd.own.mk>.

Turn on USE_NEW_TOOLCHAIN explicitly on i386. (See current-users or
tech-toolchain for the heads up announcement and tech details.)
 1.3 21-Sep-2001  tv - Create a real cpp binary.
- Set CC properly in environment for mkdep and lint.
- Add compile_et to TOOLDIR host tools.
 1.2 14-Aug-2001  tv Remove USE_NEW_TOOLCHAIN definition; this will go in bsd.own.mk.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.7 01-May-2025  martin PR toolchain/58699: fix nbtool_config.h filename in tools/README
 1.6 25-Sep-2024  christos PR/58699: gorg: Correct location of nbtools_config.h
 1.5 03-Feb-2022  rillig branches: 1.5.2; 1.5.4;
tools: allow tools to use C99

The previous requirement was that tools should only use C89 features.
Several tools did not follow this rule for years. Since nobody
complained about not being able to build NetBSD in a C89 environment,
drop that rule, now requiring C99.

https://mail-index.netbsd.org/tech-toolchain/2022/01/30/msg004091.html
 1.4 03-Jan-2015  apb branches: 1.4.18;
Update documentation about tools being restricted to C89 (or not).

It's not practical for the C89 restriction to be maintained for
compilers, but it is still desirable for most tools. The "long long"
data type is in wide use despite not being in C89. C99 library features
(as opposed to language features) can often be added to the compat
framework when the need becomes apparent.
 1.3 30-Sep-2014  apb Say that tools should use C89, not C99; Say that tools may use
HAVE_NBTOOL_CONFIG_H to conditionally exclude features. Many
other small changes.
 1.2 24-Sep-2014  apb It is usually easy to add new definitions to src/tools/compat, and that
is usually better than adding compatibility definitions to individual
tools.
 1.1 01-Sep-2014  apb Add tools/README, to collect hints like how to use

.if defined(HOSTPROG)

and

#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif /* HAVE_NBTOOL_CONFIG_H */
 1.4.18.1 13-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1902):

tools/README: revision 1.6

PR/58699: gorg: Correct location of nbtools_config.h
 1.5.4.1 02-Aug-2025  perseant Sync with HEAD
 1.5.2.1 13-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #959):

tools/README: revision 1.6

PR/58699: gorg: Correct location of nbtools_config.h
 1.17 03-Jan-2024  thorpej Add virt68k headers.

(Why on earth is this a manual step!@#??)
 1.16 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.15 24-Jan-2018  skrll branches: 1.15.2;
Remove port-acorn26

OK core@
 1.14 23-Feb-2016  skrll Sort using mkheaderlist.sh:1.3
 1.13 19-Sep-2014  matt Add sys/arch/riscv.
 1.12 03-Sep-2014  matt Add or1k
 1.11 10-Aug-2014  matt Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only. While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
 1.10 31-Mar-2014  martin Bring back the playstation2 port - now that a toolchain for it is
available again.
 1.9 24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.8 18-Jul-2013  matt Add stub port for evbcf which has enough to do a distribution build.
 1.7 01-May-2013  kiyohara branches: 1.7.2;
Support to build for epoc32 userland.
 1.6 26-Jan-2011  pooka branches: 1.6.4; 1.6.10;
Add support for the Extensible MIPS ("eMIPS") platform. The
NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the
Giano system simulator.

eMIPS is a platform developed at Microsoft Research for researching
reconfigurable computing. eMIPS allows dynamic loading and scheduling
of application-specific circuits for the purpose of accelerating
computations based on the current workload.

NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research
by Alessandro Forin and Neil Pittman. Microsoft Corporation has
donated full copyright to The NetBSD Foundation.

Platform support for eMIPS is the first part of Microsoft's
contribution. The second part includes the hardware accelerator
framework and will be proposed on tech-kern soon.
 1.5 05-Dec-2009  pooka branches: 1.5.2;
Remove support for NetBSD/playstation2.
 1.4 14-May-2008  garbled Add rs6000 to the headerlist. Pointed out by Michael Muller
 1.3 09-Jan-2008  simonb branches: 1.3.4; 1.3.6;
Remove support for NetBSD/pc532.
 1.2 17-Oct-2007  garbled regen for pmppc removal
 1.1 07-Aug-2007  yamt branches: 1.1.2;
add a file generated by mkheaderlist.sh.
 1.1.2.2 23-Mar-2008  matt sync with HEAD
 1.1.2.1 06-Nov-2007  matt sync with HEAD
 1.3.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.3.4.1 18-May-2008  yamt sync with head.
 1.5.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.6.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.10.1 23-Jun-2013  tls resync from head
 1.6.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7.2.1 23-Jul-2013  riastradh sync with HEAD
 1.15.2.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.3 23-Feb-2016  skrll Sort the output
 1.2 05-Feb-2011  yamt comment
 1.1 07-Aug-2007  yamt branches: 1.1.26;
a script to generate a list of headers for Makefile.disklabel.
 1.1.26.1 08-Feb-2011  bouyer Sync with HEAD
 1.1 28-Nov-2004  jmc branches: 1.1.4;
Convert remaining host tools for amiga to correct cross tools. Now allows
complete amiga builds on non netbsd/bsd hosts
 1.1.4.1 06-Apr-2005  he Pull up revision 1.1 (new, requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.4 03-Jan-2014  dsl Remove the borked definition of ELF64_Shalf from some more places.
Remove the _KERNEL parts of some clones of sys/elf_exec.h
One might ask why this file has got cloned so many times.
 1.3 28-Aug-2010  joerg branches: 1.3.6; 1.3.12;
Replace the current usage of Elf64_Half with Elf64_Word and rename
NetBSD specific Elf64_Quarter to Elf64_Half. This restores compatibility
with the common ELF specifications.
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 28-Nov-2004  jmc branches: 1.1.4; 1.1.26;
Convert remaining host tools for amiga to correct cross tools. Now allows
complete amiga builds on non netbsd/bsd hosts
 1.1.26.1 18-May-2008  yamt sync with head.
 1.1.4.1 06-Apr-2005  he Pull up revision 1.1 (new, requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.3.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1 28-Nov-2004  jmc branches: 1.1.4;
Convert remaining host tools for amiga to correct cross tools. Now allows
complete amiga builds on non netbsd/bsd hosts
 1.1.4.1 06-Apr-2005  he Pull up revision 1.1 (new, requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.1 31-Dec-2018  christos branches: 1.1.2; 1.1.4;
Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 31-Dec-2018  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:13 +0000
 1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.1 31-Dec-2018  pgoyette file Makefile was added on branch pgoyette-compat on 2019-01-18 08:51:01 +0000
 1.1 31-Dec-2018  christos branches: 1.1.2; 1.1.4;
Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 31-Dec-2018  christos file a.out.h was added on branch phil-wifi on 2019-06-10 22:10:13 +0000
 1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.1 31-Dec-2018  pgoyette file a.out.h was added on branch pgoyette-compat on 2019-01-18 08:51:01 +0000
 1.1 31-Dec-2018  christos branches: 1.1.2; 1.1.4;
Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 31-Dec-2018  christos file nlist.h was added on branch phil-wifi on 2019-06-10 22:10:13 +0000
 1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.1 31-Dec-2018  pgoyette file nlist.h was added on branch pgoyette-compat on 2019-01-18 08:51:01 +0000
 1.1 31-Dec-2018  christos branches: 1.1.2; 1.1.4;
Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 31-Dec-2018  christos file aout_machdep.h was added on branch phil-wifi on 2019-06-10 22:10:13 +0000
 1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.1 31-Dec-2018  pgoyette file aout_machdep.h was added on branch pgoyette-compat on 2019-01-18 08:51:01 +0000
 1.2 19-May-2019  christos branches: 1.2.2;
sync with latest.
 1.1 31-Dec-2018  christos branches: 1.1.2;
Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.1 31-Dec-2018  pgoyette file aout_mids.h was added on branch pgoyette-compat on 2019-01-18 08:51:01 +0000
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 19-May-2019  christos file aout_mids.h was added on branch phil-wifi on 2019-06-10 22:10:13 +0000
 1.1 31-Dec-2018  christos branches: 1.1.2; 1.1.4;
Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 31-Dec-2018  christos file exec_aout.h was added on branch phil-wifi on 2019-06-10 22:10:13 +0000
 1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.1 31-Dec-2018  pgoyette file exec_aout.h was added on branch pgoyette-compat on 2019-01-18 08:51:01 +0000
 1.4 17-Mar-2025  andvar s/micorprocessor/microprocessor/ in comments.
 1.3 28-May-2022  andvar branches: 1.3.4;
s/hidding/hiding/
 1.2 19-May-2019  christos branches: 1.2.2;
sync with latest.
 1.1 31-Dec-2018  christos branches: 1.1.2;
Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.1 31-Dec-2018  pgoyette file exec_elf.h was added on branch pgoyette-compat on 2019-01-18 08:51:01 +0000
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 19-May-2019  christos file exec_elf.h was added on branch phil-wifi on 2019-06-10 22:10:13 +0000
 1.3.4.1 02-Aug-2025  perseant Sync with HEAD
 1.8 30-Jan-2017  jakllsch Fix host tools build for asn1_compile, compile_et, and slc.
 1.7 29-Jan-2017  christos don't try to build links when cleaning or making obj dirs
 1.6 29-Jan-2017  christos make a symlink to krb5 for the tools build.
 1.5 15-Apr-2011  elric branches: 1.5.26; 1.5.30;
Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
to crypto/external/bsd/heimdal. The latter was just imported as the head
of the Heimdal tree as of a few days ago.
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 25-Oct-2001  thorpej Add asn1_compile as a host tool.
 1.5.30.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.26.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6 07-Aug-2013  apb Revert previous change to tools/Makefile.gnuhost. When getenv("M4")
contains multiple words, flex fails.

Adjust tools/autoconf/Makefile to pass the necessary extra arguments via
M4=... in CONFIGURE_ENV. This is similar to what used to be in
revision 1.4 of tools/autoconf/Makefile, but it's now after instead of
before the inclusion of Makefile.gnuhost, because it has to override the
value of M4=... that Makefile.gnuhost stores in CONFIGURE_ENV.
 1.5 06-Aug-2013  apb Add the "-g -D__gnu__" flags when invoking M4 via CONFIGURE_ARGS
in tools/Makefile.gnuhost. This makes the tools version of m4
behave like GNU m4.

Remove similar code from tools/autoconf/Makefile, where it didn't
work because Makefile.gnuhost would previously have overridden it.

This fixes a problem in which the tools version of autoconf complained
"M4sugar requires GNU M4.
Install it before installing M4sugar or set the M4 environment variable to its path name."
 1.4 08-Dec-2002  thorpej branches: 1.4.54; 1.4.60;
Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Use ${TOOLDIR}/bin/nbm4.
 1.2 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.1 14-Nov-2001  tv Add autoconf as a host tool, not built by default.
 1.4.60.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.54.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5 20-Sep-2024  rin tools/awk: Adjust for nawk/bin/awk to nawk/bin
 1.4 17-Aug-2024  christos Add maketab tool and adjust for new awk
 1.3 12-Dec-2010  christos branches: 1.3.58;
hook to the new awk in external
 1.2 25-Nov-2008  christos enable extensions for isblank() and solaris
 1.1 19-Oct-2008  apb branches: 1.1.2;
Add awk as a host tool.
 1.1.2.1 28-Nov-2008  snj Pull up following revision(s) (requested by christos in ticket #136):
tools/awk/Makefile: revision 1.2
enable extensions for isblank() and solaris
 1.3.58.1 02-Aug-2025  perseant Sync with HEAD
 1.14 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.13 01-May-2018  christos Centralize NOMAN handling.
 1.12 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.11 16-Mar-2013  christos branches: 1.11.22; 1.11.28;
no man pages for tools build.
 1.10 16-Mar-2013  christos Fix the real problem, Makefile.host was included before the HOST_MKDEP
setup so it prevented correct CPPFLAGS from being used.
 1.9 02-Dec-2012  apb In tools/binstall/Makefile, explicitly use the uninstalled copy
of libnbcompat, not the version that's installed under TOOLDIR.
 1.8 02-Dec-2012  apb Teach tools/binstall/Makefile to use an uninstalled copy of
host-mkdep from the.OBJDIR of tools/host-mkdep. This is
in preparation for building all three of tools/host-mkdep,
tools/compat, and tools/binstall, before installing any of them.
 1.7 03-Jul-2007  joerg branches: 1.7.34; 1.7.40;
Rename nbinstall to ${MACHINE_GNU_PLATFORM}-install as it calls the
target strip. Don't pass down strip as it is not needed any longer.
 1.6 28-Jun-2007  joerg - When compiling nbinstall for the tool chain, use the target strip
and not /usr/bin/strip. This makes nbinstall usable for
cross-compiling in pkgsrc.
- Fix a typo in a comment.
- Fix strip() in the context of (v)fork:
- Build the argument string first using asprintf (simpler) and
avoid leaking memory from the child in the parent.
- Don't use warn in the child, as stdio should be avoided.

OK christos@, tested on Solaris by dmcmahill@.
 1.5 29-Oct-2006  dogcow branches: 1.5.2; 1.5.4;
cross (and native) building works again. woo.
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.5.4.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.5.2.1 23-Aug-2007  liamjfoy Pull up following revision(s) (requested by joerg in ticket #823):
usr.bin/xinstall/xinstall.c: revision 1.102
tools/binstall/Makefile: revision 1.6
tools/binstall/Makefile: revision 1.7
share/mk/bsd.own.mk: revision 1.496
- When compiling nbinstall for the tool chain, use the target strip
and not /usr/bin/strip. This makes nbinstall usable for
cross-compiling in pkgsrc.
- Fix a typo in a comment.
- Fix strip() in the context of (v)fork:
- Build the argument string first using asprintf (simpler) and
avoid leaking memory from the child in the parent.
- Don't use warn in the child, as stdio should be avoided.
OK christos@, tested on Solaris by dmcmahill@.
Rename nbinstall to ${MACHINE_GNU_PLATFORM}-install as it calls the
target strip. Don't pass down strip as it is not needed any longer.
 1.7.40.2 23-Jun-2013  tls resync from head
 1.7.40.1 25-Feb-2013  tls resync with head
 1.7.34.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7.34.1 16-Jan-2013  yamt sync with (a bit old) head
 1.11.28.1 02-May-2018  pgoyette Synch with HEAD
 1.11.22.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.1 17-Feb-2013  christos branches: 1.1.4; 1.1.10;
Create a manifest on windows if the filename requires it, so that it does
not need UAC to execute.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 17-Feb-2013  yamt file mkmanifest was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 17-Feb-2013  tls file mkmanifest was added on branch tls-maxphys on 2013-02-25 00:30:27 +0000
 1.42 24-Sep-2025  rillig revert binutils: build using GNU make instead of BSD make

The change broke the MIPS builds, with error messages like:
> CC itbl-parse.o
> cc: error: itbl-parse.c: No such file or directory
 1.41 24-Sep-2025  rillig binutils: build using GNU make instead of BSD make

The binutils makefiles use expressions of the form $(filter-out ...),
which are only available in GNU make.

Switching to GNU make reduces the diff to upstream.
 1.40 08-Sep-2025  christos use the same hack as in gcc to clean if the binutils version changed.
 1.39 04-Jul-2024  christos Disable zstd for now (used for compressing debugging symbols). It brings
in /usr/pkg/lib which has bad side effects (if for example libiberty is
installed it picks it twice).
 1.38 25-Nov-2023  rin branches: 1.38.2;
tools/binutils: Add support to mknative for binutils.old
 1.37 18-Jan-2023  christos Disable enabling executable stack when the gnu stack note is missing.
Merge common configure arguments.
 1.36 31-Dec-2022  mrg fix the binutils build with read-only source trees

don't play with m68k-parse.c in tools/binutils/Makefile but disable
the rules that rebuild it so we always use the upstream version,
using the standard "NetBSD_DISABLED" method.

this was necessary to build on linux in 2014 (which may or may not
still ne necessary), but it also avoids triggering rebuild rules
based upon the timestamps on .y vs .c.

tested with amiga, amd64, and i386 "build.sh tools" builds.
 1.35 25-Dec-2022  christos Handle both places where m68k-parse can be found (for 2.34 and 2.39)
 1.34 24-Dec-2022  christos Adjust for binutils-2.39
 1.33 18-Sep-2021  christos Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.32 07-May-2021  christos enable initfini-array since all platforms support it.
 1.31 04-Apr-2020  christos put the binutils include before /usr/include to get the right md5.h
 1.30 27-Dec-2018  christos explicitly disable initfini-array; we don't have it yet.
 1.29 07-Nov-2018  christos Adjust for 2.31.1
 1.28 01-May-2018  christos branches: 1.28.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.27 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.26 11-Oct-2016  mrg branches: 1.26.6; 1.26.12;
pass -L in LDFLAGS. clang complains about it to stderr, and configure
checks for headers fail if there are unexpected stderr.
 1.25 26-Jan-2016  christos branches: 1.25.2;
use EXTERNAL_BINUTILS_SUBDIR
 1.24 15-Feb-2014  tsutsui No need to specify ${.OBJDIR} for target files.

It rather fails if MKHOSTOBJ=yes.
 1.23 29-Jan-2014  joerg For the tools build, always use the Bison-created m68 asm parser.
Fixes build on Linux, where the glibc guards trip up the
"must-be-included-first" check in config.h.
 1.22 15-Apr-2012  mrg branches: 1.22.2;
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.21 31-Oct-2011  mrg branches: 1.21.2; 1.21.4;
obsolete now useless (and wrongly set to "219" :-) HAVE_BINUTILS.
switch the sense of the gdb and gcc tests to list the platforms not
switched to gcc 4.5 or gdb 7, which is now:

GCC 4.1:
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_CPU} == "arm" || \
${MACHINE_CPU} == "m68k" || \
${MACHINE_CPU} == "vax"

GDB 6:
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "hppa" || \
${MACHINE_CPU} == "mips" || \
${MACHINE_CPU} == "sh3" || \
${MACHINE_ARCH} == "vax"

let's go, people! (-:
 1.20 04-Aug-2011  mrg add --disable-werror. GCC 4.6 doesn't like some of the code here and
rather than patching code to fix it (and one case isn't trivially fixable)
simply turn off -Werror by default here. should fix PR#45140.
 1.19 24-Mar-2011  joerg Enable support for --sysroot in binutils and gcc.
 1.18 20-Nov-2009  skrll Pull in fixes from binutils_2_19 branch.

Bump version and re-run mknative to pick up.
 1.17 14-Oct-2009  skrll Only brand newer binutils.
 1.16 12-Oct-2009  skrll Better branding from mrg
 1.15 10-Oct-2009  snj Adjust bug report URL to reflect htdocs changes.
 1.14 10-Oct-2009  skrll Add some NetBSD branding to binutils.
 1.13 18-Aug-2009  skrll Build binutils 2.19.1 if HAVE_BINUTILS is 219
 1.12 19-Nov-2007  uebayasi target:
cmd1 && cmd2 && cmd3

| | |
v v v

target:
cmd1
cmd2
cmd3

This makes the script (cmd1 && cmd2 && cmd3) slightly easier to debug. No
functional change expected.
 1.11 27-Aug-2006  simonb branches: 1.11.8;
Allow for building a crosstools version of gprof.
Disabled by default, can be enabled with MKCROSSGPROF=yes.
 1.10 02-Feb-2006  skrll Adapt native-binutils to new binutils.
 1.9 14-Jan-2005  skrll Revert previous.

We need to fix vax a different way as the move of -B${DESTDIR}/usr/lib/
to CFLAGS filters into the defs.mk files.
 1.8 12-Dec-2004  mrg for mknative, move -B from CC to CFLAGS, fixes vax configs
 1.7 04-Dec-2003  mrg move libaries back to gnu/lib
 1.6 04-Dec-2003  mrg build lib{opcodes,bfd,iberty} back in gnu/lib instead of gnu/usr.bin/binutils
as they are needed earlier than when gnu/usr.bin/binutils is built when
"make -j" is used.
 1.5 01-Dec-2003  mrg fix a bug in previous:
don't pass -L${DESTDIR}/usr/lib twice, pass it once with -L${DESTDIR}/lib.
 1.4 27-Nov-2003  mrg all `tooldir/nbmake-$ARCH native-binutils' support, to regenerate binutils
configury files for the integrated toolchain.
 1.3 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.2 26-Oct-2003  cl add gdb53 as a host tool for use as a crossgdb
replaces gdb50 from toolchain on archs which use gcc3
 1.1 25-Jul-2003  mrg - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
 1.11.8.1 09-Jan-2008  matt sync with HEAD
 1.21.4.1 07-May-2012  riz branches: 1.21.4.1.2;
Pull up following revision(s) (requested by mrg in ticket #207):
tools/gmp/Makefile: revision 1.2
tools/mpfr/Makefile: revision 1.2
tools/file/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.22
tools/mpc/Makefile: revision 1.2
force ac_cv_path_mkdir to be set to nbinstall -d. this will avoid
gmp/configure from trying to use its install-sh for mkdir -p, and
should fix sourcesets created tarball builds.
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.21.4.1.2.2 20-Nov-2012  matt Make sure binutils is using sysroot regardless of version.
 1.21.4.1.2.1 20-Nov-2012  matt Support building GPL2 versions of binutils, dbsym, gdb, and mdsetimage
 1.21.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.21.2.1 17-Apr-2012  yamt sync with head
 1.22.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.26.12.3 18-Jan-2019  pgoyette Synch with HEAD
 1.26.12.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.26.12.1 02-May-2018  pgoyette Synch with HEAD
 1.26.6.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.28.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.28.2.1 10-Jun-2019  christos Sync with HEAD
 1.38.2.1 02-Aug-2025  perseant Sync with HEAD
 1.16 30-Jun-2024  christos 2.39 - mknative-binutils.old
2.42 - mknative-binutils
 1.15 07-Feb-2023  christos branches: 1.15.2;
remap arm directory names, the same way the source does.
 1.14 24-Dec-2022  christos Adjust for binutils-2.39
 1.13 04-Apr-2020  christos rename libctf to libgnuctf
 1.12 04-Apr-2020  christos Handle libctf new in binutils 2.34
 1.11 08-Nov-2018  christos need global replace
 1.10 07-Nov-2018  christos Adjust for 2.31.1
 1.9 01-Oct-2013  skrll branches: 1.9.24; 1.9.26;
Grab enable_initfini_array from the ld Makefile
 1.8 25-Sep-2011  christos branches: 1.8.2; 1.8.8;
adjust for new gas Makefile
 1.7 09-Nov-2009  skrll Collect the branding information.
 1.6 08-Nov-2009  skrll Update for new binutils location, etc.
 1.5 02-Feb-2006  skrll Create MD libiberty files.
 1.4 10-Dec-2004  mrg fix the sed expression that pulls VPATH out of the makefile to work
with any number of tabs or spaces after the equal sign.
 1.3 04-Dec-2003  mrg move libaries back to gnu/lib
 1.2 27-Nov-2003  mrg move binutils lib{iberty,opcodes,bfd} to usr.bin/binutils.
 1.1 27-Nov-2003  mrg all `tooldir/nbmake-$ARCH native-binutils' support, to regenerate binutils
configury files for the integrated toolchain.
 1.8.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.26.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.26.1 10-Jun-2019  christos Sync with HEAD
 1.9.24.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.15.2.1 01-Jul-2024  perseant Sync with HEAD.
 1.3 01-Jul-2024  christos sprinkle .old
 1.2 30-Jun-2024  christos 2.39 - mknative-binutils.old
2.42 - mknative-binutils
 1.1 25-Nov-2023  rin branches: 1.1.2;
tools/binutils: Add support to mknative for binutils.old
 1.1.2.2 02-Aug-2025  perseant Sync with HEAD
 1.1.2.1 01-Jul-2024  perseant Sync with HEAD.
 1.3 04-Jun-2012  joerg Build getcap.c only once.
 1.2 08-Dec-2002  thorpej branches: 1.2.54;
Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.2.54.1 30-Oct-2012  yamt sync with head
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 10-Jun-2002  mason branches: 1.1.2;
Add cat(1) as a host tool.
 1.1.2.2 11-Jun-2002  lukem Pull up revision 1.1 (requested by mason in ticket #245):
Add cat(1) as a host tool.
 1.1.2.1 10-Jun-2002  lukem file Makefile was added on branch netbsd-1-6 on 2002-06-11 15:53:48 +0000
 1.3 29-Oct-2006  dogcow cross (and native) building works again. woo.
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 31-Mar-2002  bjh21 Add cksum as a host tool.
 1.96 22-Oct-2025  roy rbtree: Rename rb.c to rbtree.c to match it's header rbtree.h

While here rename RBTEST to RBLOCAL to give a better meaning as we
want to include the local rbtest.h rather than the system one.

Also allow to compile outside of NetBSD source tree by guarding some
things we would otherwise expect to be defined.
 1.95 18-Sep-2025  christos Add more functions needed by mandoc
 1.94 14-May-2025  riastradh branches: 1.94.2;
tools/compat: Don't leave unfinished config.cache around on error.
 1.93 31-Oct-2024  jakllsch Add shquote to libnbcompat
 1.92 30-May-2023  lukem branches: 1.92.2;
tools/compat: use autoreconf, support MAKEVERBOSE

Use autoreconf instead of autoconf + autoheader;
we'll need aclocal in the near future.

If MAKEVERBOSE >= 2, add -v to autoreconf.
 1.91 23-May-2023  lukem tools/compat: MAKEVERBOSE support in regen
 1.90 18-Sep-2021  christos branches: 1.90.2;
Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.89 25-Feb-2021  christos Add reallocarray; this is used by the new regex code and we don't want to
convert it to reallocarr so the code is kept similar with the original from
FreeBSD.
 1.88 13-Jun-2020  lukem tools: configure --silent if MAKEVERBOSE == 0
 1.87 08-May-2019  thorpej branches: 1.87.2;
Fix building libprop as a host tool library on platforms that don't have
the Matt Thomas rbtree:

- Include rb.c in libnbcompat, and provide a nbcompat sys/rbtree.h
header.
- Make sure libprop's source file include prop_object_impl.h before
anything else, and pull in nbtool_config.h from there.

Tested by simulating such a host system by renaming the host's
<sys/rbtree.h> out of the way (which reproduced the build failure)
and verifying that the host-tool installboot contained the rb_*
functions in its own .text segment.
 1.86 30-Aug-2018  christos deal with getsubopt and strncasecmp (needed by mdocml)
 1.85 16-Aug-2018  christos add strncasecmp
 1.84 11-Aug-2018  christos Add strcasecmp
 1.83 01-May-2018  christos branches: 1.83.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.82 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.81 06-Mar-2016  aymeric branches: 1.81.8; 1.81.14;
add our libc's regex implementation to libnbcompat.

This way, nbsed picks it up and it unbreaks the build of xf86-video-intel-old's
man page under Linux and probably other future changes which rightfully expect
the (net)bsd behaviour.

Full release tested on ArchLinux and NetBSD 7.0_STABLE
 1.80 01-Mar-2016  martin Revert to rev 1.77 for now on Aymeric's request
 1.79 01-Mar-2016  aymeric remove regsub.c from the list of files to build because it unbreaks the build
and this API is not yet endorsed. OK christos@
 1.78 29-Feb-2016  aymeric add our libc's regex implementation to libnbcompat.

This way, nbsed picks it up and it unbreaks the build of xf86-video-intel-old's
man page under Linux and probably other future changes which rightfully expect
the (net)bsd behaviour.
 1.77 09-Jan-2016  christos lex source moved.
 1.76 17-Sep-2015  christos undo previous; include is in ${.OBJDIR}
 1.75 17-Sep-2015  christos make this more robust by using .CURDIR to cd.
 1.74 26-Jul-2015  kamil Add reallocarr(3) to tools/compat

This should unbreak libutil(3) creation on systems withot reallocarr(3).
 1.73 18-Jan-2015  christos add strtoi strtou (Kamil Rytarowski)
 1.72 16-Jan-2014  christos branches: 1.72.4;
Add the {v,}{err,warn}c functions
 1.71 09-Jan-2014  apb Declare and define strnlen if necessary.
 1.70 11-Dec-2013  joerg Allow kernel code to access constant databases by moving cdbr(3) and the
required mi_vector_hash(3) into src/common.
 1.69 06-Aug-2013  apb Compile snprintb.c into libnbcompat. The source file is found in the
common/lib/libutil directory.
 1.68 05-Mar-2013  christos add dprintf
 1.67 10-Dec-2012  christos first define HOSTLIB and then include bsd.own.mk!
 1.66 09-Dec-2012  christos restore the find loop to include files generated by configure
 1.65 09-Dec-2012  christos handle the list of files and directories generated dynamically by configure
 1.64 09-Dec-2012  christos make this work
 1.63 09-Dec-2012  christos Include <bsd.own.mk> to give a chance to ${TOOLDIR} to be defined before
using it in rules. Before there was another .mk file included before ${TOOLDIR}
was used.
 1.62 09-Dec-2012  apb Use a "find | while read" loop to install all *.h files anywhere
under ${.OBJDIR}/include, and remove the previous hack of touching a
"dummy" file in each subdirectory. This should fix a problem on some
platforms where include files directly under ${.OBJDIR}/include (not in
a subdirectory) were not installed.
 1.61 02-Dec-2012  apb Make tools/compat/Makefile install the library in
${TOOLDIR}/lib/libnbcompat.a, install the include files in
${TOOLDIR}/include/compat/**, and install defs.mk in
${TOOLDIR}/share/compat/defs.mk. Previously, nothing from
tools/compat was installed under TOOLDIR.

Adjust tools/compat/Makefile to use an uninstalled copy of
host-mkdep from the .OBJDIR of tools/host-mkdep, and an uninstalled
copy of the install program from the .OBJDIR of tools/binstall.
This allows it to be built after tools/host-mkdep is built but
before tools/host-mkdep is installed; and to be installed after
tools/binstall is built but before tools/binstall is installed.
 1.60 02-Dec-2012  apb Teach tools/compat/Makefile to use an uninstalled copy of host-mkdep
from the.OBJDIR of tools/host-mkdep. This is in preparation for
building all three of tools/host-mkdep, tools/compat, and tools/binstall,
before installing any of them.

While here, also move the regen target to the end.
 1.59 04-Jun-2012  joerg branches: 1.59.2;
Add cdbr(3) support to tools/compat.
 1.58 04-Jun-2012  joerg Build getcap.c only once.
 1.57 03-Jun-2012  joerg Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
 1.56 18-Feb-2012  njoly Adjust libyywrap.c location.
 1.55 03-Nov-2011  joerg branches: 1.55.2;
Add getline.c here too.
 1.54 03-Feb-2010  roy branches: 1.54.6;
Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.53 17-Jun-2009  christos add fpurge
 1.52 18-Oct-2008  tsutsui Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
compile_et compile on systems which don't have these BIND headers like Cygwin.

Tested by "build.sh -m i386 -U release" on CYGWIN_NT-5.1-1.5.25,
and should close PR toolchain/29032.
 1.51 28-Sep-2007  lukem add raise_default_signal
 1.50 07-Aug-2007  apb branches: 1.50.2;
More detailed instructions for what to do when editing configure.ac.
In particular, discourage the use of non-tools versions of
autoconf and autoheader.
 1.49 03-Jul-2007  nakayama Add strndup(3) to libnbcompat, since estrndup(3) added into efun.c calls it.
 1.48 14-Dec-2006  he Complete the move of string_to_flags() and flags_to_string() from the
bin/ls sources to libutil:
o Bump libutil minor version number
o Fix uses to include <util.h> to pick up the function definitions
o Fix most uses of flags_to_string() to release the now-malloc()ed result
 1.47 29-Oct-2006  dogcow branches: 1.47.2; 1.47.4;
...and one more for xcompilation (due to lib/libc/hash/sha1/sha1hl.c, sigh.)
 1.46 27-Oct-2006  mrg add ${.CURDIR}/../../common/lib/libc/hash/{rmd160,sha2} to the .PATH
so that these sources are found after this code moved.

(hi christos!)
 1.45 08-Oct-2006  thorpej Put common/lib/libc/stdlib into .PATH. From Hisashi T Fujinaka.
 1.44 26-Aug-2006  christos Some tools need efuns.
 1.43 20-May-2006  christos Don't remove files that are needed for a build after make clean. Before
'make clean; make' failed in tools because necessary configure generated
files were removed. The failure manifested itself with string_to_flags
being undefined in binstall.
 1.42 11-Feb-2006  wiz Redo previous differently: use AH_TOP and AH_BOTTOM macros to insert
header and footer into nbtool_config.h.in directly.
 1.41 11-Feb-2006  wiz Make using autoheader easier:
split off the autogenerated file into nbtool_config_internal.h,
and let nbtool_config.h be a file with the proper wrappers.

This way you can just change configure.ac, run autoconf and autoheader,
verify the result, and commit, but don't have to edit nbtool_config*in
manually every time.
 1.40 20-Dec-2005  christos Search the new common framework.
 1.39 24-Sep-2005  elad Sync with recent MD2 changes.
 1.38 24-Sep-2005  elad Sync with recent changes.
 1.37 13-Sep-2005  christos We don't need any ndbm sources.
 1.36 13-Sep-2005  christos don't use the _foo.c files; all the code is in foo.c now.
 1.35 13-Sep-2005  christos compat reorg.
 1.34 26-Aug-2005  elad Pull in SHA2 routines from libc to nbcompat.
 1.33 19-Aug-2005  christos 64 bit inode changes
 1.32 28-Nov-2004  jmc branches: 1.32.2;
Add heapsort to libnbcompat
 1.31 20-Jun-2004  jmc Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
 1.30 18-Jun-2004  thorpej Use ${_TOOL_PREFIX} as appropriate.
 1.29 03-May-2004  jmc Make this build on non-NetBSD again (specifically linux). Exclude __ndbm13.c
from the imported db sources as well
 1.28 27-Oct-2003  lukem branches: 1.28.2;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.27 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.26 01-Aug-2003  lukem Rework how dependency generation is performed:

* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
This is a change of behaviour. If a Makefile wants the clean semantics
it must specifically append to CLEANFILES.
Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
 1.25 29-Jul-2003  fredb Must add "configure.lineno" to CLEANFILES after updating to autoconf 2.57.
 1.24 03-Jun-2003  uwe Add atoll(3) to libnbcompat. We need it when building target's gcc
for a 64-bit target on a 32-bit host.

NB: There seems to be a bug in either gcc itself or the way we import
it, b/c the incorrect #define HAVE_ATOLL is picked from (e.g. for
sparc64) gnu/usr.bin/gcc/arch/sparc64/auto-host.h - so when gen*
auxilary (host) programs are built in gnu/usr.bin/gcc/backend, they
incorrectly pick-up target's HAVE_ATOLL.

For now providing atoll(3) in libnbcompat is a simple and sufficient
workaround.
 1.23 28-Apr-2003  bjh21 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
!defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them. In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
 1.22 14-Mar-2003  thorpej Add a putc_unlocked().
 1.21 13-Mar-2003  thorpej Disable pre-compiled headers on Darwin.
 1.20 04-Dec-2002  lukem Tweak dependencies so that defs.mk depends upon config.cache, and
config.cache depends upon 'include/.stamp configure config.h.in defs.mk.in'
and runs configure. Forcebly remove config.cache before running configure.

This change means that config.cache is (still) retained between "make clean"
(but not "make cleandir") runs, but is flushed if configure or config.h.in
is changed, as the cache may contain incorrect information in that case.
 1.19 30-Nov-2002  lukem - Migrate fparseln(3) from libutil to libc, where it should have been in
the first place...
- Bump libutil major (to 7.0) and libc minor (to 12.91).
 1.18 29-Nov-2002  lukem replace missing strsuftoll(3)
 1.17 08-Oct-2002  lukem Implement replacements for lchflags(), lchmod(), and lchown(),
which first lstat(2) the target and return EINVAL if it's a symlink,
and then call ch{flags,mod,own} as appropriate.
Removes the need for hokey code inside the tools themselves...
 1.16 06-Oct-2002  lukem Provide strtoll() in libnbcompat.
Should fix relevant build issue on HP-UX and MacOS X hosts.
 1.15 14-Sep-2002  thorpej * Check for mkstemp() and mkdtemp(), and build them into libnbcompat
if necessary.
* mktemp is now a host-tool, so nuke the lame script (which isn't even
properly installed during the tools bootstrap).
 1.14 13-Sep-2002  thorpej * Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.13 18-Apr-2002  tv branches: 1.13.2;
Actually put the include directory timestamp under the "include" directory,
such that nuking the dir by hand also nukes the timestamp.
 1.12 18-Apr-2002  bjh21 Add a stub issetugid() for platforms that don't have it. For now, we assume
that no host program will be installed set-id, so the stub function always
returns 0.
 1.11 01-Apr-2002  bjh21 Revert addition of mkdtemp() to libnbcompat. I don't think we need mktemp(1)
after all.
 1.10 31-Mar-2002  bjh21 Add mkdtemp to libnbcompat, since glibc doesn't have it an mktemp(1) will
need it.
 1.9 31-Mar-2002  bjh21 Add the md[245], sha1 and rmd160 functions to libnbcompat, conditional on their
not being in the host libc.
This will be necessary to make cksum into a host tool.
 1.8 26-Feb-2002  tv Add some more bits of host compatibility.
 1.7 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.6 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.5 24-Jan-2002  lukem - Replace pwcache(3) if necessary (pwcache_userdb(3) is checked for).
Tested on -current and 1.5.3.
- Wrap some long lines.
 1.4 21-Jan-2002  lukem reachover to ../../lib/libutil for fparseln.c
 1.3 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.2 04-Jan-2002  lukem Add replacement fgetln(3) (from lukemftp/libukem), as fparseln(3) uses it
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.13.2.3 12-Jul-2004  he Pull up revision 1.17 (requested by cgd in ticket #1719):
Implement replacements for lchflags(), lchmod(), and
lchown(), to enable cross-building on more host systems.
 1.13.2.2 30-Nov-2002  he Pull up revision 1.15 (requested by thorpej in ticket #807):
o Check for mkstemp() and mkdtemp(), and build them into
libcompat if necessary.
o mktemp is now a host-tool, so remove the now obsoleted
script.
 1.13.2.1 03-Nov-2002  he Pull up revision 1.14 (requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.28.2.1 22-Jun-2004  tron branches: 1.28.2.1.2;
Pull up revision 1.31 (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
 1.28.2.1.2.1 06-Apr-2005  he Pull up revision 1.32 (requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.32.2.1 08-Sep-2005  tron Apply patch (requested by elad in ticket #743):
Introduce SHA2 hashing routines in userland, including the common
helper routines.
 1.47.4.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.47.2.2 18-Nov-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #1224):
tools/compat/Makefile: revision 1.52
tools/compat/configure.ac: revision 1.67
Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
compile_et compile on systems which don't have these BIND headers like
Cygwin.
Tested by "build.sh -m i386 -U release" on CYGWIN_NT-5.1-1.5.25,
and should close PR toolchain/29032.
 1.47.2.1 30-Aug-2007  pavel Pull up following revision(s) (requested by apb in ticket #827):
tools/compat/Makefile: revision 1.50
tools/compat/compat_defs.h: revision 1.60
tools/compat/configure.ac: revision 1.62-1.64
More detailed instructions for what to do when editing configure.ac.
In particular, discourage the use of non-tools versions of
autoconf and autoheader.
Provide definitions for {be,le}{16,32,64}{enc,dec} if necessary.
This is adapted from the very detailed fix provided by
Giles Lean in PR bin/36678.
Only one simplified implementation is provided, instead of the
two implementations conditional on __GNUC_PREREQ__(2,95) that are
provided in NetBSD's <sys/endian.h>. The use of memcpy instead of
__builtin__memcpy, and the absence of __inline or __unused, should make
it independent of GCC.
Update the instructions to say that regen should be done again
to pick up changed RCS IDs.
 1.50.2.1 06-Nov-2007  matt sync with HEAD
 1.54.6.5 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.54.6.4 16-Jan-2013  yamt sync with (a bit old) head
 1.54.6.3 30-Oct-2012  yamt sync with head
 1.54.6.2 17-Apr-2012  yamt sync with head
 1.54.6.1 10-Nov-2011  yamt sync with head
 1.55.2.2 23-Jun-2012  riz Pull up following revision(s) (requested by joerg in ticket #328):
lib/libc/gen/devname.c: revision 1.22
distrib/sparc64/instfs/dot.profile: revision 1.7
distrib/i386/cdroms/install.sh: revision 1.3
tests/lib/libcurses/director/director.c: revision 1.10
lib/libc/include/reentrant.h: revision 1.15
distrib/amd64/cdroms/install.sh: revision 1.3
tests/include/t_paths.c: revision 1.12
share/man/man7/hier.7: revision 1.101
etc/rc.d/sysdb: revision 1.24
include/stdlib.h: revision 1.99
tests/lib/libcurses/Makefile: revision 1.3
distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.27
lib/libc/gen/ttyname.c: revision 1.25
usr.bin/tic/Makefile: revision 1.2
tools/compat/Makefile: revision 1.57
lib/libterminfo/compile.c: revision 1.7
lib/libc/gen/ttyname.c: revision 1.26
lib/libterminfo/compile.c: revision 1.8
tools/compat/Makefile: revision 1.59
tools/compat/cdbw.h: revision 1.1
distrib/i386/installimage/install.sh: revision 1.2
lib/libc/include/namespace.h: revision 1.154
usr.bin/tic/tic.c: revision 1.13
usr.bin/tic/tic.c: revision 1.14
usr.bin/tic/tic.c: revision 1.15
distrib/sets/lists/base/mi: revision 1.996
usr.bin/tic/tic.c: revision 1.16
usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
usr.bin/tic/tic.c: revision 1.17
usr.bin/tic/tic.c: revision 1.18
tools/compat/cdbr.h: revision 1.1
distrib/sparc64/instfs/list: revision 1.25
usr.bin/tic/tic.c: revision 1.19
lib/libc/cdb/cdbw.c: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.5
share/terminfo/Makefile: revision 1.3
usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
usr.sbin/dev_mkdb/Makefile: revision 1.8
lib/libc/gen/ttyname.3: revision 1.23
lib/libc/gen/ttyname.3: revision 1.24
lib/libc/cdb/cdbr.c: revision 1.3
include/cdbw.h: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
lib/libc/gen/devname.3: revision 1.12
tools/compat/compat_defs.h: revision 1.85
tools/compat/compat_defs.h: revision 1.86
lib/libterminfo/term_private.h: revision 1.10
lib/libterminfo/term.c: revision 1.14
usr.bin/tic/tic.1: revision 1.10
lib/libterminfo/term.c: revision 1.15
lib/libterminfo/Makefile.hash: revision 1.5
lib/libterminfo/term.c: revision 1.16
distrib/amd64/installimage/install.sh: revision 1.2
share/man/man5/rc.conf.5: revision 1.152
distrib/sets/lists/tests/mi: revision 1.472
distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
include/paths.h: revision 1.41
bin/ps/ps.1: revision 1.101
lib/libterminfo/terminfo.5.in: revision 1.16
usr.bin/tic/tic.c: revision 1.20
lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.
 1.55.2.1 23-Feb-2012  riz Pull up following revision(s) (requested by tron in ticket #19):
usr.bin/lex/version.h: file removal
usr.bin/lex/main.c: file removal
usr.bin/lex/libmain.c: file removal
usr.bin/lex/COPYING: file removal
usr.bin/lex/misc.c: file removal
usr.bin/lex/Makefile: file removal
usr.bin/lex/dfa.c: file removal
tools/compat/Makefile: revision 1.56
external/bsd/flex/dist/libmain.c: revision 1.2
usr.bin/lex/flexdef.h: file removal
usr.bin/lex/flex.1: file removal
usr.bin/lex/ecs.c: file removal
usr.bin/lex/FlexLexer.h: file removal
usr.bin/lex/libyywrap.c: file removal
usr.bin/lex/config.h: file removal
usr.bin/lex/ccl.c: file removal
usr.bin/lex/NEWS: file removal
usr.bin/lex/flex.skl: file removal
usr.bin/lex/scan.l: file removal
usr.bin/lex/gen.c: file removal
usr.bin/lex/yylex.c: file removal
usr.bin/lex/VERSION: file removal
usr.bin/lex/initscan.c: file removal
usr.bin/lex/sym.c: file removal
usr.bin/lex/tblcmp.c: file removal
usr.bin/lex/nfa.c: file removal
usr.bin/lex/mkskel.sh: file removal
external/bsd/flex/dist/libyywrap.c: revision 1.2
usr.bin/lex/parse.y: file removal
this has not been used for ages.
Adjust libyywrap.c location.
fix prototypes
 1.59.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.59.2.2 23-Jun-2013  tls resync from head
 1.59.2.1 25-Feb-2013  tls resync with head
 1.72.4.1 22-Apr-2015  snj Pull up following revision(s) (requested by roy in ticket #648):
common/lib/libc/stdlib/_strtoi.h: revisions 1.1, 1.2
common/lib/libc/stdlib/strtoi.c: revision 1.1
common/lib/libc/stdlib/strtou.c: revision 1.1
distrib/sets/lists/base/ad.aarch64: patch
distrib/sets/lists/base/ad.arm: patch
distrib/sets/lists/base/ad.mips: patch
distrib/sets/lists/base/ad.powerpc: patch
distrib/sets/lists/base/md.amd64: patch
distrib/sets/lists/base/md.sparc64: patch
distrib/sets/lists/base/shl.mi: patch
distrib/sets/lists/comp/mi: revision 1.1939
distrib/sets/lists/debug/ad.aarch64: patch
distrib/sets/lists/debug/ad.arm: patch
distrib/sets/lists/debug/ad.mips: patch
distrib/sets/lists/debug/ad.powerpc: patch
distrib/sets/lists/debug/md.amd64: patch
distrib/sets/lists/debug/md.sparc64: patch
distrib/sets/lists/debug/shl.mi: patch
include/inttypes.h: revision 1.11
lib/libc/shlib_version: patch
lib/libc/stdlib/Makefile.inc: revision 1.84
lib/libc/stdlib/strtol.3: revisions 1.27-1.31
lib/libc/stdlib/strtoul.3: revisions 1.26-1.29
sys/lib/libkern/Makefile.libkern: revision 1.37
sys/lib/libkern/libkern.h: revision 1.117
tools/compat/Makefile: revision 1.73
tools/compat/compat_defs.h: revision 1.101
tools/compat/configure.ac: revision 1.83
tools/compat/configure: revision 1.82
tools/compat/nbtool_config.h.in: revision 1.36
add strto{i,u} from Kamil Rytarowski as discussed in tech-userlevel.
--
strtoi and strtou additions
--
strtoi and strtou for the kernel
--
strtoi and strtou additions
--
strtoi and strtou man pages
--
strto{i,u}
--
regen
--
Remove trailing whitespace.
--
match variable names with man page (Kamil Rytarowski)
--
cleanups from (Kamil Rytarowski)
--
add strtoi strtou (Kamil Rytarowski)
--
PR/49640: Kamil Rytarowski: Improve error printing
--
Use existing month for Dd.
 1.81.14.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.81.14.1 02-May-2018  pgoyette Synch with HEAD
 1.81.8.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.83.2.1 10-Jun-2019  christos Sync with HEAD
 1.87.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1973):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
usr.bin/nbperf/nbperf.c: revision 1.7
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)
tools/compat/configure (patch for regen from above)

Don't use arc4random for the tools build on NetBSD either.
compat_defs.h explicitly forces _POSIX_SOURCE and this hides the
prototype in stdlib.h.
pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.90.2.2 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1174):

tools/compat/configure.ac: revision 1.111 (patch)
tools/compat/compat_defs.h: revision 1.126 (patch)
tools/compat/compat_defs.h: revision 1.127 (patch)
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)

pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.90.2.1 17-Nov-2024  martin Pull up following revision(s) (requested by kre in ticket #1004):

tools/compat/configure: revision 1.106
lib/libc/string/__strsignal.c: revision 1.26
tools/compat/configure.ac: revision 1.108
tools/compat/nbtool_config.h.in: revision 1.57
usr.bin/elf2aout/elf2aout.c: revision 1.24
tools/compat/Makefile: revision 1.93
sys/arch/macppc/stand/fixcoff/fixcoff.c: revision 1.13
tools/compat/compat_defs.h: revision 1.123

Include <arpa/inet.h> for htonl() (From Jan-Benedict Glaw)
Probably this should be using htobe32() instead of htonl()
(and so <endian.h> rather than <arpa/inet.h>) as there is
no sign of any network anywhere near here. But that's for
another day, and to be done by someone who can test it.

Portability fixes from Jan-Benedict Glaw
The args to help() and usage() need to be const char *
and main() should be declared as returning int.

Add shquote to libnbcompat
Include shquote() in configure tests
Regen for added shquote()

Stop attempting to return a (char*) in place of (const char *)
This removes a cast that was added in 1994, when __strsignal()
returned a char * to convert the const char * element of sys_siglist
into a type that matched.

It should have been removed when __strsignal() was changed to
return const char * in 1998. But wasn't.

This should fix an inane warning (treated as an error) from a
compile stupid enough to allow a natural char * (as in char buf[N])
to be returned as a result (which is, of course, fine), but complains
about returning (char *) applied to a (const char *).
 1.92.2.1 02-Aug-2025  perseant Sync with HEAD
 1.94.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #56):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
tools/compat/nbtool_config.h.in: revision 1.60
tools/compat/nbtool_config.h.in: revision 1.61
lib/libc/stdio/mkstemps.c: revision 1.2
tools/compat/configure: revision 1.108
tools/compat/configure: revision 1.109
tools/compat/nbtool_config.h.in: revision 1.59
tools/compat/Makefile: revision 1.95
tools/compat/configure.ac: revision 1.110

Add more functions needed by mandoc

regen

add vsyslog decl check

regen

Do the nbtool dance.
 1.29 02-Sep-2023  palle Update build instructions for Solaris 10 hosts
 1.28 24-Aug-2023  palle Update build instructions for Solaris 11.3 hosts
 1.27 23-Aug-2023  palle Update build instructions for Solaris 11.3 hosts
 1.26 15-Aug-2023  palle Update build instructions for Solaris 10 and Solaris 11.3 hosts
 1.25 14-Aug-2023  palle Update build instructions for Solaris 11.4 (CBE) hosts
 1.24 30-Jul-2023  palle Update build instruction for Solaris 11.4 (CBE) hosts
 1.23 16-Jul-2023  palle Update build instructions for Solaris 11.4 hosts: specify HOST_SH and note standards
 1.22 05-Jul-2023  palle Update build instruction for Solaris 11.4 hosts
 1.21 11-Jul-2021  cjep Final note on OpenBSD cross-buildling. Remaining issues were due to
default limits on the build host.
 1.20 04-Jul-2021  cjep LLVM RT library will actually cross-build from OpenBSD provided sufficient
limits are in place for the build user.
 1.19 29-Jun-2021  cjep Note OpenBSD cross-build progress
 1.18 28-Jun-2021  cjep avoid triggering conflict indicator warnings
 1.17 28-Jun-2021  cjep note on Darwin/Mac
 1.16 12-May-2021  cjep Add macOS High Sierra to the list of verified build platforms
 1.15 07-May-2021  cjep branches: 1.15.2;
More test notes from using build.sh against non NetBSD platforms.
 1.14 06-May-2021  cjep Update with information from recent testing of different Linux variants
on AWS. Also FreeBSD 13.
 1.13 09-Sep-2018  palle Add instructions for building NetBSD on modern Solaris 11 hosts
 1.12 05-Apr-2005  jmc branches: 1.12.82; 1.12.84;
Update notes for testing on linux, OS/X
 1.11 22-Jun-2004  jmc Note on NetBSD that _NETBSD_SOURCE should never be defined and it's an error
if it is
 1.10 29-Dec-2003  jmc List that all hosts require a posix sh and override with HOST_SH if needed.
Start a list of any other general tools assumed (gzip being the only one
right now).
Note that redhat8 works with no special settings.
 1.9 17-Nov-2003  dbj note successful build on Mac OS 10.3 with xcode 1.0 developer tools
 1.8 29-Sep-2002  lukem It's "HP-UX" not "HP/UX". (Thanks Giles).
 1.7 22-Sep-2002  lukem preliminary HP/UX notes from Giles; it needs zlib.
(as Solaris, Linux and HP/UX all mention they need zlib and it should
be part of libnbcompat, maybe this is a hint for us to get a move on
and do that :)
 1.6 16-Sep-2002  briggs Note that RedHat 7.3 hosts successfully as of today with the caveat that
LANG=C must be in the environment.
 1.5 13-Sep-2002  thorpej Update Solaris section (again).
 1.4 13-Sep-2002  thorpej * Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.3 28-Apr-2002  bjh21 branches: 1.3.2;
I believe I've fixed nbmake's dependency on /bin/sh.
 1.2 24-Apr-2002  bjh21 src/tools/dbsym has been buildable on non-NetBSD systems for some time.
 1.1 01-Feb-2002  tv Cross-hosting notes for foreign OS's. (Currently Linux, Solaris, and older
releases of NetBSD.)
 1.3.2.2 03-Nov-2002  he Pull up revision 1.5 (requested by thorpej in ticket #801):
Update Solaris section.
 1.3.2.1 03-Nov-2002  he Pull up revision 1.4 (requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.12.84.1 10-Jun-2019  christos Sync with HEAD
 1.12.82.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.15.2.1 31-May-2021  cjep sync with head
 1.2 20-Jul-2023  lukem tools/compat: regen
 1.1 30-May-2023  lukem tools/compat: regen
 1.2 11-Dec-2013  joerg Allow kernel code to access constant databases by moving cdbr(3) and the
required mi_vector_hash(3) into src/common.
 1.1 04-Jun-2012  joerg branches: 1.1.2; 1.1.4; 1.1.6;
Add cdbr(3) support to tools/compat.
 1.1.6.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.2 30-Oct-2012  yamt sync with head
 1.1.6.1 04-Jun-2012  yamt file cdbr.h was added on branch yamt-pagecache on 2012-10-30 19:00:11 +0000
 1.1.4.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.2.2 23-Jun-2012  riz Pull up following revision(s) (requested by joerg in ticket #328):
lib/libc/gen/devname.c: revision 1.22
distrib/sparc64/instfs/dot.profile: revision 1.7
distrib/i386/cdroms/install.sh: revision 1.3
tests/lib/libcurses/director/director.c: revision 1.10
lib/libc/include/reentrant.h: revision 1.15
distrib/amd64/cdroms/install.sh: revision 1.3
tests/include/t_paths.c: revision 1.12
share/man/man7/hier.7: revision 1.101
etc/rc.d/sysdb: revision 1.24
include/stdlib.h: revision 1.99
tests/lib/libcurses/Makefile: revision 1.3
distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.27
lib/libc/gen/ttyname.c: revision 1.25
usr.bin/tic/Makefile: revision 1.2
tools/compat/Makefile: revision 1.57
lib/libterminfo/compile.c: revision 1.7
lib/libc/gen/ttyname.c: revision 1.26
lib/libterminfo/compile.c: revision 1.8
tools/compat/Makefile: revision 1.59
tools/compat/cdbw.h: revision 1.1
distrib/i386/installimage/install.sh: revision 1.2
lib/libc/include/namespace.h: revision 1.154
usr.bin/tic/tic.c: revision 1.13
usr.bin/tic/tic.c: revision 1.14
usr.bin/tic/tic.c: revision 1.15
distrib/sets/lists/base/mi: revision 1.996
usr.bin/tic/tic.c: revision 1.16
usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
usr.bin/tic/tic.c: revision 1.17
usr.bin/tic/tic.c: revision 1.18
tools/compat/cdbr.h: revision 1.1
distrib/sparc64/instfs/list: revision 1.25
usr.bin/tic/tic.c: revision 1.19
lib/libc/cdb/cdbw.c: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.5
share/terminfo/Makefile: revision 1.3
usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
usr.sbin/dev_mkdb/Makefile: revision 1.8
lib/libc/gen/ttyname.3: revision 1.23
lib/libc/gen/ttyname.3: revision 1.24
lib/libc/cdb/cdbr.c: revision 1.3
include/cdbw.h: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
lib/libc/gen/devname.3: revision 1.12
tools/compat/compat_defs.h: revision 1.85
tools/compat/compat_defs.h: revision 1.86
lib/libterminfo/term_private.h: revision 1.10
lib/libterminfo/term.c: revision 1.14
usr.bin/tic/tic.1: revision 1.10
lib/libterminfo/term.c: revision 1.15
lib/libterminfo/Makefile.hash: revision 1.5
lib/libterminfo/term.c: revision 1.16
distrib/amd64/installimage/install.sh: revision 1.2
share/man/man5/rc.conf.5: revision 1.152
distrib/sets/lists/tests/mi: revision 1.472
distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
include/paths.h: revision 1.41
bin/ps/ps.1: revision 1.101
lib/libterminfo/terminfo.5.in: revision 1.16
usr.bin/tic/tic.c: revision 1.20
lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.
 1.1.2.1 04-Jun-2012  riz file cdbr.h was added on branch netbsd-6 on 2012-06-23 22:54:56 +0000
 1.1 03-Jun-2012  joerg branches: 1.1.2; 1.1.6;
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
 1.1.6.2 30-Oct-2012  yamt sync with head
 1.1.6.1 03-Jun-2012  yamt file cdbw.h was added on branch yamt-pagecache on 2012-10-30 19:00:11 +0000
 1.1.2.2 23-Jun-2012  riz Pull up following revision(s) (requested by joerg in ticket #328):
lib/libc/gen/devname.c: revision 1.22
distrib/sparc64/instfs/dot.profile: revision 1.7
distrib/i386/cdroms/install.sh: revision 1.3
tests/lib/libcurses/director/director.c: revision 1.10
lib/libc/include/reentrant.h: revision 1.15
distrib/amd64/cdroms/install.sh: revision 1.3
tests/include/t_paths.c: revision 1.12
share/man/man7/hier.7: revision 1.101
etc/rc.d/sysdb: revision 1.24
include/stdlib.h: revision 1.99
tests/lib/libcurses/Makefile: revision 1.3
distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.27
lib/libc/gen/ttyname.c: revision 1.25
usr.bin/tic/Makefile: revision 1.2
tools/compat/Makefile: revision 1.57
lib/libterminfo/compile.c: revision 1.7
lib/libc/gen/ttyname.c: revision 1.26
lib/libterminfo/compile.c: revision 1.8
tools/compat/Makefile: revision 1.59
tools/compat/cdbw.h: revision 1.1
distrib/i386/installimage/install.sh: revision 1.2
lib/libc/include/namespace.h: revision 1.154
usr.bin/tic/tic.c: revision 1.13
usr.bin/tic/tic.c: revision 1.14
usr.bin/tic/tic.c: revision 1.15
distrib/sets/lists/base/mi: revision 1.996
usr.bin/tic/tic.c: revision 1.16
usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
usr.bin/tic/tic.c: revision 1.17
usr.bin/tic/tic.c: revision 1.18
tools/compat/cdbr.h: revision 1.1
distrib/sparc64/instfs/list: revision 1.25
usr.bin/tic/tic.c: revision 1.19
lib/libc/cdb/cdbw.c: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.5
share/terminfo/Makefile: revision 1.3
usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
usr.sbin/dev_mkdb/Makefile: revision 1.8
lib/libc/gen/ttyname.3: revision 1.23
lib/libc/gen/ttyname.3: revision 1.24
lib/libc/cdb/cdbr.c: revision 1.3
include/cdbw.h: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
lib/libc/gen/devname.3: revision 1.12
tools/compat/compat_defs.h: revision 1.85
tools/compat/compat_defs.h: revision 1.86
lib/libterminfo/term_private.h: revision 1.10
lib/libterminfo/term.c: revision 1.14
usr.bin/tic/tic.1: revision 1.10
lib/libterminfo/term.c: revision 1.15
lib/libterminfo/Makefile.hash: revision 1.5
lib/libterminfo/term.c: revision 1.16
distrib/amd64/installimage/install.sh: revision 1.2
share/man/man5/rc.conf.5: revision 1.152
distrib/sets/lists/tests/mi: revision 1.472
distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
include/paths.h: revision 1.41
bin/ps/ps.1: revision 1.101
lib/libterminfo/terminfo.5.in: revision 1.16
usr.bin/tic/tic.c: revision 1.20
lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.
 1.1.2.1 03-Jun-2012  riz file cdbw.h was added on branch netbsd-6 on 2012-06-23 22:54:56 +0000
 1.127 18-Sep-2025  christos add vsyslog decl check
 1.126 18-Sep-2025  christos Add more functions needed by mandoc
 1.125 05-May-2025  christos branches: 1.125.2;
Add roundup2() used by ctf
 1.124 02-Mar-2025  riastradh libc: New _r variants of heapsort, mergesort, qsort.

Also kheapsort_r for kernel/standalone use.

These variants allow the caller to pass a cookie through to the
comparison function, e.g. if you want to sort an array of indices
into a buffer.

qsort_r is new in POSIX.1-2024; the others are obvious analogues of
our nonstandard extensions for heapsort and mergesort.

PR lib/58931: qsort_r() missing
 1.123 31-Oct-2024  kre Include shquote() in configure tests
 1.122 21-Jul-2023  lukem branches: 1.122.2;
tools/compat/compat_defs.h: improve NAME_MAX compat

Move the NAME_MAX workaround to the <limits.h> section,
and don't assume that _XOPEN_NAME_MAX is available.
 1.121 08-Jul-2023  palle Add support for missing NAME_MAX when building on Solaris hosts
 1.120 30-May-2021  cjep branches: 1.120.4;
PR port-amiga/56188

Include a prototype for __nbcompat_heapsort. The tools for amiga now
build on Darwin where one Amiga specific tool uses heapsort.

Despite being a one-liner, ./build.sh -m amiga tools was tested on
NetBSD, Darwin, FreeBSD & Linux with the change.

Discussed various options with jdc & thorpej. Perhaps in the future
we could look at using qsort instead of heapsort as qsort is
standardised and more likely to be available. We could then remove
heapsort from the compatibility library.
 1.119 24-May-2021  uwe Fix typo in pathname in a comment.
 1.118 25-Feb-2021  christos branches: 1.118.2;
Add reallocarray; this is used by the new regex code and we don't want to
convert it to reallocarr so the code is kept similar with the original from
FreeBSD.
 1.117 23-Feb-2021  rin Fix copy-paste error for heapsort(3), so that it is declared appropriately.
 1.116 19-Jun-2019  kamil branches: 1.116.2;
Add more SunOS types to tools/compat

Add fallback defintions of: uchar_t, ushort_t, uint_t, ulong_t.

Needed by the libctf code on Ubuntu 16.x.
 1.115 19-Jun-2019  kamil Add sys/uio.h & enum uio_seg, enum uio_rw to tools/compat

This is needed for bootstrapping the tools on Ubuntu 16.x.
 1.114 30-Aug-2018  christos deal with getsubopt and strncasecmp (needed by mdocml)
 1.113 11-Aug-2018  christos Add strcasecmp
 1.112 13-Jun-2018  maya branches: 1.112.2;
Revert my previous config test inclusion for u_longlong_t.

Fixing this differently by avoiding the need for the definition.
It also caused a problem in OS X, as I neglected to include a correct header
 1.111 12-Jun-2018  christos Move the typedefs before the header inclusions (except <features.h>) and
explain why.
 1.110 11-Jun-2018  maya Add configure check and fallback definition for u_longlong_t

Should help linux tools compilation of dtrace tools, and not
affect NetBSD.

From Chuck Zmudzinski in current-users, with light modification
by myself.
 1.109 03-Oct-2017  christos branches: 1.109.2;
fix fpurge declaration
 1.108 02-Oct-2017  christos handle __fpurge being declared in <stdio_ext.h>
 1.107 07-Jan-2017  christos branches: 1.107.6;
adjust for SSP (MacOS/X)
 1.106 07-Jan-2017  christos need ctype.h
 1.105 07-Jan-2017  christos Check for declarations, not the existance of functions since some are
visible only when _NETBSD_SOURCE is defined. This avoids || defined(__NetBSD__)
hacks.
 1.104 19-Oct-2016  christos try to fix missing decls
 1.103 21-Sep-2015  pooka branches: 1.103.2;
Add more compat defs for code compiled for !NetBSD targets.

At least GNU Hurd lacks MAXHOSTNAMELEN/MAXPATHLEN/PATH_MAX, so make sure
those have some arbitrary semi-sane values.

from Robert Millan in PR misc/50166, with some modifications from myself
 1.102 26-Jul-2015  kamil Add reallocarr(3) to tools/compat

This should unbreak libutil(3) creation on systems withot reallocarr(3).
 1.101 16-Jan-2015  christos strto{i,u}
 1.100 24-Dec-2014  christos add __UNVOLATILE
 1.99 24-Sep-2014  christos put O_CLOEXEC definition here.
 1.98 01-Sep-2014  apb Copy definitions of __type_min(t), __type_max(t), and some related macros,
from <sys/cdefs.h>, for use when building tools.
 1.97 06-Jun-2014  christos branches: 1.97.2;
Deal with errc/warnc
 1.96 19-Apr-2014  apb Clarify the NetBSD-specific and Linux-specific code at the top of
compat_defs.h:

* Explain why _NETBSD_SOURCE should not be defined on NetBSD.
* Move NetBSD-specific block to the top of the file.
* Improve comment about Linux <feature.h>.
* Move #undef _POSIX_SOURCE and #undef _POSIX_C_SOURCE to the
Linux-specific block instead of a place that would affect all
non-NetBSD platforms. This makes the code match the comment.

This will need to be re-visited if other platforms also need
#undef _POSIX_SOURCE or #undef _POSIX_C_SOURCE. At present, I suspect
that they are needed only for Linux.
 1.95 09-Jan-2014  apb branches: 1.95.2;
fix prototype for strnlen.
 1.94 09-Jan-2014  apb Declare and define strnlen if necessary.
 1.93 24-Oct-2013  apb Define __USE for use during a tools build.
 1.92 18-Aug-2013  joerg Support __format_arg.
 1.91 06-Aug-2013  apb declare snptintb_m() and snprintb() if HAVE_SNPRINTB is not defined.
 1.90 20-Jul-2013  christos revert socklen_t to int (from dh)
 1.89 19-Jul-2013  christos PR/48063: Justin Cormack: incorrect definition of socklen_t
 1.88 05-Mar-2013  christos branches: 1.88.4;
add dprintf
 1.87 17-Feb-2013  christos cygwin defines u_quad_t in <rpc/types.h>, so include this to the headers
we include and test by default.
 1.86 04-Jun-2012  joerg branches: 1.86.2;
Make Alan Barrett happy and add ().
 1.85 03-Jun-2012  joerg Add __predict_true / __predict_false definitions.
 1.84 02-Jun-2012  joerg Don't depend on __P.
 1.83 21-Jan-2012  tsutsui branches: 1.83.2;
Always redefine DEV_BSIZE=512.
All references of DEV_BSIZE in tools are to manipulate target
(i.e. NetBSD's) file images (in installboot(8) and makefs(8) etc.) and
no host's DEV_BSIZE is required for the moment. Closes PR toolchain/42574.
 1.82 03-Nov-2011  joerg Add getline(3) compat glue.
 1.81 05-Sep-2011  jdc branches: 1.81.2;
Add PDP_ENDIAN definition, required for makefs (v7fs).
 1.80 27-Aug-2011  joerg Ensure __printflike exists.
 1.79 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.78 10-Jan-2011  apb Define PRI[diouxX]8. We previously did this only for
16- and 32-bit type, but now PRIu8 is needed for tools/disklabel.

Also define SCN[diouxX]{8,16,32}, the scanf counterparts
to the PRI[diouxX]{8,16,32} macros.

Tested via "build.sh tools" on a system whose native definitions
or the PRI* and SCN* mcros was disabled.
 1.77 14-Jan-2010  christos undef and redefine instead of checking if it is define, from joerg
 1.76 14-Jan-2010  christos provide __arraycount for those that don't have it.
 1.75 11-Nov-2009  tron Revert most of revision 1.73:
We cannot user_from_uid(3) or group_from_gid(3) unless the system
also supports pwcache_userdb(3) and pwcache_groupdb(3). The build will
use the hosts password and user database otherwise. Switch back to the
old behaviour to only the native functions if they are all present.
This fixes cross builds under Mac OS X and FreeBSD.

Fix based on problem analysis provided by Akihiko Hayashi.
 1.74 06-Nov-2009  joerg Define __RCSID and __COPYRIGHT as structure, so that the following
semicolon is consumed.
 1.73 02-Oct-2009  christos split all the password and group translation functions into individual
ifdefs instead of having a large one.
 1.72 24-Feb-2009  sketch Make 'build.sh tools' work with the Sun Studio compiler, although bugs in
some of the generated tools still prevent building a full release using them.
 1.71 03-Feb-2009  dbj branches: 1.71.2;
avoid including grp.h
 1.70 18-Jan-2009  apb Use hex instead of decimal in #if FOO_MAX == 0xffff.... tests, and
append "U" to make the constants unsigned.
 1.69 18-Jan-2009  apb Provide definitions for PRI{d,i,o,u,x,X}{16,32,64}. Many tools
already use [u]int{16,32,64}_t types, and a few already had their own
#ifndef/#define/#endif code for a few of these macros. A future commit
will remove that now-redundant code in the affected tools.
 1.68 06-Jan-2009  agc Apply part of the patch from Julio M. Merino Vidal in

http://mail-index.netbsd.org/source-changes/2009/01/05/msg214884.html

to make the toolchain cross-build on Mac OS X. Nozaki-san has addressed
the other issues.
 1.67 20-Oct-2008  apb branches: 1.67.2;
The tools/compat versions of mkstemp() and mkdtemp() need to call the
internal function that's usually named "__gettemp". However in a cross
build, "__gettemp" is in a namespace reserved for the host system, so we
can't use that. Use "__nbcompat_gettemp" instead, following the example
of several other functions or macros in tools/compat. Previously, this
was handled by using the name "gettemp", but that conflicts with the
local gettemp() function in dist/nawk.
 1.66 20-Oct-2008  dogcow Define __USE_ISOC99 for linux, making the isblank() proto appear.
This is probably not the Right Thing, but it seems to not break anything.
 1.65 30-Oct-2007  tls Try to address mess with user_from_uid and friends by ensuring we always
get our versions if any of the functions aren't present on the host system.

Still assumes if the functions are all there, they work like ours, which
may be a problem too.
 1.64 19-Oct-2007  christos I am now convinced of the error of my ways, and I am checking for all the
decls mtree is using.
 1.63 18-Oct-2007  christos Move linux block up higher as it was before. noted by apb
 1.62 18-Oct-2007  christos - define the NetBSD options before including any files
- add the _NETBSD_TOOLS define to make more symbols visible
- user_from_uid and group_from_gid are renamed only if we don't have them
 1.61 28-Sep-2007  lukem Add raise_default_signal().
 1.60 07-Aug-2007  apb branches: 1.60.2;
Provide definitions for {be,le}{16,32,64}{enc,dec} if necessary.
This is adapted from the very detailed fix provided by
Giles Lean in PR bin/36678.

Only one simplified implementation is provided, instead of the
two implementations conditional on __GNUC_PREREQ__(2,95) that are
provided in NetBSD's <sys/endian.h>. The use of memcpy instead of
__builtin__memcpy, and the absence of __inline or __unused, should make
it independent of GCC.
 1.59 03-Jul-2007  nakayama Add strndup(3) to libnbcompat, since estrndup(3) added into efun.c calls it.
 1.58 09-Jan-2007  ginsbach Fix tools build, binstall/xinstall, for systems without id_t, e.g.
MacOS X 10.3.9. This should better match the NetBSD definition of id_t
in sys/sys/types.h.
 1.57 12-Oct-2006  christos branches: 1.57.2; 1.57.4;
kill __unused
 1.56 09-Oct-2006  christos sideways check for error functions.
 1.55 07-Oct-2006  apb Add definitions for strmode. This was missing from the
patch in PR 31232.
 1.54 29-Sep-2006  apb Use ${HOST_SH} instead of the host system's /bin/sh wherever possible:

* _PATH_BSHELL from the host's <paths.h> might be broken, so override it
with our PATH_BSHELL, which is derived from HOST_SH.
 1.53 20-Aug-2006  thorpej Also check for DIR.__dd_fd. tools/compat now builds on the WWDC developer
preview version of Mac OS X "Leopard".
 1.52 14-Feb-2006  dyoung Two changes to facilitate building tools on Darwin:

1. #undef d_fileno, which is set by Darwin's <dirent.h>,
and which clashes with d_fileno in NetBSD headers.

2. Install the sys/ufs/ header files in nbinclude/ in order
to override Darwin's own, incompatible header files.
 1.51 11-Feb-2006  wiz Define prototypes for strsuftoll and strsuftollx if the one for
strsuftoll was not found by configure. Second part of nbmakefs build
on 3.0.
 1.50 10-Feb-2006  wiz Adapt for bswap* changes in configure.ac.
 1.49 09-Feb-2006  dogcow change #include <sys/endian.h> => #include <machine/endian.h> so that
it's (more) consistent in the tree; this, along with changing tools/compat's
autoconf detection from AC_CHECK_FUNCS to AC_CHECK_DECLS makes the vast
majority of htobe16 and friends' redefinition errors bite the dust.
Tested with -current and FreeBSD.
 1.48 14-Sep-2005  tron Make cross compiling NetBSD under Linux work again. Problem noted by
R. Huvendiek on "current-users" mailing list.
 1.47 27-Aug-2005  uwe UINT8_MAX and UINT16_MAX are needed for disklabel.
 1.46 22-Aug-2005  tron Define "_PATH_VI" if necessary to make cross-building work again under
Solaris (and potentially other platforms) after "disklabel" has been
added to the hosts tools.
 1.45 11-Dec-2004  jmc Provide a definition for __UNCONST since there's no guarentee our sys/cdefs.h
gets pulled in
 1.44 28-Nov-2004  jmc Add heapsort to libnbcompat
 1.43 23-Jun-2004  tron Define "_ISOC99_SOURCE" when building under NetBSD to get the prototypes
for strtoll() and strtoull(). This fixes PR toolchain/26021.
 1.42 22-Jun-2004  jmc Redo the last commit. _NETBSD_SOURCE should never be used/referenced anymore.
So, don't wrap definitions in it, and instead check for it and #error out
if it somehow leaks into scope.

Tested a complete build to sets on x86 from a clean source tree.
 1.41 21-Jun-2004  christos - Wrap around #if !_NETBSD_SOURCE the definitions of u_{long,int,short,char}
- Protect dirfd() macro so that we don't re-define it.

These changes make my build proceed further.

The problem is that automatically generated files, might include system
files before they include anything else (for example our yacc skeleton
includes <stdlib.h> before it does anything else). This foils the scheme
of defining _POSIX_SOURCE and friends so that _NETBSD_SOURCE does not
get defined; in fact, we include many files with _NETBSD_SOURCE defined,
enough to cause confusion in compat_defs.h which tries to re-define things.
 1.40 21-Jun-2004  jmc On NetBSD boxes make sure and provide prototypes for strtouq since quad_t gets
exposed all the time, but routines which use it do not. Otherwise callers
of strtouq will lose.
XXX: Need to come back through here and clean up the configure tests better
for this
 1.39 20-Jun-2004  jmc Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
 1.38 18-Jun-2004  thorpej Oops, missed a spot where we need to handle group_from_gid() separately.
 1.37 18-Jun-2004  thorpej Handle group_from_gid() on its own.
 1.36 14-Jun-2004  jmc Before sucking in stdlib.h check if this is NetBSD. If so, explicitly make
sure to use _POSIX_C_SOURCE and undef _NETBSD_SOURCE so the myriad of NetBSD
extentions don't get pulled into scope (and likely conflict at some point
with branched code trying to build on -current due to drift). Fixes PR#25533

XXX: The entire process here is just wacky and the entire cross tools process
needed to be reviewed to build clean w. just _POSIX_C_SOURCE or the equiv
set on NetBSD hosts or this will lose again somewhere..
 1.35 18-May-2004  sjg Apply patch from OGAWA Takaya to fix FreeBSD hosted builds.
The trick is to force use of the NetBSD versions of user_from_{uid,gid}().

PR: 24843
 1.34 24-Apr-2004  matt Add a compat definition of __packed.
 1.33 23-Apr-2004  christos more constification suggested by kleink.
 1.32 23-Apr-2004  christos adjust to constification of cget*()
 1.31 27-Oct-2003  lukem branches: 1.31.2;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.30 27-Aug-2003  uwe If SIZE_MAX is not defined, but SIZE_T_MAX is defined (e.g. FreeBSD),
define SIZE_MAX as SIZE_T_MAX.
 1.29 27-Jul-2003  lukem If HAVE_SYS_ENDIAN_H, pull in <sys/endian.h>. Fixes build.sh on FreeBSD 5.1.
Fix from Grant Beattie <grant@>
 1.28 18-Jul-2003  fredb As discussed briefly on tech-toolchain, AIX doesn't have "u_long",
so add a check for that. Partial fix for PR toolchain/22177.
 1.27 03-Jun-2003  uwe Add atoll(3) to libnbcompat. We need it when building target's gcc
for a 64-bit target on a 32-bit host.

NB: There seems to be a bug in either gcc itself or the way we import
it, b/c the incorrect #define HAVE_ATOLL is picked from (e.g. for
sparc64) gnu/usr.bin/gcc/arch/sparc64/auto-host.h - so when gen*
auxilary (host) programs are built in gnu/usr.bin/gcc/backend, they
incorrectly pick-up target's HAVE_ATOLL.

For now providing atoll(3) in libnbcompat is a simple and sufficient
workaround.
 1.26 13-Mar-2003  thorpej Check for sys/socket.h and socklen_t.
 1.25 31-Jan-2003  uwe Avoid cgetcap &co prototypes conflicting with those provided by the host.
With this change we can cross-compile on FreeBSD 4.x.
 1.24 27-Jan-2003  uwe Provide __SCCSID() needed by pwd_mkdb.
 1.23 29-Nov-2002  lukem replace missing strsuftoll(3)
 1.22 20-Oct-2002  christos PR/18733: Jed Davis: define _PATH_DEFTAPE; pax needs it.
 1.21 08-Oct-2002  lukem Implement replacements for lchflags(), lchmod(), and lchown(),
which first lstat(2) the target and return EINVAL if it's a symlink,
and then call ch{flags,mod,own} as appropriate.
Removes the need for hokey code inside the tools themselves...
 1.20 06-Oct-2002  lukem Provide strtoll() in libnbcompat.
Should fix relevant build issue on HP-UX and MacOS X hosts.
 1.19 30-Sep-2002  lukem Fix from Giles Lean:
HP-UX has MAP_ANONYMOUS but not MAP_ANON
 1.18 14-Sep-2002  thorpej * Check for mkstemp() and mkdtemp(), and build them into libnbcompat
if necessary.
* mktemp is now a host-tool, so nuke the lame script (which isn't even
properly installed during the tools bootstrap).
 1.17 13-Sep-2002  bjh21 Add __restrict to the set of tokens we #define away: our glob.h uses it.
 1.16 03-Jul-2002  pooka Fine-grain checking somewhat:
* check for user_from_uid() in addition to pwcache_userdb()
* check for svis() in addition to vis()
 1.15 24-Apr-2002  bjh21 branches: 1.15.2;
Rather than hardcoding two possible locations of the POSIX shell (for
Solaris and everything else), set _PATH_BSHELL to the first occurrence of
"sh" on the path. This should be rather more portable.
 1.14 23-Apr-2002  bjh21 Add test for alloca() and <alloca.h>, since Sun Workshop C 5.0 needs this.
 1.13 22-Apr-2002  bjh21 <stdint.h> belongs before <sys/endian.h>.
 1.12 22-Apr-2002  bjh21 Define __CONCAT if the host doesn't.
 1.11 22-Apr-2002  lukem add UINT32_MAX if it's not defined
 1.10 18-Apr-2002  bjh21 Add a stub issetugid() for platforms that don't have it. For now, we assume
that no host program will be installed set-id, so the stub function always
returns 0.
 1.9 04-Apr-2002  bjh21 Add htobe16() and friends, #ifndef HAVE_SYS_ENDIAN_H.
 1.8 04-Apr-2002  bjh21 Replace a spurious hard space (\xa0) with a normal one.
 1.7 07-Mar-2002  tv Need DEV_BSIZE and roundup() for makefs on non-NetBSD hosts.
 1.6 26-Feb-2002  tv Add some more bits of host compatibility.
 1.5 06-Feb-2002  lukem remove btodb() hack now that makefs doesn't need it anymore.
the #define was wrong anyway; it was x<<9 instead of x>>9
 1.4 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.3 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.2 24-Jan-2002  lukem - Replace pwcache(3) if necessary (pwcache_userdb(3) is checked for).
Tested on -current and 1.5.3.
- Wrap some long lines.
 1.1 22-Jan-2002  thorpej Split compat definitions into a separate file so that autoconf
doesn't comment out #undef's that we want to keep.
 1.15.2.6 23-Jul-2004  tron Apply patch (request by dbj in ticket 1723):
Fix building the netbsd-1-6 branch under Darwin/MacOS.
 1.15.2.5 22-Jun-2004  tron Pull up revision 1.40 (requested by jmc in ticket #1717):
On NetBSD boxes make sure and provide prototypes for strtouq since quad_t gets
exposed all the time, but routines which use it do not. Otherwise callers
of strtouq will lose.
XXX: Need to come back through here and clean up the configure tests better
for this
 1.15.2.4 16-Jun-2004  jmc Add some define's to null out RCSID/COPYRIGHT/etc. Also add _PATH_DEFTAPE.
Fixes issues from PR#24481
 1.15.2.3 14-Jun-2004  tron Pull up revision 1.36 (requested by jmc in ticket #1711):
Before sucking in stdlib.h check if this is NetBSD. If so, explicitly make
sure to use _POSIX_C_SOURCE and undef _NETBSD_SOURCE so the myriad of NetBSD
extentions don't get pulled into scope (and likely conflict at some point
with branched code trying to build on -current due to drift). Fixes PR#25533
XXX: The entire process here is just wacky and the entire cross tools process
needed to be reviewed to build clean w. just _POSIX_C_SOURCE or the equiv
set on NetBSD hosts or this will lose again somewhere..
 1.15.2.2 30-Nov-2002  he Pull up revision 1.18 (requested by thorpej in ticket #807):
o Check for mkstemp() and mkdtemp(), and build them into
libcompat if necessary.
o mktemp is now a host-tool, so remove the now obsoleted
script.
 1.15.2.1 03-Nov-2002  he Pull up revision 1.17 (requested by thorpej in ticket #802):
Add __restrict to the set of tokens we #define away: our
glob.h uses it.
 1.31.2.5 23-Jun-2004  jmc branches: 1.31.2.5.2;
Pullup rev 1.43 (requested by tron in ticket #539)

Define "_ISOC99_SOURCE" when building under NetBSD to get the prototypes
for strtoll() and strtoull()
 1.31.2.4 22-Jun-2004  tron Apply patch (requested by jmc in ticket #538):
Fix build problems caused by changes for ticket #527.
 1.31.2.3 22-Jun-2004  tron Pull up revision 1.40 (requested by jmc in ticket #527):
On NetBSD boxes make sure and provide prototypes for strtouq since quad_t gets
exposed all the time, but routines which use it do not. Otherwise callers
of strtouq will lose.
XXX: Need to come back through here and clean up the configure tests better
for this
 1.31.2.2 22-Jun-2004  tron Pull up revision 1.39 via patch (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
 1.31.2.1 14-Jun-2004  tron Pull up revision 1.36 (requested by jmc in ticket #495):
Before sucking in stdlib.h check if this is NetBSD. If so, explicitly make
sure to use _POSIX_C_SOURCE and undef _NETBSD_SOURCE so the myriad of NetBSD
extentions don't get pulled into scope (and likely conflict at some point
with branched code trying to build on -current due to drift). Fixes PR#25533
XXX: The entire process here is just wacky and the entire cross tools process
needed to be reviewed to build clean w. just _POSIX_C_SOURCE or the equiv
set on NetBSD hosts or this will lose again somewhere..
 1.31.2.5.2.1 06-Apr-2005  he Pull up revision 1.44 (requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.57.4.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.57.2.2 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.57.2.1 30-Aug-2007  pavel branches: 1.57.2.1.2;
Pull up following revision(s) (requested by apb in ticket #827):
tools/compat/Makefile: revision 1.50
tools/compat/compat_defs.h: revision 1.60
tools/compat/configure.ac: revision 1.62-1.64
More detailed instructions for what to do when editing configure.ac.
In particular, discourage the use of non-tools versions of
autoconf and autoheader.
Provide definitions for {be,le}{16,32,64}{enc,dec} if necessary.
This is adapted from the very detailed fix provided by
Giles Lean in PR bin/36678.
Only one simplified implementation is provided, instead of the
two implementations conditional on __GNUC_PREREQ__(2,95) that are
provided in NetBSD's <sys/endian.h>. The use of memcpy instead of
__builtin__memcpy, and the absence of __inline or __unused, should make
it independent of GCC.
Update the instructions to say that regen should be done again
to pick up changed RCS IDs.
 1.57.2.1.2.1 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.60.2.1 06-Nov-2007  matt sync with HEAD
 1.67.2.2 07-Jan-2010  snj Apply patch (requested by tron in ticket #1202):
Don't include grp.h Fixes cross-build under Mac OS X 10.6.
 1.67.2.1 15-Jan-2009  snj branches: 1.67.2.1.2; 1.67.2.1.4;
Pull up following revision(s) (requested by jmcneill in ticket #270):
tools/compat/compat_defs.h: revision 1.68
Apply part of the patch from Julio M. Merino Vidal in
http://mail-index.netbsd.org/source-changes/2009/01/05/msg214884.html
to make the toolchain cross-build on Mac OS X. Nozaki-san has addressed
the other issues.
 1.67.2.1.4.1 21-Apr-2010  matt sync to netbsd-5
 1.67.2.1.2.1 07-Jan-2010  snj Apply patch (requested by tron in ticket #1202):
Don't include grp.h Fixes cross-build under Mac OS X 10.6.
 1.71.2.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.81.2.4 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.81.2.3 30-Oct-2012  yamt sync with head
 1.81.2.2 17-Apr-2012  yamt sync with head
 1.81.2.1 10-Nov-2011  yamt sync with head
 1.83.2.1 23-Jun-2012  riz Pull up following revision(s) (requested by joerg in ticket #328):
lib/libc/gen/devname.c: revision 1.22
distrib/sparc64/instfs/dot.profile: revision 1.7
distrib/i386/cdroms/install.sh: revision 1.3
tests/lib/libcurses/director/director.c: revision 1.10
lib/libc/include/reentrant.h: revision 1.15
distrib/amd64/cdroms/install.sh: revision 1.3
tests/include/t_paths.c: revision 1.12
share/man/man7/hier.7: revision 1.101
etc/rc.d/sysdb: revision 1.24
include/stdlib.h: revision 1.99
tests/lib/libcurses/Makefile: revision 1.3
distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.27
lib/libc/gen/ttyname.c: revision 1.25
usr.bin/tic/Makefile: revision 1.2
tools/compat/Makefile: revision 1.57
lib/libterminfo/compile.c: revision 1.7
lib/libc/gen/ttyname.c: revision 1.26
lib/libterminfo/compile.c: revision 1.8
tools/compat/Makefile: revision 1.59
tools/compat/cdbw.h: revision 1.1
distrib/i386/installimage/install.sh: revision 1.2
lib/libc/include/namespace.h: revision 1.154
usr.bin/tic/tic.c: revision 1.13
usr.bin/tic/tic.c: revision 1.14
usr.bin/tic/tic.c: revision 1.15
distrib/sets/lists/base/mi: revision 1.996
usr.bin/tic/tic.c: revision 1.16
usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
usr.bin/tic/tic.c: revision 1.17
usr.bin/tic/tic.c: revision 1.18
tools/compat/cdbr.h: revision 1.1
distrib/sparc64/instfs/list: revision 1.25
usr.bin/tic/tic.c: revision 1.19
lib/libc/cdb/cdbw.c: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.5
share/terminfo/Makefile: revision 1.3
usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
usr.sbin/dev_mkdb/Makefile: revision 1.8
lib/libc/gen/ttyname.3: revision 1.23
lib/libc/gen/ttyname.3: revision 1.24
lib/libc/cdb/cdbr.c: revision 1.3
include/cdbw.h: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
lib/libc/gen/devname.3: revision 1.12
tools/compat/compat_defs.h: revision 1.85
tools/compat/compat_defs.h: revision 1.86
lib/libterminfo/term_private.h: revision 1.10
lib/libterminfo/term.c: revision 1.14
usr.bin/tic/tic.1: revision 1.10
lib/libterminfo/term.c: revision 1.15
lib/libterminfo/Makefile.hash: revision 1.5
lib/libterminfo/term.c: revision 1.16
distrib/amd64/installimage/install.sh: revision 1.2
share/man/man5/rc.conf.5: revision 1.152
distrib/sets/lists/tests/mi: revision 1.472
distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
include/paths.h: revision 1.41
bin/ps/ps.1: revision 1.101
lib/libterminfo/terminfo.5.in: revision 1.16
usr.bin/tic/tic.c: revision 1.20
lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.
 1.86.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.86.2.2 23-Jun-2013  tls resync from head
 1.86.2.1 25-Feb-2013  tls resync with head
 1.88.4.1 23-Jul-2013  riastradh sync with HEAD
 1.95.2.1 10-Aug-2014  tls Rebase.
 1.97.2.2 22-Apr-2015  snj Pull up following revision(s) (requested by roy in ticket #648):
common/lib/libc/stdlib/_strtoi.h: revisions 1.1, 1.2
common/lib/libc/stdlib/strtoi.c: revision 1.1
common/lib/libc/stdlib/strtou.c: revision 1.1
distrib/sets/lists/base/ad.aarch64: patch
distrib/sets/lists/base/ad.arm: patch
distrib/sets/lists/base/ad.mips: patch
distrib/sets/lists/base/ad.powerpc: patch
distrib/sets/lists/base/md.amd64: patch
distrib/sets/lists/base/md.sparc64: patch
distrib/sets/lists/base/shl.mi: patch
distrib/sets/lists/comp/mi: revision 1.1939
distrib/sets/lists/debug/ad.aarch64: patch
distrib/sets/lists/debug/ad.arm: patch
distrib/sets/lists/debug/ad.mips: patch
distrib/sets/lists/debug/ad.powerpc: patch
distrib/sets/lists/debug/md.amd64: patch
distrib/sets/lists/debug/md.sparc64: patch
distrib/sets/lists/debug/shl.mi: patch
include/inttypes.h: revision 1.11
lib/libc/shlib_version: patch
lib/libc/stdlib/Makefile.inc: revision 1.84
lib/libc/stdlib/strtol.3: revisions 1.27-1.31
lib/libc/stdlib/strtoul.3: revisions 1.26-1.29
sys/lib/libkern/Makefile.libkern: revision 1.37
sys/lib/libkern/libkern.h: revision 1.117
tools/compat/Makefile: revision 1.73
tools/compat/compat_defs.h: revision 1.101
tools/compat/configure.ac: revision 1.83
tools/compat/configure: revision 1.82
tools/compat/nbtool_config.h.in: revision 1.36
add strto{i,u} from Kamil Rytarowski as discussed in tech-userlevel.
--
strtoi and strtou additions
--
strtoi and strtou for the kernel
--
strtoi and strtou additions
--
strtoi and strtou man pages
--
strto{i,u}
--
regen
--
Remove trailing whitespace.
--
match variable names with man page (Kamil Rytarowski)
--
cleanups from (Kamil Rytarowski)
--
add strtoi strtou (Kamil Rytarowski)
--
PR/49640: Kamil Rytarowski: Improve error printing
--
Use existing month for Dd.
 1.97.2.1 12-Nov-2014  snj Pull up following revision(s) (requested by martin in ticket #216):
share/man/man9/todr.9: revision 1.17
sys/arch/sh3/dev/rtc.c: revision 1.9
sys/dev/clock_subr.c: revision 1.17-1.22
sys/dev/clock_subr.h: revision 1.22
sys/fs/msdosfs/msdosfs_conv.c: revision 1.10
tools/compat/compat_defs.h: revision 1.98
tools/compat/dev/clock_subr.h: revision 1.1-1.2
usr.sbin/makefs/msdos/Makefile.inc: revision 1.6
clock_secs_to_ymdhms(9) takes seconds as a time_t, not int.
--
Make this compile- and usable from userland as well.
--
Add a slightly stripped down version of sys/dev/clock/clock_subr.h to make
this code available for tools.
--
Reformulate an overflow test so it can be used in tool builds (i.e. does
not depend on netbsd specific macros).
--
Make msdosfs time conversion use the y/m/d/h/m/s conversion functions
from clock_subr.c and compile that into the userland (and tools)
makefs as well.
--
Copy definitions of __type_min(t), __type_max(t), and some related macros,
from <sys/cdefs.h>, for use when building tools.
--
Revert previous; test secs > __type_max(time_t) again, now
that __type_max is available in tools/compat/compat_defs.h.
--
If HAVE_NBTOOL_CONFIG_H is set, then include "nbtool_config.h",
because this file is compiled as part of tools/makefs.
--
Counting leap years was fine while we had 32bit time_t - but now it
is not a good idea for dates far away in the future.
For dates in the year 2000 or later, use arithmetic instead (since the
repeating periods are well aligned). Should fix PR 49144.
--
Avoid overflowing the "year" value by making the field uint64_t. Adapt
arguments and local variables accordingly.
This now fixes PR 49144 for real.
--
Adapt formats for debug printfs to clock_subr type changes.
 1.103.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.103.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.103.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.107.6.2 21-Dec-2017  snj revert ticket 435
 1.107.6.1 21-Dec-2017  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/compat_defs.h: 1.108
tools/compat/configure: 1.87-1.88
tools/compat/configure.ac: 1.88-1.89
tools/compat/fpurge.c: 1.2
tools/compat/nbtool_config.h.in: 1.41-1.42
handle __fpurge being declared in <stdio_ext.h>
--
regen
--
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.109.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.109.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.112.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.112.2.1 10-Jun-2019  christos Sync with HEAD
 1.116.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1973):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
usr.bin/nbperf/nbperf.c: revision 1.7
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)
tools/compat/configure (patch for regen from above)

Don't use arc4random for the tools build on NetBSD either.
compat_defs.h explicitly forces _POSIX_SOURCE and this hides the
prototype in stdlib.h.
pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.118.2.1 31-May-2021  cjep sync with head
 1.120.4.2 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1174):

tools/compat/configure.ac: revision 1.111 (patch)
tools/compat/compat_defs.h: revision 1.126 (patch)
tools/compat/compat_defs.h: revision 1.127 (patch)
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)

pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.120.4.1 17-Nov-2024  martin Pull up following revision(s) (requested by kre in ticket #1004):

tools/compat/configure: revision 1.106
lib/libc/string/__strsignal.c: revision 1.26
tools/compat/configure.ac: revision 1.108
tools/compat/nbtool_config.h.in: revision 1.57
usr.bin/elf2aout/elf2aout.c: revision 1.24
tools/compat/Makefile: revision 1.93
sys/arch/macppc/stand/fixcoff/fixcoff.c: revision 1.13
tools/compat/compat_defs.h: revision 1.123

Include <arpa/inet.h> for htonl() (From Jan-Benedict Glaw)
Probably this should be using htobe32() instead of htonl()
(and so <endian.h> rather than <arpa/inet.h>) as there is
no sign of any network anywhere near here. But that's for
another day, and to be done by someone who can test it.

Portability fixes from Jan-Benedict Glaw
The args to help() and usage() need to be const char *
and main() should be declared as returning int.

Add shquote to libnbcompat
Include shquote() in configure tests
Regen for added shquote()

Stop attempting to return a (char*) in place of (const char *)
This removes a cast that was added in 1994, when __strsignal()
returned a char * to convert the const char * element of sys_siglist
into a type that matched.

It should have been removed when __strsignal() was changed to
return const char * in 1998. But wasn't.

This should fix an inane warning (treated as an error) from a
compile stupid enough to allow a natural char * (as in char buf[N])
to be returned as a result (which is, of course, fine), but complains
about returning (char *) applied to a (const char *).
 1.122.2.1 02-Aug-2025  perseant Sync with HEAD
 1.125.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #56):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
tools/compat/nbtool_config.h.in: revision 1.60
tools/compat/nbtool_config.h.in: revision 1.61
lib/libc/stdio/mkstemps.c: revision 1.2
tools/compat/configure: revision 1.108
tools/compat/configure: revision 1.109
tools/compat/nbtool_config.h.in: revision 1.59
tools/compat/Makefile: revision 1.95
tools/compat/configure.ac: revision 1.110

Add more functions needed by mandoc

regen

add vsyslog decl check

regen

Do the nbtool dance.
 1.2 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.1 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.2 08-Nov-2007  christos make it so that we always use our own version of getopt_long as the comment
says.
 1.1 20-Jun-2004  jmc branches: 1.1.2; 1.1.18;
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
 1.1.18.1 09-Jan-2008  matt sync with HEAD
 1.1.2.2 22-Jun-2004  tron Pull up revision 1.1 (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
 1.1.2.1 20-Jun-2004  tron file compat_getopt.h was added on branch netbsd-2-0 on 2004-06-22 07:31:16 +0000
 1.4 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.3 11-Nov-2001  jmc Pull the rmd160 stuff out as mtree now has options to selectively compile
pieces out we won't need during a build.
 1.2 08-Nov-2001  jmc XXX...Complete hack for now.

Add a stub for RMD160File which prints out a warning and returns NULL.

This allows mtree to be built when hosting from a 1.5.x box.
The real solution is to convert the src/tools bits into clean portable tools
and not have them so NetBSD-current centric.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.6 18-Jan-2009  christos Fix struct passwd time fields. From Shin'ichiro TAYA
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 01-Feb-2005  jmc branches: 1.4.24;
Define LOGIN_NAME_MAX explicitly here and override any system provided one
since the compat tools need to use the NetBSD limits, not the local system
ones (and some systems don't provide this yet anyways). Fixes PR#29170
 1.3 18-May-2004  sjg Apply patch from OGAWA Takaya to fix FreeBSD hosted builds.
The trick is to force use of the NetBSD versions of user_from_{uid,gid}().

PR: 24843
 1.2 03-Jul-2002  pooka work around FreeBSD defining user_from_uid() in stdlib.h
 1.1 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.4.24.1 18-May-2008  yamt sync with head.
 1.3 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.2 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.31 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.30 25-Jul-2003  atatat More properly host-tool-ify stat
 1.29 18-Jul-2003  fredb As discussed briefly on tech-toolchain, AIX doesn't have "u_long",
so add a check for that. Partial fix for PR toolchain/22177.
 1.28 14-Mar-2003  thorpej Add a putc_unlocked().
 1.27 13-Mar-2003  thorpej Check for sys/socket.h and socklen_t.
 1.26 29-Nov-2002  lukem replace missing strsuftoll(3)
 1.25 06-Oct-2002  lukem Provide strtoll() in libnbcompat.
Should fix relevant build issue on HP-UX and MacOS X hosts.
 1.24 06-Oct-2002  lukem complete check for lchflags
 1.23 04-Oct-2002  thorpej Check for <poll.h> and poll(2).
 1.22 16-Sep-2002  briggs Always use NetBSD's fts(3) in compat builds. Some systems (notably
Red Hat 7.3, at least) do not have fts(3) implementations that work
correctly with -D_FILE_OFFSET_BITS=64.
 1.21 14-Sep-2002  thorpej * Check for mkstemp() and mkdtemp(), and build them into libnbcompat
if necessary.
* mktemp is now a host-tool, so nuke the lame script (which isn't even
properly installed during the tools bootstrap).
 1.20 13-Sep-2002  thorpej * Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.19 03-Jul-2002  pooka Fine-grain checking somewhat:
* check for user_from_uid() in addition to pwcache_userdb()
* check for svis() in addition to vis()
 1.18 24-Apr-2002  bjh21 branches: 1.18.2;
Rather than hardcoding two possible locations of the POSIX shell (for
Solaris and everything else), set _PATH_BSHELL to the first occurrence of
"sh" on the path. This should be rather more portable.
 1.17 23-Apr-2002  bjh21 Add test for alloca() and <alloca.h>, since Sun Workshop C 5.0 needs this.
 1.16 18-Apr-2002  bjh21 Add a stub issetugid() for platforms that don't have it. For now, we assume
that no host program will be installed set-id, so the stub function always
returns 0.
 1.15 04-Apr-2002  bjh21 Add HAVE_SYS_ENDIAN_H.
 1.14 01-Apr-2002  bjh21 Revert addition of mkdtemp() to libnbcompat. I don't think we need mktemp(1)
after all.
 1.13 31-Mar-2002  bjh21 Add mkdtemp to libnbcompat, since glibc doesn't have it an mktemp(1) will
need it.
 1.12 31-Mar-2002  bjh21 Add the md[245], sha1 and rmd160 functions to libnbcompat, conditional on their
not being in the host libc.
This will be necessary to make cksum into a host tool.
 1.11 07-Mar-2002  tv Add compat defns for uint*_t (the non-underscored ones).
[The logic in all of this is ugly, and should instead be fixed up to use
AC_CHECK_SIZEOF to use primitives if the counterpart type is unavailable.]
 1.10 26-Feb-2002  tv Add some more bits of host compatibility.
 1.9 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.8 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.7 24-Jan-2002  lukem - Replace pwcache(3) if necessary (pwcache_userdb(3) is checked for).
Tested on -current and 1.5.3.
- Wrap some long lines.
 1.6 22-Jan-2002  thorpej Split compat definitions into a separate file so that autoconf
doesn't comment out #undef's that we want to keep.
 1.5 21-Jan-2002  tv Somewhere along the line, the _DIAGASSERT was lost. Re-add it (as a macro
that expands to nothing); only NetBSD hosts really have this.
 1.4 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.3 10-Jan-2002  lukem look for <inttypes.h> and #include if found (for uint*_t)
 1.2 04-Jan-2002  lukem Add replacement fgetln(3) (from lukemftp/libukem), as fparseln(3) uses it
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.18.2.4 23-Jul-2004  tron Apply patch (request by dbj in ticket 1723):
Fix building the netbsd-1-6 branch under Darwin/MacOS.
 1.18.2.3 01-Dec-2002  he Pull up revision 1.22 (requested by thorpej in ticket #834):
Always NetBSD's own fts(3) in compat builds. Some systems
(among them RedHat 7.3) do not have fts(3) implementations
which work correctly with -D_FILE_OFFSET_BITS=64.
 1.18.2.2 30-Nov-2002  he Pull up revision 1.21 (requested by thorpej in ticket #807):
o Check for mkstemp() and mkdtemp(), and build them into
libcompat if necessary.
o mktemp is now a host-tool, so remove the now obsoleted
script.
 1.18.2.1 03-Nov-2002  he Pull up revision 1.20 (via patch, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.109 18-Sep-2025  christos regen
 1.108 18-Sep-2025  christos regen
 1.107 24-Jul-2025  hans branches: 1.107.2;
tools/compat: add definitions of __[u]intXX_t types on systems that lack them

Fixes another cross-build issue on illumos.
 1.106 31-Oct-2024  kre Regen for added shquote()
 1.105 20-Jul-2023  lukem branches: 1.105.2;
tools/compat: regen
 1.104 20-Jul-2023  lukem tools/compat: regen
 1.103 03-Jun-2023  lukem regen
 1.102 30-May-2023  lukem tools/compat: regen
 1.101 29-May-2023  lukem tools/compat: regen
 1.100 23-May-2023  lukem tools/compat: regen for dispatch_semaphore_create
 1.99 25-Feb-2021  christos branches: 1.99.6;
Add reallocarray; this is used by the new regex code and we don't want to
convert it to reallocarr so the code is kept similar with the original from
FreeBSD.
 1.98 24-Jun-2020  uwe Regen: Add AC_MSG_RESULT yes/no to the uio checks.
 1.97 22-Jun-2019  hannken branches: 1.97.2;
Bring back two lines deleted by accident. From Kamil Rytarowski.
 1.96 22-Jun-2019  hannken Update tools/compat/configure for new path of "rpc/types.h".

Remove intermediate patch from rpcgen/Makefile.

Patch from Nick Hudson, errors from me.
 1.95 19-Jun-2019  kamil regen tools/compat
 1.94 19-Jun-2019  kamil Add sys/uio.h & enum uio_seg, enum uio_rw to tools/compat

This is needed for bootstrapping the tools on Ubuntu 16.x.
 1.93 30-Aug-2018  christos deal with getsubopt and strncasecmp (needed by mdocml)
 1.92 16-Aug-2018  christos add strncasecmp
 1.91 11-Aug-2018  christos Add strcasecmp
 1.90 13-Jun-2018  maya branches: 1.90.2;
Revert my previous config test inclusion for u_longlong_t.

Fixing this differently by avoiding the need for the definition.
It also caused a problem in OS X, as I neglected to include a correct header
 1.89 11-Jun-2018  maya Add configure check and fallback definition for u_longlong_t

Should help linux tools compilation of dtrace tools, and not
affect NetBSD.

From Chuck Zmudzinski in current-users, with light modification
by myself.
 1.88 09-Dec-2017  sevan branches: 1.88.2;
regen
 1.87 02-Oct-2017  christos regen
 1.86 07-Jan-2017  christos branches: 1.86.6;
regen
 1.85 19-Oct-2016  christos regen
 1.84 20-Jan-2016  christos branches: 1.84.2;
Regen with autoconf 2.69.
 1.83 26-Jul-2015  kamil Add reallocarr(3) to tools/compat

This should unbreak libutil(3) creation on systems withot reallocarr(3).
 1.82 16-Jan-2015  christos regen
 1.81 06-Jun-2014  christos branches: 1.81.2;
Deal with errc/warnc
 1.80 09-Jan-2014  apb branches: 1.80.2;
regen
 1.79 14-Aug-2013  jmcneill regen
 1.78 09-Aug-2013  jmcneill regen
 1.77 06-Aug-2013  apb regen, to pick up the test for snprintb_m.
 1.76 19-Jul-2013  pooka regen

(XXX: I don't think these files were previously regen'd with the
method documented in configure.ac, and therefore the diffs are now huge)
 1.75 05-Mar-2013  christos branches: 1.75.4;
regen
 1.74 17-Feb-2013  christos regen
 1.73 03-Nov-2011  joerg branches: 1.73.6;
Add getline(3) compat glue.
 1.72 14-Aug-2011  apb branches: 1.72.2;
regen
 1.71 15-Jan-2010  asau Regenerate.
 1.70 16-Jun-2009  christos add fpurge; needed by awk.
 1.69 03-Feb-2009  dbj do not require sys/mtio.h for a tools build of pax
 1.68 05-Jan-2009  tnozaki 1. reworking PR lib/40317:
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.

2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite. so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.

3. fix build breakage when CITRUS=no was set.
 1.67 18-Oct-2008  tsutsui branches: 1.67.2;
Regen from configure.ac rev 1.67:
> Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
> compile_et compile on systems which don't have these BIND headers like Cygwin.
 1.66 14-Oct-2008  tsutsui Regen autoconf stuff using tools version of autoconf (in src/tools/autoconf),
as per suggestion from apb@ on tech-toolchain.
Tested 'build.sh -U release iso-image' on NetBSD/i386 4.99.73.
 1.65 19-Oct-2007  christos I am now convinced of the error of my ways, and I am checking for all the
decls mtree is using.
 1.64 28-Sep-2007  lukem regen for raise_default_signal
 1.63 07-Aug-2007  apb branches: 1.63.2;
Regen after recent changes to configure.ac and compat_defs.h.
(Most of the changes seem to result from somebody having used
non-tools versions of autoconf and autoheader in the past.)
 1.62 03-Jul-2007  nakayama Add strndup(3) to libnbcompat, since estrndup(3) added into efun.c calls it.
 1.61 09-Oct-2006  christos branches: 1.61.2; 1.61.4;
regen.
 1.60 07-Oct-2006  apb regen
 1.59 20-Aug-2006  thorpej Also check for DIR.__dd_fd. tools/compat now builds on the WWDC developer
preview version of Mac OS X "Leopard".
 1.58 22-Feb-2006  dogcow Twiddle configure/configure.ac to check/define/create machine/endian.h; this
should fix PR/32878. Tested on NetBSD-current, FreeBSD4, Solaris8.
 1.57 11-Feb-2006  wiz regen
 1.56 11-Feb-2006  wiz regen
 1.55 11-Feb-2006  wiz regen.
 1.54 09-Feb-2006  wiz regen.
 1.53 09-Feb-2006  dogcow change #include <sys/endian.h> => #include <machine/endian.h> so that
it's (more) consistent in the tree; this, along with changing tools/compat's
autoconf detection from AC_CHECK_FUNCS to AC_CHECK_DECLS makes the vast
majority of htobe16 and friends' redefinition errors bite the dust.
Tested with -current and FreeBSD.
 1.52 02-Feb-2006  dbj regen
 1.51 02-Mar-2005  wiz Remove commas in AC_CHECK_FUNCS that shouldn't be there.
Closes PR 29577 by Valeriy E. Ushakov.
 1.50 13-Jan-2005  jmc Turns out some platforms (freebsd5) expose st_birthtime but not
st_birthtimensec. Make sure and check for both so programs can deal w. it
 1.49 28-Nov-2004  jmc Add heapsort to libnbcompat
 1.48 12-Oct-2004  jmc Check for fstatvfs and provide/use it only if the host system has it.
Fixes PR#27221
 1.47 24-Jul-2004  dbj check for HAVE_STRUCT_STATVFS_F_IOSIZE
addresses PR toolchain/26415
 1.46 24-Jul-2004  dbj remove HAVE_STRUCT_STATFS_F_IOSIZE
this is not currently being used and should be replaced with
HAVE_STRUCT_STATVFS_F_IOSIZE, but that will be done separately.
This commit should be able to be safely pulled up to
the netbsd-2-0 branch to address PR toolchain/26415
 1.45 20-Jun-2004  jmc Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
 1.44 18-Jun-2004  thorpej Regen.
 1.43 12-Nov-2003  dbj branches: 1.43.2;
regen after HAVE_SYS_POLL_H change
 1.42 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.41 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.40 25-Jul-2003  atatat Regen for host-tool-ified stat
 1.39 18-Jul-2003  fredb Regenerate with autoconf 2.57.
 1.38 18-Jul-2003  fredb As discussed briefly on tech-toolchain, AIX doesn't have "u_long",
so add a check for that. Partial fix for PR toolchain/22177.
 1.37 03-Jun-2003  uwe Add atoll(3) to libnbcompat. We need it when building target's gcc
for a 64-bit target on a 32-bit host.

NB: There seems to be a bug in either gcc itself or the way we import
it, b/c the incorrect #define HAVE_ATOLL is picked from (e.g. for
sparc64) gnu/usr.bin/gcc/arch/sparc64/auto-host.h - so when gen*
auxilary (host) programs are built in gnu/usr.bin/gcc/backend, they
incorrectly pick-up target's HAVE_ATOLL.

For now providing atoll(3) in libnbcompat is a simple and sufficient
workaround.
 1.36 14-Mar-2003  thorpej Add a putc_unlocked().
 1.35 13-Mar-2003  thorpej Fix the socklen_t test; we need to explcitly list the headers we want
included for that test.
 1.34 13-Mar-2003  thorpej Check for sys/socket.h and socklen_t.
 1.33 16-Dec-2002  thorpej Include <sys/types.h> before <grp.h>; Mac OS 10.2.2 needs this.
 1.32 16-Dec-2002  thorpej Include <sys/types.h> before including <dirent.h>; Mac OS 10.2.2
needs this.
 1.31 30-Nov-2002  lukem add check back for util.h; needed on some foreign systems
 1.30 30-Nov-2002  lukem - Migrate fparseln(3) from libutil to libc, where it should have been in
the first place...
- Bump libutil major (to 7.0) and libc minor (to 12.91).
 1.29 29-Nov-2002  lukem replace missing strsuftoll(3)
 1.28 07-Oct-2002  briggs Just check for poll.h, don't fail if it's not present.
 1.27 06-Oct-2002  lukem Provide strtoll() in libnbcompat.
Should fix relevant build issue on HP-UX and MacOS X hosts.
 1.26 05-Oct-2002  lukem check for lchflags
 1.25 04-Oct-2002  thorpej Check for <poll.h> and poll(2).
 1.24 16-Sep-2002  briggs Always use NetBSD's fts(3) in compat builds. Some systems (notably
Red Hat 7.3, at least) do not have fts(3) implementations that work
correctly with -D_FILE_OFFSET_BITS=64.
 1.23 14-Sep-2002  thorpej * Check for mkstemp() and mkdtemp(), and build them into libnbcompat
if necessary.
* mktemp is now a host-tool, so nuke the lame script (which isn't even
properly installed during the tools bootstrap).
 1.22 13-Sep-2002  thorpej * Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.21 03-Jul-2002  pooka Fine-grain checking somewhat:
* check for user_from_uid() in addition to pwcache_userdb()
* check for svis() in addition to vis()
 1.20 24-Apr-2002  bjh21 branches: 1.20.2;
Rather than hardcoding two possible locations of the POSIX shell (for
Solaris and everything else), set _PATH_BSHELL to the first occurrence of
"sh" on the path. This should be rather more portable.
 1.19 23-Apr-2002  bjh21 Add test for alloca() and <alloca.h>, since Sun Workshop C 5.0 needs this.
 1.18 22-Apr-2002  bjh21 Create sys/endian.h if it doesn't exist, since rmd160.c includes it directly.
 1.17 19-Apr-2002  tv Emit an empty <stdint.h> if the host doesn't have one. Should fix PR 16416.
 1.16 18-Apr-2002  tv Re-add test for <sys/endian.h>; it disappeared somewhere along the way.
 1.15 18-Apr-2002  bjh21 Add a stub issetugid() for platforms that don't have it. For now, we assume
that no host program will be installed set-id, so the stub function always
returns 0.
 1.14 01-Apr-2002  bjh21 Revert addition of mkdtemp() to libnbcompat. I don't think we need mktemp(1)
after all.
 1.13 31-Mar-2002  bjh21 Add mkdtemp to libnbcompat, since glibc doesn't have it an mktemp(1) will
need it.
 1.12 31-Mar-2002  bjh21 Add the md[245], sha1 and rmd160 functions to libnbcompat, conditional on their
not being in the host libc.
This will be necessary to make cksum into a host tool.
 1.11 07-Mar-2002  tv Don't gratuitously touch the replacement headers in ${.OBJDIR}/include;
instead, touch them only if they're changed.
 1.10 07-Mar-2002  tv Move inttypes.h to list of auto-generated-empty headers.
 1.9 07-Mar-2002  tv Add compat defns for uint*_t (the non-underscored ones).
[The logic in all of this is ugly, and should instead be fixed up to use
AC_CHECK_SIZEOF to use primitives if the counterpart type is unavailable.]
 1.8 26-Feb-2002  tv Add some more bits of host compatibility.
 1.7 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.6 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.5 24-Jan-2002  lukem - Replace pwcache(3) if necessary (pwcache_userdb(3) is checked for).
Tested on -current and 1.5.3.
- Wrap some long lines.
 1.4 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.3 10-Jan-2002  lukem regen from configure.ac 1.3 for <inttypes.h> change
 1.2 04-Jan-2002  lukem Add replacement fgetln(3) (from lukemftp/libukem), as fparseln(3) uses it
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.20.2.4 23-Jul-2004  tron Apply patch (request by dbj in ticket 1723):
Fix building the netbsd-1-6 branch under Darwin/MacOS.
 1.20.2.3 01-Dec-2002  he Pull up revision 1.24 (requested by thorpej in ticket #834):
Always NetBSD's own fts(3) in compat builds. Some systems
(among them RedHat 7.3) do not have fts(3) implementations
which work correctly with -D_FILE_OFFSET_BITS=64.
 1.20.2.2 30-Nov-2002  he Pull up regenerated file (requested by thorpej in ticket #807):
o Check for mkstemp() and mkdtemp(), and build them into
libcompat if necessary.
o mktemp is now a host-tool, so remove the now obsoleted
script.
 1.20.2.1 03-Nov-2002  he Pull up regenerated file (requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.43.2.2 25-Jul-2004  tron branches: 1.43.2.2.2;
Pull up revision 1.46 (requested by dbj in ticket #712):
remove HAVE_STRUCT_STATFS_F_IOSIZE
this is not currently being used and should be replaced with
HAVE_STRUCT_STATVFS_F_IOSIZE, but that will be done separately.
This commit should be able to be safely pulled up to
the netbsd-2-0 branch to address PR toolchain/26415
 1.43.2.1 22-Jun-2004  tron Pull up revision 1.45 (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
 1.43.2.2.2.1 06-Apr-2005  he Pull up revision 1.49 (via patch, requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.61.4.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.61.2.3 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.61.2.2 18-Nov-2008  snj Regen for ticket 1224.
 1.61.2.1 31-Aug-2007  pavel branches: 1.61.2.1.2;
regen for ticket #827. Files provided by apb@.
 1.61.2.1.2.1 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.63.2.1 06-Nov-2007  matt sync with HEAD
 1.67.2.3 02-Nov-2011  riz Pull up following revision(s) (requested by tsutsui in ticket #1676):
tools/compat/configure.ac: revision 1.71
tools/compat/configure: revision 1.71
tools/compat/nbtool_config.h.in: revision 1.24
Test for <sys/endian.h> and provide HAVE_SYS_ENDIAN_H.
Fixes FreeBSD hosted builds (PR 42440 and PR 42470).
Approved by <dholland>.
Regenerate.
 1.67.2.2 03-Oct-2009  snj Pull up following revision(s) (requested by apb in ticket #1020):
bin/pax/Makefile: revision 1.38
bin/pax/ar_io.c: revision 1.49
tools/compat/configure: revision 1.69
tools/compat/configure.ac: revision 1.69
do not require sys/mtio.h for a tools build of pax
 1.67.2.1 15-Jan-2009  snj branches: 1.67.2.1.2; 1.67.2.1.4;
Regen for ticket 270.
 1.67.2.1.4.1 15-Dec-2009  matt Allow tools to build on OSX 10.6 (Snow Leopard).
 1.67.2.1.2.1 03-Oct-2009  snj Pull up following revision(s) (requested by apb in ticket #1020):
bin/pax/Makefile: revision 1.38
bin/pax/ar_io.c: revision 1.49
tools/compat/configure: revision 1.69
tools/compat/configure.ac: revision 1.69
do not require sys/mtio.h for a tools build of pax
 1.72.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.72.2.1 10-Nov-2011  yamt sync with head
 1.73.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.73.6.2 23-Jun-2013  tls resync from head
 1.73.6.1 25-Feb-2013  tls resync with head
 1.75.4.1 23-Jul-2013  riastradh sync with HEAD
 1.80.2.1 10-Aug-2014  tls Rebase.
 1.81.2.1 22-Apr-2015  snj Pull up following revision(s) (requested by roy in ticket #648):
common/lib/libc/stdlib/_strtoi.h: revisions 1.1, 1.2
common/lib/libc/stdlib/strtoi.c: revision 1.1
common/lib/libc/stdlib/strtou.c: revision 1.1
distrib/sets/lists/base/ad.aarch64: patch
distrib/sets/lists/base/ad.arm: patch
distrib/sets/lists/base/ad.mips: patch
distrib/sets/lists/base/ad.powerpc: patch
distrib/sets/lists/base/md.amd64: patch
distrib/sets/lists/base/md.sparc64: patch
distrib/sets/lists/base/shl.mi: patch
distrib/sets/lists/comp/mi: revision 1.1939
distrib/sets/lists/debug/ad.aarch64: patch
distrib/sets/lists/debug/ad.arm: patch
distrib/sets/lists/debug/ad.mips: patch
distrib/sets/lists/debug/ad.powerpc: patch
distrib/sets/lists/debug/md.amd64: patch
distrib/sets/lists/debug/md.sparc64: patch
distrib/sets/lists/debug/shl.mi: patch
include/inttypes.h: revision 1.11
lib/libc/shlib_version: patch
lib/libc/stdlib/Makefile.inc: revision 1.84
lib/libc/stdlib/strtol.3: revisions 1.27-1.31
lib/libc/stdlib/strtoul.3: revisions 1.26-1.29
sys/lib/libkern/Makefile.libkern: revision 1.37
sys/lib/libkern/libkern.h: revision 1.117
tools/compat/Makefile: revision 1.73
tools/compat/compat_defs.h: revision 1.101
tools/compat/configure.ac: revision 1.83
tools/compat/configure: revision 1.82
tools/compat/nbtool_config.h.in: revision 1.36
add strto{i,u} from Kamil Rytarowski as discussed in tech-userlevel.
--
strtoi and strtou additions
--
strtoi and strtou for the kernel
--
strtoi and strtou additions
--
strtoi and strtou man pages
--
strto{i,u}
--
regen
--
Remove trailing whitespace.
--
match variable names with man page (Kamil Rytarowski)
--
cleanups from (Kamil Rytarowski)
--
add strtoi strtou (Kamil Rytarowski)
--
PR/49640: Kamil Rytarowski: Improve error printing
--
Use existing month for Dd.
 1.84.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.84.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.86.6.3 03-Feb-2018  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/configure: revision 1.88 via patch
tools/compat/configure.ac: revision 1.89 via patch
tools/compat/nbtool_config.h.in: revision 1.42
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.86.6.2 21-Dec-2017  snj revert ticket 435
 1.86.6.1 21-Dec-2017  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/compat_defs.h: 1.108
tools/compat/configure: 1.87-1.88
tools/compat/configure.ac: 1.88-1.89
tools/compat/fpurge.c: 1.2
tools/compat/nbtool_config.h.in: 1.41-1.42
handle __fpurge being declared in <stdio_ext.h>
--
regen
--
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.88.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.90.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.90.2.1 10-Jun-2019  christos Sync with HEAD
 1.97.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1973):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
usr.bin/nbperf/nbperf.c: revision 1.7
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)
tools/compat/configure (patch for regen from above)

Don't use arc4random for the tools build on NetBSD either.
compat_defs.h explicitly forces _POSIX_SOURCE and this hides the
prototype in stdlib.h.
pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.99.6.3 19-Oct-2025  martin Apply patch, requested by mrg in ticket #1174:

tools/compat/configure

apply tools/compat/configure.ac rev 1.110 and 1.111:
fixes for modern compilers.
 1.99.6.2 17-Nov-2024  martin Pull up following revision(s) (requested by kre in ticket #1004):

tools/compat/configure: revision 1.106
lib/libc/string/__strsignal.c: revision 1.26
tools/compat/configure.ac: revision 1.108
tools/compat/nbtool_config.h.in: revision 1.57
usr.bin/elf2aout/elf2aout.c: revision 1.24
tools/compat/Makefile: revision 1.93
sys/arch/macppc/stand/fixcoff/fixcoff.c: revision 1.13
tools/compat/compat_defs.h: revision 1.123

Include <arpa/inet.h> for htonl() (From Jan-Benedict Glaw)
Probably this should be using htobe32() instead of htonl()
(and so <endian.h> rather than <arpa/inet.h>) as there is
no sign of any network anywhere near here. But that's for
another day, and to be done by someone who can test it.

Portability fixes from Jan-Benedict Glaw
The args to help() and usage() need to be const char *
and main() should be declared as returning int.

Add shquote to libnbcompat
Include shquote() in configure tests
Regen for added shquote()

Stop attempting to return a (char*) in place of (const char *)
This removes a cast that was added in 1994, when __strsignal()
returned a char * to convert the const char * element of sys_siglist
into a type that matched.

It should have been removed when __strsignal() was changed to
return const char * in 1998. But wasn't.

This should fix an inane warning (treated as an error) from a
compile stupid enough to allow a natural char * (as in char buf[N])
to be returned as a result (which is, of course, fine), but complains
about returning (char *) applied to a (const char *).
 1.99.6.1 30-Jun-2023  martin Pull up following revision(s) (requested by riastradh in ticket #221):

external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c: revision 1.18
external/cddl/osnet/sys/sys/opentypes.h: revision 1.7
tools/compat/configure: revision 1.100
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.6
external/cddl/osnet/dist/tools/ctf/cvt/barrier.h: revision 1.4
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.7
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.8
tools/compat/configure.ac: revision 1.100
external/cddl/osnet/dist/tools/ctf/cvt/tdata.c: revision 1.10
tools/compat/nbtool_config.h.in: revision 1.54

ctfmerge: error check sem_*() and pthread_*() APIs

terminate() if sem_*() returns -1 or pthread_*() returns != 0.
(Set errno from pthread_*() so terminate() prints the strerror message).

Note: Failing on errors instead of ignoring them helps identify
reasons for intermittent failures, such as those on macOS host builds:

ERROR: nbctfmerge: barrier_init: sem_init(bar_sem): Function not implemented

ctfmerge: fix macOS semaphore implementation

Use dispatch_semaphore_create() if present instead of sem_init().
macOS doesn't actually implement sem_init() (et al)
(even though it provides the prototypes as deprecated).

This was detected by the previous commit to ctfmerge
that added error handling.

Implement ctfmerge's barrier operations in terms of
dispatch(3) APIs such as dispatch_semaphore_create() (et al).

Update tools/compat/configure.ac to find dispatch_semaphore_create().
Fixes ctfmerge on macOS hosts.

Inspired by https://stackoverflow.com/a/27847103

tools/compat: regen for dispatch_semaphore_create

ctfmerge: fix macOS semaphore implementation, part 2
dispatch_semaphore_signal() doesn't return an error, just an
indicator of whether a thread was woken or not, so there's
no need to fail on non-zero return.

osnet: on macOS, use <mach/boolean.h> for boolean_t
macOS/x86_64 defines boolean_t as 'unsigned int' not 'int',
which causes a build issue with tools/ctfmerge on that host
after my recent fixes for macOS semaphores.

So use the <mach/boolean.h> instead of a local typedef ifdef __APPLE__.
May fix a macOS/x86_64 build issue reported by cjep@.
Builds fine on NetBSD/amd64 or macOS/arm.

Note: this compat stuff is clunky, and based on the commit log,
annoyingly error prone. A newer sync of osnet from upstream /may/
improve a lot of these compat typedef workarounds for solaris types...
 1.105.2.1 02-Aug-2025  perseant Sync with HEAD
 1.107.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #56):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
tools/compat/nbtool_config.h.in: revision 1.60
tools/compat/nbtool_config.h.in: revision 1.61
lib/libc/stdio/mkstemps.c: revision 1.2
tools/compat/configure: revision 1.108
tools/compat/configure: revision 1.109
tools/compat/nbtool_config.h.in: revision 1.59
tools/compat/Makefile: revision 1.95
tools/compat/configure.ac: revision 1.110

Add more functions needed by mandoc

regen

add vsyslog decl check

regen

Do the nbtool dance.
 1.111 18-Sep-2025  christos add vsyslog decl check
 1.110 18-Sep-2025  christos Add more functions needed by mandoc
 1.109 24-Jul-2025  hans branches: 1.109.2;
tools/compat: add definitions of __[u]intXX_t types on systems that lack them

Fixes another cross-build issue on illumos.
 1.108 31-Oct-2024  kre Include shquote() in configure tests
 1.107 20-Jul-2023  lukem branches: 1.107.2;
tools: binstall can use posix_spawn() instead of vfork()
 1.106 20-Jul-2023  lukem tools/compat: provide nb_check_cc_flag.m4

Implement m4 macro NB_CHECK_CC_FLAG(FLAG, [VAR=FLAG_DERIVED])
Determine if the C compiler supports FLAG,
and sets output variable VAR to FLAG if FLAG is supported.

If VAR is not provided, default to FLAG_DERIVED, which is
FLAG converted to upper-case and all special characters
replaced with "_", and the result prepended with "CC_".
FLAG_DERIVED is appended to the m4 macro NB_CHECK_CC_FLAG_VARS.
E.g., if FLAG is "-Wexample=yes", FLAG_DERIVED is "CC_WEXAMPLE_YES".

This is implemented in separate buildaux/nb_check_cc_flag.m4,
based on configure's NB_CC_FLAG(), but supports VAR override.

Adapt configure from internal NB_CC_FLAG() to NB_CHECK_CC_FLAG().

(Note: AX_CHECK_COMPILE_FLAG() from autoconf-archive could be enhanced
to support the clang and gcc workarounds I've implemented here.)
 1.105 03-Jun-2023  lukem tools/compat: support all bsd.own.mk disabled warnings

Check the host CC support for all the warnings now in <bsd.own.mk>
and override appropriately in defs.mk.

In general there's a 1:1 mapping, with the special case
CC_WNO_ADDRESS_OF_PACKED_MEMBER which is set from both
@CC_WNO_ADDRESS_OF_PACKED_MEMBER@ (gcc) and
@CC_WNO_ERROR_ADDRESS_OF_PACKED_MEMBER@ (clang).
 1.104 30-May-2023  lukem tools/compat: disable host CC warnings

Determine if the host CC supports flags to disable various
warnings similar to <bsd.own.mk> GCC_*, CLANG_*, and CC_*,
and override the <bsd.own.mk> equivalents in defs.mk.

Silences "warning: unknown warning option '...'" from our source.
External source (e.g., binutils and gcc) need their own fixes
to enhance their detection of supported clang compiler flags.
 1.103 30-May-2023  lukem tools/compat: detect supported host compiler flags

Define NB_CC_FLAG(FLAG) to use AX_CHECK_COMPILE_FLAG
to determine if the host compiler supports FLAG
and define and AC_SUBST CC_FLAG if so.

Use workarounds to force clang to hard-fail on unknown -Wwarning,
and gcc to use -WWARN to check unknown -Wno-WARN because the
latter doesn't cause an error in gcc.

In the future we could use NB_CC_FLAG([-fcommon]) for
older NetBSD release branches compiled with host gcc 10+.

Rework Darwin -no-cpp-precomp check to use NB_CC_FLAG().
Note: this flag probably hasn't been required on macOS (Darwin)
for a long time, but serves as a good example on how to use this.

Display varaibles at the end of configure to show what was detected.
 1.102 30-May-2023  lukem tools/compat: don't expose HAVE_PTHREAD_H to make

Non of the tools Makefiles needs HAVE_PTHREAD_H, so don't
AC_SUBST it or provide in defs.mk.
 1.101 29-May-2023  lukem tools/compat/configure.ac: style tweaks

Use "NB_" prefix not "AC_" for our macros ("AC_" is for autoconf).
Fail is NB_ macro isn't defined.
Use AC_DEFUN() instead of define().
Consistently use () in zero argument macro calls.
 1.100 23-May-2023  lukem ctfmerge: fix macOS semaphore implementation

Use dispatch_semaphore_create() if present instead of sem_init().

macOS doesn't actually implement sem_init() (et al)
(even though it provides the prototypes as deprecated).
This was detected by the previous commit to ctfmerge
that added error handling.

Implement ctfmerge's barrier operations in terms of
dispatch(3) APIs such as dispatch_semaphore_create() (et al).

Update tools/compat/configure.ac to find dispatch_semaphore_create().

Fixes ctfmerge on macOS hosts.

Inspired by https://stackoverflow.com/a/27847103.
 1.99 25-Feb-2021  christos branches: 1.99.6;
Add reallocarray; this is used by the new regex code and we don't want to
convert it to reallocarr so the code is kept similar with the original from
FreeBSD.
 1.98 24-Jun-2020  uwe Add AC_MSG_RESULT yes/no to the uio checks.
 1.97 22-Jun-2019  hannken branches: 1.97.2;
Update tools/compat/configure for new path of "rpc/types.h".

Remove intermediate patch from rpcgen/Makefile.

Patch from Nick Hudson, errors from me.
 1.96 19-Jun-2019  kamil Add more SunOS types to tools/compat

Add fallback defintions of: uchar_t, ushort_t, uint_t, ulong_t.

Needed by the libctf code on Ubuntu 16.x.
 1.95 19-Jun-2019  kamil Add sys/uio.h & enum uio_seg, enum uio_rw to tools/compat

This is needed for bootstrapping the tools on Ubuntu 16.x.
 1.94 30-Aug-2018  christos deal with getsubopt and strncasecmp (needed by mdocml)
 1.93 16-Aug-2018  christos add strncasecmp
 1.92 11-Aug-2018  christos Add strcasecmp
 1.91 13-Jun-2018  maya branches: 1.91.2;
Revert my previous config test inclusion for u_longlong_t.

Fixing this differently by avoiding the need for the definition.
It also caused a problem in OS X, as I neglected to include a correct header
 1.90 11-Jun-2018  maya Add configure check and fallback definition for u_longlong_t

Should help linux tools compilation of dtrace tools, and not
affect NetBSD.

From Chuck Zmudzinski in current-users, with light modification
by myself.
 1.89 09-Dec-2017  sevan branches: 1.89.2;
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.

Closes PR toolchain/52797
 1.88 02-Oct-2017  christos handle __fpurge being declared in <stdio_ext.h>
 1.87 07-Jan-2017  christos branches: 1.87.6;
strmode on MacOS/X is in string.h
 1.86 07-Jan-2017  christos Check for declarations, not the existance of functions since some are
visible only when _NETBSD_SOURCE is defined. This avoids || defined(__NetBSD__)
hacks.
 1.85 19-Oct-2016  christos try to fix missing decls
 1.84 26-Jul-2015  kamil branches: 1.84.2;
Add reallocarr(3) to tools/compat

This should unbreak libutil(3) creation on systems withot reallocarr(3).
 1.83 16-Jan-2015  christos strto{i,u}
 1.82 06-Jun-2014  christos branches: 1.82.2;
Deal with errc/warnc
 1.81 09-Jan-2014  apb branches: 1.81.2;
Add strnlen to configure tests in tools/compat
 1.80 14-Aug-2013  jmcneill add test for struct tm tm_gmtoff member
 1.79 09-Aug-2013  jmcneill makefs_udf uses clock_gettime, and on some versions of linux that lives in librt
 1.78 06-Aug-2013  apb Add a configure test for snprintb_m. We will assume that
the rpesence of snprintb_m implies the presence of snprintb.
 1.77 19-Jul-2013  pooka Fix some tests for musl libc -based systems.

from Justin Cormack and Jens Staal
 1.76 05-Mar-2013  christos branches: 1.76.4;
add dprintf
 1.75 17-Feb-2013  christos cygwin defines u_quad_t in <rpc/types.h>, so include this to the headers
we include and test by default.
 1.74 03-Nov-2011  joerg branches: 1.74.6;
Add getline(3) compat glue.
 1.73 14-Aug-2011  apb branches: 1.73.2;
Detect the presence of <pthread.h>, and add a HAVE_PTHREAD_H
variable in defs.mk.
 1.72 14-Aug-2011  apb Prevent expansion of <dollar>NetBSD<dollar> in a string that's
indended to be copied to nbtool_config.h.

Fix most lines longer than 80 columns. I don't know how to fix the
long lines in the definition of NB_CHECK_INTTYPE.
 1.71 15-Jan-2010  asau Test for <sys/endian.h> and provide HAVE_SYS_ENDIAN_H.
Fixes FreeBSD hosted builds (PR 42440 and PR 42470).

Approved by <dholland>.
 1.70 16-Jun-2009  christos add fpurge; needed by awk.
 1.69 03-Feb-2009  dbj do not require sys/mtio.h for a tools build of pax
 1.68 05-Jan-2009  tnozaki 1. reworking PR lib/40317:
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.

2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite. so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.

3. fix build breakage when CITRUS=no was set.
 1.67 18-Oct-2008  tsutsui branches: 1.67.2;
Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
compile_et compile on systems which don't have these BIND headers like Cygwin.

Tested by "build.sh -m i386 -U release" on CYGWIN_NT-5.1-1.5.25,
and should close PR toolchain/29032.
 1.66 19-Oct-2007  christos I am now convinced of the error of my ways, and I am checking for all the
decls mtree is using.
 1.65 28-Sep-2007  lukem Add raise_default_signal().
 1.64 07-Aug-2007  apb branches: 1.64.2;
Update the instructions to say that regen should be done again
to pick up changed RCS IDs.
 1.63 07-Aug-2007  apb Provide definitions for {be,le}{16,32,64}{enc,dec} if necessary.
This is adapted from the very detailed fix provided by
Giles Lean in PR bin/36678.

Only one simplified implementation is provided, instead of the
two implementations conditional on __GNUC_PREREQ__(2,95) that are
provided in NetBSD's <sys/endian.h>. The use of memcpy instead of
__builtin__memcpy, and the absence of __inline or __unused, should make
it independent of GCC.
 1.62 07-Aug-2007  apb More detailed instructions for what to do when editing configure.ac.
In particular, discourage the use of non-tools versions of
autoconf and autoheader.
 1.61 03-Jul-2007  nakayama Add strndup(3) to libnbcompat, since estrndup(3) added into efun.c calls it.
 1.60 09-Oct-2006  christos branches: 1.60.2; 1.60.4;
sideways check for error functions.
 1.59 07-Oct-2006  elad PR/31232: Wim Lewis: tools/compat doesn't check for pre-existence of
strmode()

Commited slightly different diff, input and okay from apb@
 1.58 20-Aug-2006  thorpej Also check for DIR.__dd_fd. tools/compat now builds on the WWDC developer
preview version of Mac OS X "Leopard".
 1.57 22-Feb-2006  dogcow Twiddle configure/configure.ac to check/define/create machine/endian.h; this
should fix PR/32878. Tested on NetBSD-current, FreeBSD4, Solaris8.
 1.56 11-Feb-2006  wiz Redo previous differently: use AH_TOP and AH_BOTTOM macros to insert
header and footer into nbtool_config.h.in directly.
 1.55 11-Feb-2006  wiz Make using autoheader easier:
split off the autogenerated file into nbtool_config_internal.h,
and let nbtool_config.h be a file with the proper wrappers.

This way you can just change configure.ac, run autoconf and autoheader,
verify the result, and commit, but don't have to edit nbtool_config*in
manually every time.
 1.54 11-Feb-2006  wiz Add AC_CHECK_DECLS test for strsuftoll. hannken reports it is needed
for building nbmakefs on 3.0/i386.
 1.53 09-Feb-2006  wiz Use the AC_DEFINE version with three arguments consistently, since
then autoheader works too.
Replace the remaining abusers of AC_CHECK_FUNCS with AC_CHECK_DECLS
too.
 1.52 09-Feb-2006  dogcow change #include <sys/endian.h> => #include <machine/endian.h> so that
it's (more) consistent in the tree; this, along with changing tools/compat's
autoconf detection from AC_CHECK_FUNCS to AC_CHECK_DECLS makes the vast
majority of htobe16 and friends' redefinition errors bite the dust.
Tested with -current and FreeBSD.
 1.51 02-Feb-2006  dbj touch an empty sys/bswap.h if detected as missing by configure
this fixes cross compile problems from recent changes to
convert machine/bswap.h to sys/bswap.h
 1.50 02-Mar-2005  wiz Remove commas in AC_CHECK_FUNCS that shouldn't be there.
Closes PR 29577 by Valeriy E. Ushakov.
 1.49 13-Jan-2005  jmc Turns out some platforms (freebsd5) expose st_birthtime but not
st_birthtimensec. Make sure and check for both so programs can deal w. it
 1.48 28-Nov-2004  jmc Add heapsort to libnbcompat
 1.47 12-Oct-2004  jmc Check for fstatvfs and provide/use it only if the host system has it.
Fixes PR#27221
 1.46 24-Jul-2004  dbj check for HAVE_STRUCT_STATVFS_F_IOSIZE
addresses PR toolchain/26415
 1.45 24-Jul-2004  dbj remove HAVE_STRUCT_STATFS_F_IOSIZE
this is not currently being used and should be replaced with
HAVE_STRUCT_STATVFS_F_IOSIZE, but that will be done separately.
This commit should be able to be safely pulled up to
the netbsd-2-0 branch to address PR toolchain/26415
 1.44 20-Jun-2004  jmc Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
 1.43 18-Jun-2004  thorpej Check for group_from_gid().
 1.42 12-Nov-2003  dbj branches: 1.42.2;
use sys/poll.h and HAVE_SYS_POLL_H instead of just HAVE_POLL_H
HAVE_SYS_POLL_H is used by src/include/roken.h needed by the host tool asn1_compile
 1.41 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.40 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.39 25-Jul-2003  atatat More properly host-tool-ify stat
 1.38 18-Jul-2003  fredb As discussed briefly on tech-toolchain, AIX doesn't have "u_long",
so add a check for that. Partial fix for PR toolchain/22177.
 1.37 03-Jun-2003  uwe Add atoll(3) to libnbcompat. We need it when building target's gcc
for a 64-bit target on a 32-bit host.

NB: There seems to be a bug in either gcc itself or the way we import
it, b/c the incorrect #define HAVE_ATOLL is picked from (e.g. for
sparc64) gnu/usr.bin/gcc/arch/sparc64/auto-host.h - so when gen*
auxilary (host) programs are built in gnu/usr.bin/gcc/backend, they
incorrectly pick-up target's HAVE_ATOLL.

For now providing atoll(3) in libnbcompat is a simple and sufficient
workaround.
 1.36 14-Mar-2003  thorpej Add a putc_unlocked().
 1.35 13-Mar-2003  thorpej Fix the socklen_t test; we need to explcitly list the headers we want
included for that test.
 1.34 13-Mar-2003  thorpej Check for sys/socket.h and socklen_t.
 1.33 16-Dec-2002  thorpej Include <sys/types.h> before <grp.h>; Mac OS 10.2.2 needs this.
 1.32 16-Dec-2002  thorpej Include <sys/types.h> before including <dirent.h>; Mac OS 10.2.2
needs this.
 1.31 30-Nov-2002  lukem add check back for util.h; needed on some foreign systems
 1.30 30-Nov-2002  lukem - Migrate fparseln(3) from libutil to libc, where it should have been in
the first place...
- Bump libutil major (to 7.0) and libc minor (to 12.91).
 1.29 29-Nov-2002  lukem replace missing strsuftoll(3)
 1.28 07-Oct-2002  briggs Just check for poll.h, don't fail if it's not present.
 1.27 06-Oct-2002  lukem Provide strtoll() in libnbcompat.
Should fix relevant build issue on HP-UX and MacOS X hosts.
 1.26 05-Oct-2002  lukem check for lchflags
 1.25 04-Oct-2002  thorpej Check for <poll.h> and poll(2).
 1.24 16-Sep-2002  briggs Always use NetBSD's fts(3) in compat builds. Some systems (notably
Red Hat 7.3, at least) do not have fts(3) implementations that work
correctly with -D_FILE_OFFSET_BITS=64.
 1.23 14-Sep-2002  thorpej * Check for mkstemp() and mkdtemp(), and build them into libnbcompat
if necessary.
* mktemp is now a host-tool, so nuke the lame script (which isn't even
properly installed during the tools bootstrap).
 1.22 13-Sep-2002  thorpej * Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.21 03-Jul-2002  pooka Fine-grain checking somewhat:
* check for user_from_uid() in addition to pwcache_userdb()
* check for svis() in addition to vis()
 1.20 24-Apr-2002  bjh21 branches: 1.20.2;
Rather than hardcoding two possible locations of the POSIX shell (for
Solaris and everything else), set _PATH_BSHELL to the first occurrence of
"sh" on the path. This should be rather more portable.
 1.19 23-Apr-2002  bjh21 Add test for alloca() and <alloca.h>, since Sun Workshop C 5.0 needs this.
 1.18 22-Apr-2002  bjh21 Create sys/endian.h if it doesn't exist, since rmd160.c includes it directly.
 1.17 19-Apr-2002  tv Emit an empty <stdint.h> if the host doesn't have one. Should fix PR 16416.
 1.16 18-Apr-2002  tv Re-add test for <sys/endian.h>; it disappeared somewhere along the way.
 1.15 18-Apr-2002  bjh21 Add a stub issetugid() for platforms that don't have it. For now, we assume
that no host program will be installed set-id, so the stub function always
returns 0.
 1.14 01-Apr-2002  bjh21 Revert addition of mkdtemp() to libnbcompat. I don't think we need mktemp(1)
after all.
 1.13 31-Mar-2002  bjh21 Add mkdtemp to libnbcompat, since glibc doesn't have it an mktemp(1) will
need it.
 1.12 31-Mar-2002  bjh21 Add the md[245], sha1 and rmd160 functions to libnbcompat, conditional on their
not being in the host libc.
This will be necessary to make cksum into a host tool.
 1.11 07-Mar-2002  tv Don't gratuitously touch the replacement headers in ${.OBJDIR}/include;
instead, touch them only if they're changed.
 1.10 07-Mar-2002  tv Move inttypes.h to list of auto-generated-empty headers.
 1.9 07-Mar-2002  tv Add compat defns for uint*_t (the non-underscored ones).
[The logic in all of this is ugly, and should instead be fixed up to use
AC_CHECK_SIZEOF to use primitives if the counterpart type is unavailable.]
 1.8 26-Feb-2002  tv Add some more bits of host compatibility.
 1.7 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.6 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.5 24-Jan-2002  lukem - Replace pwcache(3) if necessary (pwcache_userdb(3) is checked for).
Tested on -current and 1.5.3.
- Wrap some long lines.
 1.4 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.3 10-Jan-2002  lukem look for <inttypes.h> and #include if found (for uint*_t)
 1.2 04-Jan-2002  lukem Add replacement fgetln(3) (from lukemftp/libukem), as fparseln(3) uses it
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.20.2.4 23-Jul-2004  tron Apply patch (request by dbj in ticket 1723):
Fix building the netbsd-1-6 branch under Darwin/MacOS.
 1.20.2.3 01-Dec-2002  he Pull up revision 1.24 (requested by thorpej in ticket #834):
Always NetBSD's own fts(3) in compat builds. Some systems
(among them RedHat 7.3) do not have fts(3) implementations
which work correctly with -D_FILE_OFFSET_BITS=64.
 1.20.2.2 30-Nov-2002  he Pull up revision 1.23 (via patch, requested by thorpej in ticket #807):
o Check for mkstemp() and mkdtemp(), and build them into
libcompat if necessary.
o mktemp is now a host-tool, so remove the now obsoleted
script.
 1.20.2.1 03-Nov-2002  he Pull up revision 1.22 (via patch, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.42.2.2 25-Jul-2004  tron branches: 1.42.2.2.2;
Pull up revision 1.45 (requested by dbj in ticket #712):
remove HAVE_STRUCT_STATFS_F_IOSIZE
this is not currently being used and should be replaced with
HAVE_STRUCT_STATVFS_F_IOSIZE, but that will be done separately.
This commit should be able to be safely pulled up to
the netbsd-2-0 branch to address PR toolchain/26415
 1.42.2.1 22-Jun-2004  tron Pull up revision 1.44 (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
 1.42.2.2.2.1 06-Apr-2005  he Pull up revision 1.48 (via patch, requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.60.4.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.60.2.3 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.60.2.2 18-Nov-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #1224):
tools/compat/Makefile: revision 1.52
tools/compat/configure.ac: revision 1.67
Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
compile_et compile on systems which don't have these BIND headers like
Cygwin.
Tested by "build.sh -m i386 -U release" on CYGWIN_NT-5.1-1.5.25,
and should close PR toolchain/29032.
 1.60.2.1 30-Aug-2007  pavel branches: 1.60.2.1.2;
Pull up following revision(s) (requested by apb in ticket #827):
tools/compat/Makefile: revision 1.50
tools/compat/compat_defs.h: revision 1.60
tools/compat/configure.ac: revision 1.62-1.64
More detailed instructions for what to do when editing configure.ac.
In particular, discourage the use of non-tools versions of
autoconf and autoheader.
Provide definitions for {be,le}{16,32,64}{enc,dec} if necessary.
This is adapted from the very detailed fix provided by
Giles Lean in PR bin/36678.
Only one simplified implementation is provided, instead of the
two implementations conditional on __GNUC_PREREQ__(2,95) that are
provided in NetBSD's <sys/endian.h>. The use of memcpy instead of
__builtin__memcpy, and the absence of __inline or __unused, should make
it independent of GCC.
Update the instructions to say that regen should be done again
to pick up changed RCS IDs.
 1.60.2.1.2.1 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.64.2.1 06-Nov-2007  matt sync with HEAD
 1.67.2.3 02-Nov-2011  riz Pull up following revision(s) (requested by tsutsui in ticket #1676):
tools/compat/configure.ac: revision 1.71
tools/compat/configure: revision 1.71
tools/compat/nbtool_config.h.in: revision 1.24
Test for <sys/endian.h> and provide HAVE_SYS_ENDIAN_H.
Fixes FreeBSD hosted builds (PR 42440 and PR 42470).
Approved by <dholland>.
Regenerate.
 1.67.2.2 03-Oct-2009  snj Pull up following revision(s) (requested by apb in ticket #1020):
bin/pax/Makefile: revision 1.38
bin/pax/ar_io.c: revision 1.49
tools/compat/configure: revision 1.69
tools/compat/configure.ac: revision 1.69
do not require sys/mtio.h for a tools build of pax
 1.67.2.1 15-Jan-2009  snj branches: 1.67.2.1.2; 1.67.2.1.4;
Pull up following revision(s) (requested by jmcneill in ticket #270):
lib/libc/locale/fix_grouping.c: revision 1.3
lib/libc/locale/iswctype_sb.c: revision 1.7
lib/libc/locale/rune.h: revision 1.14
lib/libc/locale/runetype.h: file removal
lib/libc/locale/runetype_local.h: revision 1.1
lib/libc/stdio/fparseln.c: revision 1.8
lib/libc/string/wcscmp.c: revision 1.7
lib/libc/string/wcsncmp.c: revision 1.7
lib/libc/string/wmemcmp.c: revision 1.5
tools/compat/configure: regen
tools/compat/configure.ac: revision 1.68
tools/compat/nbtool_config.h.in: regen
usr.bin/mklocale/Makefile: revision 1.15
usr.bin/mklocale/lex.l: revision 1.16
usr.bin/mklocale/yacc.y: revision 1.27
1. reworking PR lib/40317:
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.
2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite. so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.
3. fix build breakage when CITRUS=no was set.
 1.67.2.1.4.1 15-Dec-2009  matt Allow tools to build on OSX 10.6 (Snow Leopard).
 1.67.2.1.2.1 03-Oct-2009  snj Pull up following revision(s) (requested by apb in ticket #1020):
bin/pax/Makefile: revision 1.38
bin/pax/ar_io.c: revision 1.49
tools/compat/configure: revision 1.69
tools/compat/configure.ac: revision 1.69
do not require sys/mtio.h for a tools build of pax
 1.73.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.73.2.1 10-Nov-2011  yamt sync with head
 1.74.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.74.6.2 23-Jun-2013  tls resync from head
 1.74.6.1 25-Feb-2013  tls resync with head
 1.76.4.1 23-Jul-2013  riastradh sync with HEAD
 1.81.2.1 10-Aug-2014  tls Rebase.
 1.82.2.1 22-Apr-2015  snj Pull up following revision(s) (requested by roy in ticket #648):
common/lib/libc/stdlib/_strtoi.h: revisions 1.1, 1.2
common/lib/libc/stdlib/strtoi.c: revision 1.1
common/lib/libc/stdlib/strtou.c: revision 1.1
distrib/sets/lists/base/ad.aarch64: patch
distrib/sets/lists/base/ad.arm: patch
distrib/sets/lists/base/ad.mips: patch
distrib/sets/lists/base/ad.powerpc: patch
distrib/sets/lists/base/md.amd64: patch
distrib/sets/lists/base/md.sparc64: patch
distrib/sets/lists/base/shl.mi: patch
distrib/sets/lists/comp/mi: revision 1.1939
distrib/sets/lists/debug/ad.aarch64: patch
distrib/sets/lists/debug/ad.arm: patch
distrib/sets/lists/debug/ad.mips: patch
distrib/sets/lists/debug/ad.powerpc: patch
distrib/sets/lists/debug/md.amd64: patch
distrib/sets/lists/debug/md.sparc64: patch
distrib/sets/lists/debug/shl.mi: patch
include/inttypes.h: revision 1.11
lib/libc/shlib_version: patch
lib/libc/stdlib/Makefile.inc: revision 1.84
lib/libc/stdlib/strtol.3: revisions 1.27-1.31
lib/libc/stdlib/strtoul.3: revisions 1.26-1.29
sys/lib/libkern/Makefile.libkern: revision 1.37
sys/lib/libkern/libkern.h: revision 1.117
tools/compat/Makefile: revision 1.73
tools/compat/compat_defs.h: revision 1.101
tools/compat/configure.ac: revision 1.83
tools/compat/configure: revision 1.82
tools/compat/nbtool_config.h.in: revision 1.36
add strto{i,u} from Kamil Rytarowski as discussed in tech-userlevel.
--
strtoi and strtou additions
--
strtoi and strtou for the kernel
--
strtoi and strtou additions
--
strtoi and strtou man pages
--
strto{i,u}
--
regen
--
Remove trailing whitespace.
--
match variable names with man page (Kamil Rytarowski)
--
cleanups from (Kamil Rytarowski)
--
add strtoi strtou (Kamil Rytarowski)
--
PR/49640: Kamil Rytarowski: Improve error printing
--
Use existing month for Dd.
 1.84.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.84.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.84.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.87.6.3 03-Feb-2018  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/configure: revision 1.88 via patch
tools/compat/configure.ac: revision 1.89 via patch
tools/compat/nbtool_config.h.in: revision 1.42
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.87.6.2 21-Dec-2017  snj revert ticket 435
 1.87.6.1 21-Dec-2017  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/compat_defs.h: 1.108
tools/compat/configure: 1.87-1.88
tools/compat/configure.ac: 1.88-1.89
tools/compat/fpurge.c: 1.2
tools/compat/nbtool_config.h.in: 1.41-1.42
handle __fpurge being declared in <stdio_ext.h>
--
regen
--
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.89.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.89.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.91.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.91.2.1 10-Jun-2019  christos Sync with HEAD
 1.97.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1973):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
usr.bin/nbperf/nbperf.c: revision 1.7
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)
tools/compat/configure (patch for regen from above)

Don't use arc4random for the tools build on NetBSD either.
compat_defs.h explicitly forces _POSIX_SOURCE and this hides the
prototype in stdlib.h.
pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.99.6.3 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1174):

tools/compat/configure.ac: revision 1.111 (patch)
tools/compat/compat_defs.h: revision 1.126 (patch)
tools/compat/compat_defs.h: revision 1.127 (patch)
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)

pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.99.6.2 17-Nov-2024  martin Pull up following revision(s) (requested by kre in ticket #1004):

tools/compat/configure: revision 1.106
lib/libc/string/__strsignal.c: revision 1.26
tools/compat/configure.ac: revision 1.108
tools/compat/nbtool_config.h.in: revision 1.57
usr.bin/elf2aout/elf2aout.c: revision 1.24
tools/compat/Makefile: revision 1.93
sys/arch/macppc/stand/fixcoff/fixcoff.c: revision 1.13
tools/compat/compat_defs.h: revision 1.123

Include <arpa/inet.h> for htonl() (From Jan-Benedict Glaw)
Probably this should be using htobe32() instead of htonl()
(and so <endian.h> rather than <arpa/inet.h>) as there is
no sign of any network anywhere near here. But that's for
another day, and to be done by someone who can test it.

Portability fixes from Jan-Benedict Glaw
The args to help() and usage() need to be const char *
and main() should be declared as returning int.

Add shquote to libnbcompat
Include shquote() in configure tests
Regen for added shquote()

Stop attempting to return a (char*) in place of (const char *)
This removes a cast that was added in 1994, when __strsignal()
returned a char * to convert the const char * element of sys_siglist
into a type that matched.

It should have been removed when __strsignal() was changed to
return const char * in 1998. But wasn't.

This should fix an inane warning (treated as an error) from a
compile stupid enough to allow a natural char * (as in char buf[N])
to be returned as a result (which is, of course, fine), but complains
about returning (char *) applied to a (const char *).
 1.99.6.1 30-Jun-2023  martin Pull up following revision(s) (requested by riastradh in ticket #221):

external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c: revision 1.18
external/cddl/osnet/sys/sys/opentypes.h: revision 1.7
tools/compat/configure: revision 1.100
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.6
external/cddl/osnet/dist/tools/ctf/cvt/barrier.h: revision 1.4
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.7
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.8
tools/compat/configure.ac: revision 1.100
external/cddl/osnet/dist/tools/ctf/cvt/tdata.c: revision 1.10
tools/compat/nbtool_config.h.in: revision 1.54

ctfmerge: error check sem_*() and pthread_*() APIs

terminate() if sem_*() returns -1 or pthread_*() returns != 0.
(Set errno from pthread_*() so terminate() prints the strerror message).

Note: Failing on errors instead of ignoring them helps identify
reasons for intermittent failures, such as those on macOS host builds:

ERROR: nbctfmerge: barrier_init: sem_init(bar_sem): Function not implemented

ctfmerge: fix macOS semaphore implementation

Use dispatch_semaphore_create() if present instead of sem_init().
macOS doesn't actually implement sem_init() (et al)
(even though it provides the prototypes as deprecated).

This was detected by the previous commit to ctfmerge
that added error handling.

Implement ctfmerge's barrier operations in terms of
dispatch(3) APIs such as dispatch_semaphore_create() (et al).

Update tools/compat/configure.ac to find dispatch_semaphore_create().
Fixes ctfmerge on macOS hosts.

Inspired by https://stackoverflow.com/a/27847103

tools/compat: regen for dispatch_semaphore_create

ctfmerge: fix macOS semaphore implementation, part 2
dispatch_semaphore_signal() doesn't return an error, just an
indicator of whether a thread was woken or not, so there's
no need to fail on non-zero return.

osnet: on macOS, use <mach/boolean.h> for boolean_t
macOS/x86_64 defines boolean_t as 'unsigned int' not 'int',
which causes a build issue with tools/ctfmerge on that host
after my recent fixes for macOS semaphores.

So use the <mach/boolean.h> instead of a local typedef ifdef __APPLE__.
May fix a macOS/x86_64 build issue reported by cjep@.
Builds fine on NetBSD/amd64 or macOS/arm.

Note: this compat stuff is clunky, and based on the commit log,
annoyingly error prone. A newer sync of osnet from upstream /may/
improve a lot of these compat typedef workarounds for solaris types...
 1.107.2.1 02-Aug-2025  perseant Sync with HEAD
 1.109.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #56):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
tools/compat/nbtool_config.h.in: revision 1.60
tools/compat/nbtool_config.h.in: revision 1.61
lib/libc/stdio/mkstemps.c: revision 1.2
tools/compat/configure: revision 1.108
tools/compat/configure: revision 1.109
tools/compat/nbtool_config.h.in: revision 1.59
tools/compat/Makefile: revision 1.95
tools/compat/configure.ac: revision 1.110

Add more functions needed by mandoc

regen

add vsyslog decl check

regen

Do the nbtool dance.
 1.4 16-Oct-2006  apb Wrap #ifndef __BIT_TYPES_DEFINED__ around #define __BIT_TYPES_DEFINED__.
Reported by Narayana Prasad.
 1.3 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.17 03-Jun-2023  lukem tools/compat: support all bsd.own.mk disabled warnings

Check the host CC support for all the warnings now in <bsd.own.mk>
and override appropriately in defs.mk.

In general there's a 1:1 mapping, with the special case
CC_WNO_ADDRESS_OF_PACKED_MEMBER which is set from both
@CC_WNO_ADDRESS_OF_PACKED_MEMBER@ (gcc) and
@CC_WNO_ERROR_ADDRESS_OF_PACKED_MEMBER@ (clang).
 1.16 03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.15 30-May-2023  lukem tools/compat: disable host CC warnings

Determine if the host CC supports flags to disable various
warnings similar to <bsd.own.mk> GCC_*, CLANG_*, and CC_*,
and override the <bsd.own.mk> equivalents in defs.mk.

Silences "warning: unknown warning option '...'" from our source.
External source (e.g., binutils and gcc) need their own fixes
to enhance their detection of supported clang compiler flags.
 1.14 30-May-2023  lukem tools/compat: detect supported host compiler flags

Define NB_CC_FLAG(FLAG) to use AX_CHECK_COMPILE_FLAG
to determine if the host compiler supports FLAG
and define and AC_SUBST CC_FLAG if so.

Use workarounds to force clang to hard-fail on unknown -Wwarning,
and gcc to use -WWARN to check unknown -Wno-WARN because the
latter doesn't cause an error in gcc.

In the future we could use NB_CC_FLAG([-fcommon]) for
older NetBSD release branches compiled with host gcc 10+.

Rework Darwin -no-cpp-precomp check to use NB_CC_FLAG().
Note: this flag probably hasn't been required on macOS (Darwin)
for a long time, but serves as a good example on how to use this.

Display varaibles at the end of configure to show what was detected.
 1.13 30-May-2023  lukem tools/compat: don't expose HAVE_PTHREAD_H to make

Non of the tools Makefiles needs HAVE_PTHREAD_H, so don't
AC_SUBST it or provide in defs.mk.
 1.12 02-Dec-2012  apb Change the default value of COMPATLIB_UNINSTALLED to no, now that
all users of comapt/defs.mk have been adjusted. This is the last
commit related to fixing PR 47188.
 1.11 02-Dec-2012  apb Add two variables to tools/compat/defs.mk.in:

COMPATLIB_UNINSTALLED:
If "yes", then use the files from the .OBJDIR of
NETBSDSRCDIR/tools/compat. Otherwise, use the files
from TOOLDIR.

COMPATLIB_NO_LIB:
If "yes" then do not use the library (but still use
the include files).

COMPATLIB_UNINSTALLED defaults to "yes" for now, but this will soon be
changed to "no.
 1.10 14-Aug-2011  apb branches: 1.10.2; 1.10.8;
Detect the presence of <pthread.h>, and add a HAVE_PTHREAD_H
variable in defs.mk.
 1.9 20-Jun-2004  jmc Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
 1.8 27-Oct-2003  lukem branches: 1.8.2;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.7 28-Apr-2003  bjh21 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
!defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them. In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
 1.6 13-Mar-2003  thorpej Move -no-cpp-precomp logic to defs.mk.
 1.5 15-Sep-2002  thorpej Add a HOST_BSHELL make var which contains the path to the working
shell.
 1.4 31-Jan-2002  tv branches: 1.4.2;
Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.3 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.2 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.4.2.1 01-Dec-2002  he Pull up revision 1.5 (requested by thorpej in ticket #825):
Add a HOST_BSHELL make variable which contains the path to
the working shell.
 1.8.2.1 22-Jun-2004  tron Pull up revision 1.9 (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
 1.10.8.1 25-Feb-2013  tls resync with head
 1.10.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.2 05-Mar-2013  christos branches: 1.2.4; 1.2.10;
don't leak on error.
 1.1 05-Mar-2013  christos add dprintf
 1.2.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.10.1 05-Mar-2013  yamt file dprintf.c was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.2.4.2 23-Jun-2013  tls resync from head
 1.2.4.1 05-Mar-2013  tls file dprintf.c was added on branch tls-maxphys on 2013-06-23 06:28:57 +0000
 1.5 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.4 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.3 13-Jan-2002  lukem rcsid
 1.2 04-Jan-2002  lukem need <errno.h> and <stdarg.h>
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.12 09-Oct-2015  christos use c comments
 1.11 08-Oct-2015  christos don't lie in the comment; this is not the re-entrant version
 1.10 08-Oct-2015  christos Switch to a version that does not suffer from reporting the wrong length
if the file contains NULs. From OpenBSD.
 1.9 29-Apr-2008  martin Convert to new 2 clause license
 1.8 18-Oct-2006  christos branches: 1.8.16;
PR/34848: Roland Illig: NetBSD's sed cannot handle files that are missing
the final new line.
This is an fgetln() problem; fix and add a way to test.
 1.7 26-Aug-2006  christos Remove advertising clause.
 1.6 15-May-2005  christos Replace the original fgetln with a simpler one that:
1. Works if the last line does not end up in \n
2. Does not scan the string multiple times.
3. Does not copy the string, but writes it directly in the buffer.
4. Handles out of memory conditions gracefully.
 1.5 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.4 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.3 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.2 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.1 04-Jan-2002  lukem Add replacement fgetln(3) (from lukemftp/libukem), as fparseln(3) uses it
 1.8.16.1 18-May-2008  yamt sync with head.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 27-Oct-2003  lukem branches: 1.5.30;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.4 07-Jun-2002  mason fix minor typo -> s/lokcing/locking/
 1.3 07-Mar-2002  tv fcntl locking works much better when the `struct flock' is actually given
to fcntl....
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.5.30.1 18-May-2008  yamt sync with head.
 1.4 23-Jan-2002  lukem remove
 1.3 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.2 04-Jan-2002  lukem remove lukemftp comment; this is just as close to the libutil version
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.3 03-Oct-2017  joerg Be consistent with our header.
 1.2 02-Oct-2017  christos handle __fpurge being declared in <stdio_ext.h>
 1.1 16-Jun-2009  christos branches: 1.1.38;
add fpurge; needed by awk.
 1.1.38.2 21-Dec-2017  snj revert ticket 435
 1.1.38.1 21-Dec-2017  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/compat_defs.h: 1.108
tools/compat/configure: 1.87-1.88
tools/compat/configure.ac: 1.88-1.89
tools/compat/fpurge.c: 1.2
tools/compat/nbtool_config.h.in: 1.41-1.42
handle __fpurge being declared in <stdio_ext.h>
--
regen
--
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.2 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.1 16-Sep-2002  briggs branches: 1.1.2;
Always use NetBSD's fts(3) in compat builds. Some systems (notably
Red Hat 7.3, at least) do not have fts(3) implementations that work
correctly with -D_FILE_OFFSET_BITS=64.
 1.1.2.2 01-Dec-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #834):
Always NetBSD's own fts(3) in compat builds. Some systems
(among them RedHat 7.3) do not have fts(3) implementations
which work correctly with -D_FILE_OFFSET_BITS=64.
 1.1.2.1 16-Sep-2002  he file fts.h was added on branch netbsd-1-6 on 2002-12-01 19:10:45 +0000
 1.2 16-Sep-2014  christos Fix problem reading the last line when it did not contain a delimiter
(Hubert Garavel)
 1.1 20-Mar-2011  christos add a stdio neutral getline/getdelim implementation.
 1.8 04-Nov-2008  dbj include unistd.h where getmode is traditionally declared
 1.7 28-Apr-2008  martin branches: 1.7.6; 1.7.8; 1.7.10;
Remove clause 3 and 4 from TNF licenses
 1.6 13-Jan-2004  simonb branches: 1.6.30;
White space nit.
 1.5 12-Jan-2004  simonb Use the first argument of getmode() to modify the second arg, instead of
just replacing the second arg. This lets the higher order file type bits
survive. Fixes problems with the tools version of mknod(8).
 1.4 08-Jan-2004  simonb KNF.
 1.3 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.6.30.1 18-May-2008  yamt sync with head.
 1.7.10.1 21-Apr-2010  matt sync to netbsd-5
 1.7.8.1 16-Feb-2010  bouyer Pull up following revision(s) (requested by snj in ticket #1308):
tools/compat/getmode.c: revision 1.8
include unistd.h where getmode is traditionally declared
 1.7.6.1 16-Feb-2010  bouyer Pull up following revision(s) (requested by snj in ticket #1308):
tools/compat/getmode.c: revision 1.8
include unistd.h where getmode is traditionally declared
 1.2 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.1 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.2 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.1 13-Sep-2002  thorpej branches: 1.1.2;
* Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.2 03-Nov-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.1 13-Sep-2002  he file glob.h was added on branch netbsd-1-6 on 2002-11-03 16:18:39 +0000
 1.2 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.1 18-Apr-2002  bjh21 Add a stub issetugid() for platforms that don't have it. For now, we assume
that no host program will be installed set-id, so the stub function always
returns 0.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 27-Oct-2003  lukem branches: 1.3.4; 1.3.32;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 19-Mar-2003  grant if target is not a symlink, silently succeed rather than failing with
EINVAL.

on systems which don't have lch{flags,own,mod}, flags, ownership and
modes of symlinks is meaningless, anyway.

ok'd by christos.
 1.1 08-Oct-2002  lukem Implement replacements for lchflags(), lchmod(), and lchown(),
which first lstat(2) the target and return EINVAL if it's a symlink,
and then call ch{flags,mod,own} as appropriate.
Removes the need for hokey code inside the tools themselves...
 1.3.32.1 18-May-2008  yamt sync with head.
 1.3.4.2 12-Jul-2004  he Pull up revisions 1.1-1.2 (new, requested by ticket #1719):
Implement replacements for lchflags(), lchmod(), and
lchown(), to enable cross-building on more host systems.
 1.3.4.1 27-Oct-2003  he file lchflags.c was added on branch netbsd-1-6 on 2004-07-12 21:09:32 +0000
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 27-Oct-2003  lukem branches: 1.3.4; 1.3.32;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 19-Mar-2003  grant if target is not a symlink, silently succeed rather than failing with
EINVAL.

on systems which don't have lch{flags,own,mod}, flags, ownership and
modes of symlinks is meaningless, anyway.

ok'd by christos.
 1.1 08-Oct-2002  lukem Implement replacements for lchflags(), lchmod(), and lchown(),
which first lstat(2) the target and return EINVAL if it's a symlink,
and then call ch{flags,mod,own} as appropriate.
Removes the need for hokey code inside the tools themselves...
 1.3.32.1 18-May-2008  yamt sync with head.
 1.3.4.2 12-Jul-2004  he Pull up revisions 1.1-1.2 (new, requested by ticket #1719):
Implement replacements for lchflags(), lchmod(), and
lchown(), to enable cross-building on more host systems.
 1.3.4.1 27-Oct-2003  he file lchmod.c was added on branch netbsd-1-6 on 2004-07-12 21:09:32 +0000
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 27-Oct-2003  lukem branches: 1.3.4; 1.3.32;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 19-Mar-2003  grant if target is not a symlink, silently succeed rather than failing with
EINVAL.

on systems which don't have lch{flags,own,mod}, flags, ownership and
modes of symlinks is meaningless, anyway.

ok'd by christos.
 1.1 08-Oct-2002  lukem Implement replacements for lchflags(), lchmod(), and lchown(),
which first lstat(2) the target and return EINVAL if it's a symlink,
and then call ch{flags,mod,own} as appropriate.
Removes the need for hokey code inside the tools themselves...
 1.3.32.1 18-May-2008  yamt sync with head.
 1.3.4.2 12-Jul-2004  he Pull up revisions 1.1-1.2 (new, requested by ticket #1719):
Implement replacements for lchflags(), lchmod(), and
lchown(), to enable cross-building on more host systems.
 1.3.4.1 27-Oct-2003  he file lchown.c was added on branch netbsd-1-6 on 2004-07-12 21:09:32 +0000
 1.2 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.1 13-Sep-2002  thorpej branches: 1.1.2;
* Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.2 03-Nov-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.1 13-Sep-2002  he file md2.h was added on branch netbsd-1-6 on 2002-11-03 16:18:39 +0000
 1.3 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 01-Oct-2003  seb Adjust pathnames to {md{4,5},sha1}.h after their removal from
src/include.

Approved by mrg@
 1.1 13-Sep-2002  thorpej branches: 1.1.2;
* Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.2 03-Nov-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.1 13-Sep-2002  he file md4.h was added on branch netbsd-1-6 on 2002-11-03 16:18:39 +0000
 1.3 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 01-Oct-2003  seb Adjust pathnames to {md{4,5},sha1}.h after their removal from
src/include.

Approved by mrg@
 1.1 13-Sep-2002  thorpej branches: 1.1.2;
* Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.2 03-Nov-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.1 13-Sep-2002  he file md5.h was added on branch netbsd-1-6 on 2002-11-03 16:18:39 +0000
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.3 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 31-Jan-2002  tv Make sure there are no weak references in libnbcompat (avoids linker
confusion issues).
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.2 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.2 11-Nov-2001  jmc Pull the rmd160 stuff out as mtree now has options to selectively compile
pieces out we won't need during a build.
 1.1 08-Nov-2001  jmc XXX...Complete hack for now.

Add a stub for RMD160File which prints out a warning and returns NULL.

This allows mtree to be built when hosting from a 1.5.x box.
The real solution is to convert the src/tools bits into clean portable tools
and not have them so NetBSD-current centric.
 1.2 11-Feb-2006  wiz Redo previous differently: use AH_TOP and AH_BOTTOM macros to insert
header and footer into nbtool_config.h.in directly.
 1.1 11-Feb-2006  wiz Make using autoheader easier:
split off the autogenerated file into nbtool_config_internal.h,
and let nbtool_config.h be a file with the proper wrappers.

This way you can just change configure.ac, run autoconf and autoheader,
verify the result, and commit, but don't have to edit nbtool_config*in
manually every time.
 1.61 18-Sep-2025  christos regen
 1.60 18-Sep-2025  christos regen
 1.59 18-Sep-2025  christos Add more functions needed by mandoc
 1.58 24-Jul-2025  hans branches: 1.58.2;
tools/compat: add definitions of __[u]intXX_t types on systems that lack them

Fixes another cross-build issue on illumos.
 1.57 31-Oct-2024  kre Regen for added shquote()
 1.56 20-Jul-2023  lukem branches: 1.56.2;
tools/compat: regen
 1.55 30-May-2023  lukem tools/compat: regen
 1.54 23-May-2023  lukem tools/compat: regen for dispatch_semaphore_create
 1.53 25-Feb-2021  christos branches: 1.53.6;
Add reallocarray; this is used by the new regex code and we don't want to
convert it to reallocarr so the code is kept similar with the original from
FreeBSD.
 1.52 22-Jun-2019  hannken branches: 1.52.2;
Update tools/compat/configure for new path of "rpc/types.h".

Remove intermediate patch from rpcgen/Makefile.

Patch from Nick Hudson, errors from me.
 1.51 19-Jun-2019  kamil regen tools/compat
 1.50 19-Jun-2019  kamil Add sys/uio.h & enum uio_seg, enum uio_rw to tools/compat

This is needed for bootstrapping the tools on Ubuntu 16.x.
 1.49 27-Jan-2019  dholland Restore comment accidentally lost in merge.
 1.48 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.47 30-Aug-2018  christos deal with getsubopt and strncasecmp (needed by mdocml)
 1.46 16-Aug-2018  christos add strncasecmp
 1.45 11-Aug-2018  christos Add strcasecmp
 1.44 13-Jun-2018  maya branches: 1.44.2;
Revert my previous config test inclusion for u_longlong_t.

Fixing this differently by avoiding the need for the definition.
It also caused a problem in OS X, as I neglected to include a correct header
 1.43 11-Jun-2018  maya Add configure check and fallback definition for u_longlong_t

Should help linux tools compilation of dtrace tools, and not
affect NetBSD.

From Chuck Zmudzinski in current-users, with light modification
by myself.
 1.42 09-Dec-2017  sevan branches: 1.42.2;
regen
 1.41 02-Oct-2017  christos regen
 1.40 07-Jan-2017  christos branches: 1.40.6;
regen
 1.39 19-Oct-2016  christos regen
 1.38 20-Jan-2016  christos branches: 1.38.2;
Regen with autoconf 2.69.
 1.37 26-Jul-2015  kamil Add reallocarr(3) to tools/compat

This should unbreak libutil(3) creation on systems withot reallocarr(3).
 1.36 16-Jan-2015  christos regen
 1.35 06-Jun-2014  christos branches: 1.35.2;
Deal with errc/warnc
 1.34 09-Jan-2014  apb branches: 1.34.2;
regen
 1.33 14-Aug-2013  jmcneill regen
 1.32 09-Aug-2013  jmcneill regen
 1.31 06-Aug-2013  apb regen, to pick up the test for snprintb_m.
 1.30 19-Jul-2013  pooka regen

(XXX: I don't think these files were previously regen'd with the
method documented in configure.ac, and therefore the diffs are now huge)
 1.29 05-Mar-2013  christos branches: 1.29.4;
regen
 1.28 17-Feb-2013  christos regen
 1.27 03-Nov-2011  joerg branches: 1.27.6;
Add getline(3) compat glue.
 1.26 14-Aug-2011  apb branches: 1.26.2;
regen
 1.25 21-Jan-2010  tsutsui Regen this properly per procedure described in src/tools/compat/configure.ac.
 1.24 15-Jan-2010  asau Test for <sys/endian.h> and provide HAVE_SYS_ENDIAN_H.
Fixes FreeBSD hosted builds (PR 42440 and PR 42470).

Approved by <dholland>.
 1.23 16-Jun-2009  christos add fpurge; needed by awk.
 1.22 05-Jan-2009  tnozaki 1. reworking PR lib/40317:
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.

2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite. so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.

3. fix build breakage when CITRUS=no was set.
 1.21 18-Oct-2008  tsutsui branches: 1.21.2;
Regen from configure.ac rev 1.67:
> Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
> compile_et compile on systems which don't have these BIND headers like Cygwin.
 1.20 14-Oct-2008  tsutsui Regen autoconf stuff using tools version of autoconf (in src/tools/autoconf),
as per suggestion from apb@ on tech-toolchain.
Tested 'build.sh -U release iso-image' on NetBSD/i386 4.99.73.
 1.19 19-Oct-2007  christos I am now convinced of the error of my ways, and I am checking for all the
decls mtree is using.
 1.18 28-Sep-2007  lukem regen for raise_default_signal
 1.17 07-Aug-2007  apb branches: 1.17.2;
Regen after recent changes to configure.ac and compat_defs.h.
(Most of the changes seem to result from somebody having used
non-tools versions of autoconf and autoheader in the past.)
 1.16 03-Jul-2007  nakayama Add strndup(3) to libnbcompat, since estrndup(3) added into efun.c calls it.
 1.15 09-Oct-2006  christos branches: 1.15.2; 1.15.4;
regen.
 1.14 07-Oct-2006  apb Add definitions for strmode. This was missing from the
patch in PR 31232.
 1.13 20-Aug-2006  thorpej Also check for DIR.__dd_fd. tools/compat now builds on the WWDC developer
preview version of Mac OS X "Leopard".
 1.12 11-Feb-2006  wiz Redo previous differently: use AH_TOP and AH_BOTTOM macros to insert
header and footer into nbtool_config.h.in directly.
 1.11 11-Feb-2006  wiz Make using autoheader easier:
split off the autogenerated file into nbtool_config_internal.h,
and let nbtool_config.h be a file with the proper wrappers.

This way you can just change configure.ac, run autoconf and autoheader,
verify the result, and commit, but don't have to edit nbtool_config*in
manually every time.
 1.10 11-Feb-2006  wiz rerun autoheader (and re-add header and footer).
 1.9 09-Feb-2006  wiz regen with autoheader; header and footer need to be added manually,
add a comment saying so.
 1.8 09-Feb-2006  dogcow change #include <sys/endian.h> => #include <machine/endian.h> so that
it's (more) consistent in the tree; this, along with changing tools/compat's
autoconf detection from AC_CHECK_FUNCS to AC_CHECK_DECLS makes the vast
majority of htobe16 and friends' redefinition errors bite the dust.
Tested with -current and FreeBSD.
 1.7 12-Oct-2004  jmc Check for fstatvfs and provide/use it only if the host system has it.
Fixes PR#27221
 1.6 24-Jul-2004  dbj check for HAVE_STRUCT_STATVFS_F_IOSIZE
addresses PR toolchain/26415
 1.5 24-Jul-2004  dbj remove HAVE_STRUCT_STATFS_F_IOSIZE
this is not currently being used and should be replaced with
HAVE_STRUCT_STATVFS_F_IOSIZE, but that will be done separately.
This commit should be able to be safely pulled up to
the netbsd-2-0 branch to address PR toolchain/26415
 1.4 20-Jun-2004  jmc Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
 1.3 18-Jun-2004  thorpej Check for group_from_gid().
 1.2 12-Nov-2003  dbj branches: 1.2.2;
use sys/poll.h and HAVE_SYS_POLL_H instead of just HAVE_POLL_H
HAVE_SYS_POLL_H is used by src/include/roken.h needed by the host tool asn1_compile
 1.1 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2.2.2 25-Jul-2004  tron Pull up revision 1.5 (requested by dbj in ticket #712):
remove HAVE_STRUCT_STATFS_F_IOSIZE
this is not currently being used and should be replaced with
HAVE_STRUCT_STATVFS_F_IOSIZE, but that will be done separately.
This commit should be able to be safely pulled up to
the netbsd-2-0 branch to address PR toolchain/26415
 1.2.2.1 22-Jun-2004  tron Pull up revision 1.4 (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
 1.15.4.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.15.2.3 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.15.2.2 18-Nov-2008  snj Regen for ticket 1224.
 1.15.2.1 31-Aug-2007  pavel branches: 1.15.2.1.2;
regen for ticket #827. Files provided by apb@.
 1.15.2.1.2.1 14-Feb-2009  snj Apply patch (requested by adrianp in ticket #1278):
Fix build on netbsd-5 amd64 hosts.
 1.17.2.1 06-Nov-2007  matt sync with HEAD
 1.21.2.2 02-Nov-2011  riz Pull up following revision(s) (requested by tsutsui in ticket #1676):
tools/compat/configure.ac: revision 1.71
tools/compat/configure: revision 1.71
tools/compat/nbtool_config.h.in: revision 1.24
Test for <sys/endian.h> and provide HAVE_SYS_ENDIAN_H.
Fixes FreeBSD hosted builds (PR 42440 and PR 42470).
Approved by <dholland>.
Regenerate.
 1.21.2.1 15-Jan-2009  snj Regen for ticket 270.
 1.26.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.26.2.1 10-Nov-2011  yamt sync with head
 1.27.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.6.2 23-Jun-2013  tls resync from head
 1.27.6.1 25-Feb-2013  tls resync with head
 1.29.4.1 23-Jul-2013  riastradh sync with HEAD
 1.34.2.1 10-Aug-2014  tls Rebase.
 1.35.2.1 22-Apr-2015  snj Pull up following revision(s) (requested by roy in ticket #648):
common/lib/libc/stdlib/_strtoi.h: revisions 1.1, 1.2
common/lib/libc/stdlib/strtoi.c: revision 1.1
common/lib/libc/stdlib/strtou.c: revision 1.1
distrib/sets/lists/base/ad.aarch64: patch
distrib/sets/lists/base/ad.arm: patch
distrib/sets/lists/base/ad.mips: patch
distrib/sets/lists/base/ad.powerpc: patch
distrib/sets/lists/base/md.amd64: patch
distrib/sets/lists/base/md.sparc64: patch
distrib/sets/lists/base/shl.mi: patch
distrib/sets/lists/comp/mi: revision 1.1939
distrib/sets/lists/debug/ad.aarch64: patch
distrib/sets/lists/debug/ad.arm: patch
distrib/sets/lists/debug/ad.mips: patch
distrib/sets/lists/debug/ad.powerpc: patch
distrib/sets/lists/debug/md.amd64: patch
distrib/sets/lists/debug/md.sparc64: patch
distrib/sets/lists/debug/shl.mi: patch
include/inttypes.h: revision 1.11
lib/libc/shlib_version: patch
lib/libc/stdlib/Makefile.inc: revision 1.84
lib/libc/stdlib/strtol.3: revisions 1.27-1.31
lib/libc/stdlib/strtoul.3: revisions 1.26-1.29
sys/lib/libkern/Makefile.libkern: revision 1.37
sys/lib/libkern/libkern.h: revision 1.117
tools/compat/Makefile: revision 1.73
tools/compat/compat_defs.h: revision 1.101
tools/compat/configure.ac: revision 1.83
tools/compat/configure: revision 1.82
tools/compat/nbtool_config.h.in: revision 1.36
add strto{i,u} from Kamil Rytarowski as discussed in tech-userlevel.
--
strtoi and strtou additions
--
strtoi and strtou for the kernel
--
strtoi and strtou additions
--
strtoi and strtou man pages
--
strto{i,u}
--
regen
--
Remove trailing whitespace.
--
match variable names with man page (Kamil Rytarowski)
--
cleanups from (Kamil Rytarowski)
--
add strtoi strtou (Kamil Rytarowski)
--
PR/49640: Kamil Rytarowski: Improve error printing
--
Use existing month for Dd.
 1.38.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.38.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.40.6.3 03-Feb-2018  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/configure: revision 1.88 via patch
tools/compat/configure.ac: revision 1.89 via patch
tools/compat/nbtool_config.h.in: revision 1.42
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.40.6.2 21-Dec-2017  snj revert ticket 435
 1.40.6.1 21-Dec-2017  snj Pull up following revision(s) (requested by sevan in ticket #435):
tools/compat/compat_defs.h: 1.108
tools/compat/configure: 1.87-1.88
tools/compat/configure.ac: 1.88-1.89
tools/compat/fpurge.c: 1.2
tools/compat/nbtool_config.h.in: 1.41-1.42
handle __fpurge being declared in <stdio_ext.h>
--
regen
--
Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.
Closes PR toolchain/52797
--
regen
 1.42.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.42.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.44.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.44.2.1 10-Jun-2019  christos Sync with HEAD
 1.52.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1973):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
usr.bin/nbperf/nbperf.c: revision 1.7
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)
tools/compat/configure (patch for regen from above)

Don't use arc4random for the tools build on NetBSD either.
compat_defs.h explicitly forces _POSIX_SOURCE and this hides the
prototype in stdlib.h.
pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.53.6.3 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #1174):

tools/compat/configure.ac: revision 1.111 (patch)
tools/compat/compat_defs.h: revision 1.126 (patch)
tools/compat/compat_defs.h: revision 1.127 (patch)
bin/pax/options.c: revision 1.120
tools/compat/nbtool_config.h.in: revision 1.59 (patch)
tools/compat/Makefile: revision 1.95 (patch)
tools/compat/configure.ac: revision 1.110 (patch)

pax: need <strings.h> for ffs()

Fixes warning as host tool on NetBSD 9.99

Add more functions needed by mandoc

add vsyslog decl check
 1.53.6.2 17-Nov-2024  martin Pull up following revision(s) (requested by kre in ticket #1004):

tools/compat/configure: revision 1.106
lib/libc/string/__strsignal.c: revision 1.26
tools/compat/configure.ac: revision 1.108
tools/compat/nbtool_config.h.in: revision 1.57
usr.bin/elf2aout/elf2aout.c: revision 1.24
tools/compat/Makefile: revision 1.93
sys/arch/macppc/stand/fixcoff/fixcoff.c: revision 1.13
tools/compat/compat_defs.h: revision 1.123

Include <arpa/inet.h> for htonl() (From Jan-Benedict Glaw)
Probably this should be using htobe32() instead of htonl()
(and so <endian.h> rather than <arpa/inet.h>) as there is
no sign of any network anywhere near here. But that's for
another day, and to be done by someone who can test it.

Portability fixes from Jan-Benedict Glaw
The args to help() and usage() need to be const char *
and main() should be declared as returning int.

Add shquote to libnbcompat
Include shquote() in configure tests
Regen for added shquote()

Stop attempting to return a (char*) in place of (const char *)
This removes a cast that was added in 1994, when __strsignal()
returned a char * to convert the const char * element of sys_siglist
into a type that matched.

It should have been removed when __strsignal() was changed to
return const char * in 1998. But wasn't.

This should fix an inane warning (treated as an error) from a
compile stupid enough to allow a natural char * (as in char buf[N])
to be returned as a result (which is, of course, fine), but complains
about returning (char *) applied to a (const char *).
 1.53.6.1 30-Jun-2023  martin Pull up following revision(s) (requested by riastradh in ticket #221):

external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c: revision 1.18
external/cddl/osnet/sys/sys/opentypes.h: revision 1.7
tools/compat/configure: revision 1.100
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.6
external/cddl/osnet/dist/tools/ctf/cvt/barrier.h: revision 1.4
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.7
external/cddl/osnet/dist/tools/ctf/cvt/barrier.c: revision 1.8
tools/compat/configure.ac: revision 1.100
external/cddl/osnet/dist/tools/ctf/cvt/tdata.c: revision 1.10
tools/compat/nbtool_config.h.in: revision 1.54

ctfmerge: error check sem_*() and pthread_*() APIs

terminate() if sem_*() returns -1 or pthread_*() returns != 0.
(Set errno from pthread_*() so terminate() prints the strerror message).

Note: Failing on errors instead of ignoring them helps identify
reasons for intermittent failures, such as those on macOS host builds:

ERROR: nbctfmerge: barrier_init: sem_init(bar_sem): Function not implemented

ctfmerge: fix macOS semaphore implementation

Use dispatch_semaphore_create() if present instead of sem_init().
macOS doesn't actually implement sem_init() (et al)
(even though it provides the prototypes as deprecated).

This was detected by the previous commit to ctfmerge
that added error handling.

Implement ctfmerge's barrier operations in terms of
dispatch(3) APIs such as dispatch_semaphore_create() (et al).

Update tools/compat/configure.ac to find dispatch_semaphore_create().
Fixes ctfmerge on macOS hosts.

Inspired by https://stackoverflow.com/a/27847103

tools/compat: regen for dispatch_semaphore_create

ctfmerge: fix macOS semaphore implementation, part 2
dispatch_semaphore_signal() doesn't return an error, just an
indicator of whether a thread was woken or not, so there's
no need to fail on non-zero return.

osnet: on macOS, use <mach/boolean.h> for boolean_t
macOS/x86_64 defines boolean_t as 'unsigned int' not 'int',
which causes a build issue with tools/ctfmerge on that host
after my recent fixes for macOS semaphores.

So use the <mach/boolean.h> instead of a local typedef ifdef __APPLE__.
May fix a macOS/x86_64 build issue reported by cjep@.
Builds fine on NetBSD/amd64 or macOS/arm.

Note: this compat stuff is clunky, and based on the commit log,
annoyingly error prone. A newer sync of osnet from upstream /may/
improve a lot of these compat typedef workarounds for solaris types...
 1.56.2.1 02-Aug-2025  perseant Sync with HEAD
 1.58.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by mrg in ticket #56):

tools/compat/configure.ac: revision 1.111
tools/compat/compat_defs.h: revision 1.126
tools/compat/compat_defs.h: revision 1.127
tools/compat/nbtool_config.h.in: revision 1.60
tools/compat/nbtool_config.h.in: revision 1.61
lib/libc/stdio/mkstemps.c: revision 1.2
tools/compat/configure: revision 1.108
tools/compat/configure: revision 1.109
tools/compat/nbtool_config.h.in: revision 1.59
tools/compat/Makefile: revision 1.95
tools/compat/configure.ac: revision 1.110

Add more functions needed by mandoc

regen

add vsyslog decl check

regen

Do the nbtool dance.
 1.2 11-Feb-2006  wiz Redo previous differently: use AH_TOP and AH_BOTTOM macros to insert
header and footer into nbtool_config.h.in directly.
 1.1 11-Feb-2006  wiz Make using autoheader easier:
split off the autogenerated file into nbtool_config_internal.h,
and let nbtool_config.h be a file with the proper wrappers.

This way you can just change configure.ac, run autoconf and autoheader,
verify the result, and commit, but don't have to edit nbtool_config*in
manually every time.
 1.1 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.3 12-Nov-2014  joerg If the internals are not explicitly requested, use #include_next to pick
up the system version. <locale> from libc++ requires this and is used by
src/tools/elftosb2.
 1.2 27-Feb-2014  matt branches: 1.2.4;
To build elftosb with clang++, it needs more than nl_types.h provides.
XXX to workaround with, if compiling on __NetBSD__ just include the real
nl_types.h
 1.1 29-Jan-2002  tv branches: 1.1.56; 1.1.62;
Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.1.62.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.56.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 14-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #236):
tools/compat/nl_types.h: revision 1.3
If the internals are not explicitly requested, use #include_next to pick
up the system version. <locale> from libc++ requires this and is used by
src/tools/elftosb2.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 27-Oct-2003  lukem branches: 1.3.30;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.3.30.1 18-May-2008  yamt sync with head.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 27-Oct-2003  lukem branches: 1.3.30;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 21-Mar-2003  pooka FreeBSD #defines putc_unlocked in stdio.h, so guard against that also
 1.1 14-Mar-2003  thorpej Add a putc_unlocked().
 1.3.30.1 18-May-2008  yamt sync with head.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 27-Oct-2003  lukem branches: 1.3.30;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.3.30.1 18-May-2008  yamt sync with head.
 1.6 03-Jul-2023  christos PR/57500: Palle Lyckegaard: include missing tools/compat/regex.h for
__{BEGIN,END}_DECLS.
 1.5 11-Mar-2018  christos undo previous; breaks the build. handle inside flex.
 1.4 11-Mar-2018  hans Fix build of tools/lex on platforms lacking sys/cdefs.h by including
nbtool_config.h in tools/compat/regex.h. Tested on illumos.
 1.3 06-Mar-2016  aymeric branches: 1.3.14;
add our libc's regex implementation to libnbcompat.

This way, nbsed picks it up and it unbreaks the build of xf86-video-intel-old's
man page under Linux and probably other future changes which rightfully expect
the (net)bsd behaviour.

Full release tested on ArchLinux and NetBSD 7.0_STABLE
 1.2 01-Mar-2016  martin Remove regexp.h here temporarily
 1.1 29-Feb-2016  aymeric add our libc's regex implementation to libnbcompat.

This way, nbsed picks it up and it unbreaks the build of xf86-video-intel-old's
man page under Linux and probably other future changes which rightfully expect
the (net)bsd behaviour.
 1.3.14.1 15-Mar-2018  pgoyette Synch with HEAD
 1.4 07-Feb-2013  christos branches: 1.4.4;
add shaX and rmd160 headers, same as mdX
 1.3 24-Sep-2005  elad branches: 1.3.24;
Move rmd160.h to crypto/ to keep in sync with recent changes.
Noted by xtraeme@.
 1.2 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.1 13-Sep-2002  thorpej branches: 1.1.2;
* Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.2 03-Nov-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.1 13-Sep-2002  he file rmd160.h was added on branch netbsd-1-6 on 2002-11-03 16:18:40 +0000
 1.3.24.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.4.2 25-Feb-2013  tls resync with head
 1.4.4.1 07-Feb-2013  tls file rmd160.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 27-Oct-2003  lukem branches: 1.3.30;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.3.30.1 18-May-2008  yamt sync with head.
 1.4 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.3 26-Feb-2002  tv Add some more bits of host compatibility.
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.4 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.3 26-Feb-2002  tv Add some more bits of host compatibility.
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 27-Oct-2003  lukem branches: 1.4.30;
Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.3 31-Jan-2002  tv Provide a default string so host tools that forget to call setprogname()
won't accidentally segfault just trying to print a usage message.
 1.2 10-Jan-2002  lukem - act more like lib/libc/gen/setprogname.c, and store the basename of
the argument to setprogname()
- knf
 1.1 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.4.30.1 18-May-2008  yamt sync with head.
 1.5 07-Feb-2013  christos branches: 1.5.4;
add shaX and rmd160 headers, same as mdX
 1.4 29-Oct-2006  dogcow branches: 1.4.24;
cross (and native) building works again. woo.
 1.3 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 01-Oct-2003  seb Adjust pathnames to {md{4,5},sha1}.h after their removal from
src/include.

Approved by mrg@
 1.1 13-Sep-2002  thorpej branches: 1.1.2;
* Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.2 03-Nov-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.1 13-Sep-2002  he file sha1.h was added on branch netbsd-1-6 on 2002-11-03 16:18:40 +0000
 1.4.24.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.4.2 25-Feb-2013  tls resync with head
 1.5.4.1 07-Feb-2013  tls file sha1.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.2 07-Feb-2013  christos branches: 1.2.4; 1.2.10;
yes, but include the right file
 1.1 07-Feb-2013  christos add shaX and rmd160 headers, same as mdX
 1.2.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.10.1 07-Feb-2013  yamt file sha2.h was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.2.4.2 25-Feb-2013  tls resync with head
 1.2.4.1 07-Feb-2013  tls file sha2.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.3 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.2 31-Jan-2002  tv Include config.h unconditionally; clean up.
 1.1 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.1 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.2 27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.1 13-Sep-2002  thorpej branches: 1.1.2;
* Always include the NetBSD glob(3) in libnbcompat, as the host
tools use some features of glob(3) that are not available on
all systems.
* Always include the NetBSD vis(3) in libnbcompat, since vis(3)
is not really standardized, and the vis(3) present on some systems
is different from ours.
* Always include the NetBSD MD2, MD4, MD5, RMD160, and SHA1 implementations
in libnbcompat. The host tools use features of the NetBSD versions
which aren't present on all systems that include those functions.
* Add a check for random(3) -- the Heimdal host tools want it.
* Add a check for termios.h -- the Heimdal host tools want it.
* Update the README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.2 03-Nov-2002  he Pull up revision 1.1 (new, requested by thorpej in ticket #797):
Include various more functions in libnbcompat, mostly
becuase our tools use features not universally present in
other versions. This applies to glob(3), vis(3), and the
MD2, MD4, RMD160 and SHA1 implementations.
Also add checks for random(3) and termios.h for the Heimdal
host tools.
Update README to indicate the current state of building the
host tools on Solaris 8 (for SPARC).
 1.1.2.1 13-Sep-2002  he file vis.h was added on branch netbsd-1-6 on 2002-11-03 16:18:40 +0000
 1.1 30-May-2023  lukem tools/compat: import AX_CHECK_COMPILE_FLAG

Import AX_CHECK_COMPILE_FLAG serial 6 from autoconf-archive
https://github.com/autoconf-archive/autoconf-archive.git
as at commit 5b5ce7f on 2023-05-01.
 1.1 20-Jul-2023  lukem tools/compat: provide nb_check_cc_flag.m4

Implement m4 macro NB_CHECK_CC_FLAG(FLAG, [VAR=FLAG_DERIVED])
Determine if the C compiler supports FLAG,
and sets output variable VAR to FLAG if FLAG is supported.

If VAR is not provided, default to FLAG_DERIVED, which is
FLAG converted to upper-case and all special characters
replaced with "_", and the result prepended with "CC_".
FLAG_DERIVED is appended to the m4 macro NB_CHECK_CC_FLAG_VARS.
E.g., if FLAG is "-Wexample=yes", FLAG_DERIVED is "CC_WEXAMPLE_YES".

This is implemented in separate buildaux/nb_check_cc_flag.m4,
based on configure's NB_CC_FLAG(), but supports VAR override.

Adapt configure from internal NB_CC_FLAG() to NB_CHECK_CC_FLAG().

(Note: AX_CHECK_COMPILE_FLAG() from autoconf-archive could be enhanced
to support the clang and gcc workarounds I've implemented here.)
 1.2 27-Oct-2006  mrg make sure we can find <sys/{rmd160,sha2}.h>. make sure the crypto/foo.h
versions of these include something that exists...
 1.1 24-Sep-2005  elad Move rmd160.h to crypto/ to keep in sync with recent changes.
Noted by xtraeme@.
 1.2 27-Oct-2006  mrg make sure we can find <sys/{rmd160,sha2}.h>. make sure the crypto/foo.h
versions of these include something that exists...
 1.1 26-Aug-2005  elad branches: 1.1.2;
Add nbcompat SHA2 header.
 1.1.2.2 08-Sep-2005  tron Apply patch (requested by elad in ticket #743):
Introduce SHA2 hashing routines in userland, including the common
helper routines.
 1.1.2.1 26-Aug-2005  tron file sha2.h was added on branch netbsd-3 on 2005-09-08 19:15:44 +0000
 1.3 22-Dec-2014  christos remove unused constants (Kamil Rytarowski)
 1.2 07-Sep-2014  martin branches: 1.2.2;
Avoid overflowing the "year" value by making the field uint64_t. Adapt
arguments and local variables accordingly.
This now fixes PR 49144 for real.
 1.1 01-Sep-2014  martin Add a slightly stripped down version of sys/dev/clock/clock_subr.h to make
this code available for tools.
 1.2.2.2 12-Nov-2014  snj Pull up following revision(s) (requested by martin in ticket #216):
share/man/man9/todr.9: revision 1.17
sys/arch/sh3/dev/rtc.c: revision 1.9
sys/dev/clock_subr.c: revision 1.17-1.22
sys/dev/clock_subr.h: revision 1.22
sys/fs/msdosfs/msdosfs_conv.c: revision 1.10
tools/compat/compat_defs.h: revision 1.98
tools/compat/dev/clock_subr.h: revision 1.1-1.2
usr.sbin/makefs/msdos/Makefile.inc: revision 1.6
clock_secs_to_ymdhms(9) takes seconds as a time_t, not int.
--
Make this compile- and usable from userland as well.
--
Add a slightly stripped down version of sys/dev/clock/clock_subr.h to make
this code available for tools.
--
Reformulate an overflow test so it can be used in tool builds (i.e. does
not depend on netbsd specific macros).
--
Make msdosfs time conversion use the y/m/d/h/m/s conversion functions
from clock_subr.c and compile that into the userland (and tools)
makefs as well.
--
Copy definitions of __type_min(t), __type_max(t), and some related macros,
from <sys/cdefs.h>, for use when building tools.
--
Revert previous; test secs > __type_max(time_t) again, now
that __type_max is available in tools/compat/compat_defs.h.
--
If HAVE_NBTOOL_CONFIG_H is set, then include "nbtool_config.h",
because this file is compiled as part of tools/makefs.
--
Counting leap years was fine while we had 32bit time_t - but now it
is not a good idea for dates far away in the future.
For dates in the year 2000 or later, use arithmetic instead (since the
repeating periods are well aligned). Should fix PR 49144.
--
Avoid overflowing the "year" value by making the field uint64_t. Adapt
arguments and local variables accordingly.
This now fixes PR 49144 for real.
--
Adapt formats for debug printfs to clock_subr type changes.
 1.2.2.1 07-Sep-2014  snj file clock_subr.h was added on branch netbsd-7 on 2014-11-12 18:50:55 +0000
 1.1 26-Jan-2013  christos branches: 1.1.4; 1.1.10;
links for makefs
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 26-Jan-2013  yamt file bootsect.h was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 26-Jan-2013  tls file bootsect.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.1 26-Jan-2013  christos branches: 1.1.4; 1.1.10;
links for makefs
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 26-Jan-2013  yamt file bpb.h was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 26-Jan-2013  tls file bpb.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.1 26-Jan-2013  christos branches: 1.1.4; 1.1.10;
links for makefs
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 26-Jan-2013  yamt file denode.h was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 26-Jan-2013  tls file denode.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.1 26-Jan-2013  christos branches: 1.1.4; 1.1.10;
links for makefs
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 26-Jan-2013  yamt file direntry.h was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 26-Jan-2013  tls file direntry.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.1 26-Jan-2013  christos branches: 1.1.4; 1.1.10;
links for makefs
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 26-Jan-2013  yamt file fat.h was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 26-Jan-2013  tls file fat.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.1 26-Jan-2013  christos branches: 1.1.4; 1.1.10;
links for makefs
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 26-Jan-2013  yamt file msdosfsmount.h was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 26-Jan-2013  tls file msdosfsmount.h was added on branch tls-maxphys on 2013-02-25 00:30:29 +0000
 1.2 08-Oct-2003  lukem Overhaul MBR handling (part 1):

<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.

As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).

amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.

* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.

* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.

* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.

* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.

installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)

mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.1 12-May-2002  bjh21 Use the target disklabel_mbr.h, since it just describes data structures for
use on the target. This gets prep-mkbootimage to compile under Linux.
 1.2 28-Jan-2007  dogcow Back out this addition; it's The Wrong Thing when other system headers get
included.
 1.1 28-Jan-2007  dogcow Due to recent changes in the cd9660 code, crosscompilation of tools/makefs
now fails due to the use of [be]e{16,32}dec. Add a compat header, and force
the inclusion of <sys/endian.h>.
 1.1 19-Jul-2007  jmmv branches: 1.1.2; 1.1.8; 1.1.20;
sys/queue.h now requires sys/null.h, so add a compatibility header file.
Fixes build of tools under, e.g. Mac OS X.
 1.1.20.2 19-Jul-2007  jmmv sys/queue.h now requires sys/null.h, so add a compatibility header file.
Fixes build of tools under, e.g. Mac OS X.
 1.1.20.1 19-Jul-2007  jmmv file null.h was added on branch matt-mips64 on 2007-07-19 13:49:13 +0000
 1.1.8.2 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.1.8.1 19-Jul-2007  wrstuden file null.h was added on branch wrstuden-fixsa on 2007-09-03 07:05:26 +0000
 1.1.2.2 21-Jul-2007  liamjfoy Pull up following revision(s) (requested by jmmv in ticket #778):
tools/compat/sys/null.h: revision 1.1
sys/queue.h now requires sys/null.h, so add a compatibility header file.
Fixes build of tools under, e.g. Mac OS X.
 1.1.2.1 19-Jul-2007  liamjfoy file null.h was added on branch netbsd-4 on 2007-07-21 12:50:51 +0000
 1.1 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.1 08-May-2019  thorpej branches: 1.1.2;
Fix building libprop as a host tool library on platforms that don't have
the Matt Thomas rbtree:

- Include rb.c in libnbcompat, and provide a nbcompat sys/rbtree.h
header.
- Make sure libprop's source file include prop_object_impl.h before
anything else, and pull in nbtool_config.h from there.

Tested by simulating such a host system by renaming the host's
<sys/rbtree.h> out of the way (which reproduced the build failure)
and verifying that the host-tool installboot contained the rb_*
functions in its own .text segment.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 08-May-2019  christos file rbtree.h was added on branch phil-wifi on 2019-06-10 22:10:14 +0000
 1.1 27-Oct-2006  mrg make sure we can find <sys/{rmd160,sha2}.h>. make sure the crypto/foo.h
versions of these include something that exists...
 1.2 12-Mar-2013  christos not a good place to include "nbtool_config.h"
 1.1 29-Oct-2006  dogcow branches: 1.1.40; 1.1.46;
cross (and native) building works again. woo.
 1.1.46.1 23-Jun-2013  tls resync from head
 1.1.40.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1 27-Oct-2006  mrg make sure we can find <sys/{rmd160,sha2}.h>. make sure the crypto/foo.h
versions of these include something that exists...
 1.2 27-Mar-2010  cegger remove OSX specific fix where CLOCK_REALTIME is not defined.
It has been properly fixed in
http://mail-index.netbsd.org/source-changes/2010/03/26/msg008200.html
 1.1 26-Mar-2010  cegger toolchain buildfix on OSX with MKDTRACE=yes:

The host <sys/time.h> doesn't provide CLOCK_REALTIME but ctf uses it.
See http://mail-index.netbsd.org/current-users/2010/03/20/msg012963.html

No comments.
 1.1 20-Dec-2006  agc Fixes to allow veriexecgen to be built as a host tool.
 1.1 14-May-2003  dbj use reachover relative paths in compat include files instead of
symlinking ufs include files into installboot and makefs tool objdirs
reviewed by lukem and thorpej on tech-toolchain
 1.1 14-May-2003  dbj use reachover relative paths in compat include files instead of
symlinking ufs include files into installboot and makefs tool objdirs
reviewed by lukem and thorpej on tech-toolchain
 1.1 14-May-2003  dbj use reachover relative paths in compat include files instead of
symlinking ufs include files into installboot and makefs tool objdirs
reviewed by lukem and thorpej on tech-toolchain
 1.1 14-May-2003  dbj use reachover relative paths in compat include files instead of
symlinking ufs include files into installboot and makefs tool objdirs
reviewed by lukem and thorpej on tech-toolchain
 1.1 07-Mar-2011  joerg ufs/ufs/quota.h is now used by makefs
 1.1 14-May-2003  dbj use reachover relative paths in compat include files instead of
symlinking ufs include files into installboot and makefs tool objdirs
reviewed by lukem and thorpej on tech-toolchain
 1.10 30-Jan-2017  jakllsch Fix host tools build for asn1_compile, compile_et, and slc.
 1.9 29-Jan-2017  christos don't try to build links when cleaning or making obj dirs
 1.8 29-Jan-2017  christos make a symlink to krb5 for the tools build.
 1.7 15-Apr-2011  elric branches: 1.7.26; 1.7.30;
Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
to crypto/external/bsd/heimdal. The latter was just imported as the head
of the Heimdal tree as of a few days ago.
 1.6 03-Feb-2010  tsutsui No need to compile strlcpy.c and strlcat.c here.

They are in libnbcompat.a, not in src/lib/libc/string
(moved into src/common/lib/libc/string), and
strlcpy.c and strlcat.c derived from crypto/dist/heimdal/lib/roken
won't include the target functions if nbtool_config.h defines
HAVE_STRLCPY and HAVE_STRLCAT.
 1.5 16-Nov-2003  lukem Improve how various "simple" host tools are built and invoked.
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 21-Sep-2001  tv Add compile_et to TOOLDIR host tools.
 1.7.30.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.26.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6 05-Jun-2005  thorpej config and genassym are not sysadmin tools, they are development tools.
As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them
there.
 1.5 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.4 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.5 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.4 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.3 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.2 25-Oct-2001  thorpej No need to assign HOSTPROGNAME here, since we aren't changing it from
what PROG defaults to.
 1.1 13-Oct-2001  jmc Add crunchgen as a hosted tool
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.12 12-Apr-2025  rin tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
 1.11 01-Apr-2024  riastradh branches: 1.11.2;
elftoolchain: Be consistent about which ELF header files we use.

1. For tools that use elftoolchain: always use elftoolchain's
elfdefinitions.h. Don't even think about looking at the host's
sys/exec_elf.h, which makes no sense and should never happen.

(ELF tools that don't use elftoolchain, like m68k-elf2coff,
continue to use nbincludes/sys/exec_elf.h. But no more nbincludes
hacks in elftoolchain.)

2. For kernel components (solaris, zfs, dtrace): always use
sys/exec_elf.h, even in Solaris components via sys/elf.h.
elfdefinitions.h is not wired up in the kernel build at all.

3. For most userland components that involve libelf: use
elfdefinitions.h via libelf header files (libelf.h, gelf.h).

libdtrace in particular requires _all_ R_* reloc type definitions,
but sys/exec_elf.h brings in only the _current machine's_ R_*
reloc type definitions. (While here: Use uintptr_t instead of
Elf_Addr for pointer-to-integer cast, since Elf_Addr is MD and
provided only by sys/exec_elf.h, not by elfdefinitions.h.)

And most userland components using libelf don't rely on any
properties of the current machine from sys/exec_elf.h, so they can
use libelf's elfdefinition.h.

Exceptions:

- dtrace drti.c relies on link.h -> link_elf.h -> sys/exec_elf.h,
but it also relies on sys/dtrace.h -> sys/elf.h ->
elfdefinitions.h like other userland components using sys/elf.h.

- kdump-ioctl.c uses sys/exec_elf.h directly and sys/dtrace.h ->
sys/elf.h -> elfdefinitions like other userland components using
sys/elf.h.

- t_ptrace_wait.c (via t_ptrace_core_wait.h) uses libelf to parse
core files, but relies on sys/exec_elf.h for struct
netbsd_elfcore_procinfo.

None of these exceptions needs all R_* reloc type definitions, so
as a workaround, we can just suppress libelf's elfdefinitions.h by
defining _SYS_ELFDEFINITIONS_H_ and use sys/exec_elf.h in these
exceptions.

And undo the whole BUILTIN_ELF_HEADERS mistake. This was:

- half bogus workarounds for missing build_install dependencies in
tools/Makefile, which are no longer missing now, and
- half futile attempt to use src/sys/sys/exec_elf.h via nbincludes in
tools involving libelf instead of libelf's elfdefinitions.h, which
collides.

Longer-term, we may wish to unify sys/exec_elf.h and libelf's
elfdefinitions.h, so we don't have to play these games.

But at least now the games are limited to three .c files (one of
which is generated by Makefile.ioctl-c), rather than haphazardly
applied tree-wide by monstrous kludges in widely used .h files with
broken hackarounds to get the tools build lurching to completion.
 1.10 18-Apr-2022  jkoshy branches: 1.10.2;
Update 'tools/ctf{merge,convert}' to use the new build locations for
'libelf' and 'libdwarf'.
 1.9 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.8 01-May-2018  christos Centralize NOMAN handling.
 1.7 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.6 17-Mar-2016  christos branches: 1.6.8; 1.6.14;
Add DPADD's
 1.5 09-Mar-2014  christos switch to the new libelf and libdwarf
 1.4 27-Jan-2013  riastradh Set NOMAN before including <bsd.own.mk> to really fix PR 47500.

(Hi, christos.)
 1.3 24-Jan-2013  christos Pr/47500: Henning Petersen: Don't install man pages for tools
 1.2 19-Jun-2010  riz branches: 1.2.6; 1.2.12;
Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.1 24-Feb-2010  darran DTrace: add CTF tools to the toolchain (not built yet).
 1.2.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.12.1 25-Feb-2013  tls resync with head
 1.2.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6.14.1 02-May-2018  pgoyette Synch with HEAD
 1.6.8.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.10.2.1 14-Apr-2025  martin Pull up following revision(s) (requested by rin in ticket #1096):

tools/what/Makefile: revision 1.1
external/cddl/osnet/usr.bin/ctfdump/Makefile: revision 1.10
tools/ctfmerge/Makefile: revision 1.13
tools/Makefile: revision 1.228
tools/Makefile: revision 1.229
tools/Makefile.ctftools: revision 1.1
usr.bin/what/what.c: revision 1.16
tools/Makefile: revision 1.230
tools/ctfconvert/Makefile: revision 1.12
tools/ctfdump/Makefile: revision 1.1
external/cddl/osnet/dist/tools/ctf/dump/dump.c: revision 1.3
external/cddl/osnet/dist/tools/ctf/common/utils.c: revision 1.2
(all via patch)

tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.
Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.

tools: Add what(1); not mandatory, but provides good diagnostics

tools/Makefile: Add missing `\` for previous
 1.11.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 12-Apr-2025  rin branches: 1.1.2;
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.

Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.
 1.1.2.2 14-Apr-2025  martin Pull up following revision(s) (requested by rin in ticket #1096):

tools/what/Makefile: revision 1.1
external/cddl/osnet/usr.bin/ctfdump/Makefile: revision 1.10
tools/ctfmerge/Makefile: revision 1.13
tools/Makefile: revision 1.228
tools/Makefile: revision 1.229
tools/Makefile.ctftools: revision 1.1
usr.bin/what/what.c: revision 1.16
tools/Makefile: revision 1.230
tools/ctfconvert/Makefile: revision 1.12
tools/ctfdump/Makefile: revision 1.1
external/cddl/osnet/dist/tools/ctf/dump/dump.c: revision 1.3
external/cddl/osnet/dist/tools/ctf/common/utils.c: revision 1.2
(all via patch)

tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.
Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.

tools: Add what(1); not mandatory, but provides good diagnostics

tools/Makefile: Add missing `\` for previous
 1.1.2.1 12-Apr-2025  martin file Makefile was added on branch netbsd-10 on 2025-04-14 09:58:18 +0000
 1.13 12-Apr-2025  rin tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
 1.12 01-Apr-2024  riastradh branches: 1.12.2;
elftoolchain: Be consistent about which ELF header files we use.

1. For tools that use elftoolchain: always use elftoolchain's
elfdefinitions.h. Don't even think about looking at the host's
sys/exec_elf.h, which makes no sense and should never happen.

(ELF tools that don't use elftoolchain, like m68k-elf2coff,
continue to use nbincludes/sys/exec_elf.h. But no more nbincludes
hacks in elftoolchain.)

2. For kernel components (solaris, zfs, dtrace): always use
sys/exec_elf.h, even in Solaris components via sys/elf.h.
elfdefinitions.h is not wired up in the kernel build at all.

3. For most userland components that involve libelf: use
elfdefinitions.h via libelf header files (libelf.h, gelf.h).

libdtrace in particular requires _all_ R_* reloc type definitions,
but sys/exec_elf.h brings in only the _current machine's_ R_*
reloc type definitions. (While here: Use uintptr_t instead of
Elf_Addr for pointer-to-integer cast, since Elf_Addr is MD and
provided only by sys/exec_elf.h, not by elfdefinitions.h.)

And most userland components using libelf don't rely on any
properties of the current machine from sys/exec_elf.h, so they can
use libelf's elfdefinition.h.

Exceptions:

- dtrace drti.c relies on link.h -> link_elf.h -> sys/exec_elf.h,
but it also relies on sys/dtrace.h -> sys/elf.h ->
elfdefinitions.h like other userland components using sys/elf.h.

- kdump-ioctl.c uses sys/exec_elf.h directly and sys/dtrace.h ->
sys/elf.h -> elfdefinitions like other userland components using
sys/elf.h.

- t_ptrace_wait.c (via t_ptrace_core_wait.h) uses libelf to parse
core files, but relies on sys/exec_elf.h for struct
netbsd_elfcore_procinfo.

None of these exceptions needs all R_* reloc type definitions, so
as a workaround, we can just suppress libelf's elfdefinitions.h by
defining _SYS_ELFDEFINITIONS_H_ and use sys/exec_elf.h in these
exceptions.

And undo the whole BUILTIN_ELF_HEADERS mistake. This was:

- half bogus workarounds for missing build_install dependencies in
tools/Makefile, which are no longer missing now, and
- half futile attempt to use src/sys/sys/exec_elf.h via nbincludes in
tools involving libelf instead of libelf's elfdefinitions.h, which
collides.

Longer-term, we may wish to unify sys/exec_elf.h and libelf's
elfdefinitions.h, so we don't have to play these games.

But at least now the games are limited to three .c files (one of
which is generated by Makefile.ioctl-c), rather than haphazardly
applied tree-wide by monstrous kludges in widely used .h files with
broken hackarounds to get the tools build lurching to completion.
 1.11 18-Apr-2022  jkoshy branches: 1.11.2;
Update 'tools/ctf{merge,convert}' to use the new build locations for
'libelf' and 'libdwarf'.
 1.10 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.9 01-May-2018  christos Centralize NOMAN handling.
 1.8 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.7 27-Jan-2016  christos branches: 1.7.8; 1.7.14;
use HOST_CFLAGS for -pthread
 1.6 27-Jan-2016  christos use -pthread for more portability
 1.5 09-Mar-2014  christos switch to the new libelf and libdwarf
 1.4 27-Jan-2013  riastradh Set NOMAN before including <bsd.own.mk> to really fix PR 47500.

(Hi, christos.)
 1.3 24-Jan-2013  christos Pr/47500: Henning Petersen: Don't install man pages for tools
 1.2 19-Jun-2010  riz branches: 1.2.6; 1.2.12;
Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.1 24-Feb-2010  darran DTrace: add CTF tools to the toolchain (not built yet).
 1.2.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.12.1 25-Feb-2013  tls resync with head
 1.2.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7.14.1 02-May-2018  pgoyette Synch with HEAD
 1.7.8.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.11.2.1 14-Apr-2025  martin Pull up following revision(s) (requested by rin in ticket #1096):

tools/what/Makefile: revision 1.1
external/cddl/osnet/usr.bin/ctfdump/Makefile: revision 1.10
tools/ctfmerge/Makefile: revision 1.13
tools/Makefile: revision 1.228
tools/Makefile: revision 1.229
tools/Makefile.ctftools: revision 1.1
usr.bin/what/what.c: revision 1.16
tools/Makefile: revision 1.230
tools/ctfconvert/Makefile: revision 1.12
tools/ctfdump/Makefile: revision 1.1
external/cddl/osnet/dist/tools/ctf/dump/dump.c: revision 1.3
external/cddl/osnet/dist/tools/ctf/common/utils.c: revision 1.2
(all via patch)

tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.
Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.

tools: Add what(1); not mandatory, but provides good diagnostics

tools/Makefile: Add missing `\` for previous
 1.12.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.3 01-May-2018  christos Centralize NOMAN handling.
 1.2 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.1 24-Jan-2016  christos branches: 1.1.8; 1.1.14;
Tool version
 1.1.14.1 02-May-2018  pgoyette Synch with HEAD
 1.1.8.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.2 27-May-2021  cjep branches: 1.2.2;
If we are building date earlier, we need to use an uninstalled copy
of host-mkdep and libnbcompat otherwise the build process looks for
tools that might not be there yet (e.g. fresh build).
Reviewed by martin.
 1.1 26-May-2021  christos Add a date tool
 1.2.2.2 31-May-2021  cjep sync with head
 1.2.2.1 27-May-2021  cjep file Makefile was added on branch cjep_staticlib_x on 2021-05-31 22:15:24 +0000
 1.1 18-May-2003  lukem Add db(1) as a host tool
 1.17 30-Jun-2024  christos Don't hardcode the binutils subdir
 1.16 30-Jun-2024  christos Adjust for binutils-2.42
 1.15 01-May-2018  christos branches: 1.15.14;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.14 01-May-2018  christos Centralize NOMAN handling.
 1.13 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.12 27-Dec-2017  christos branches: 1.12.2;
Better EXTERNAL_TOOLCHAIN support from Zachary McGrew
- Allow mdsetimage and dbsym to be built with EXTERNAL_TOOLCHAIN
- Allow BFDDIR and IBERTYDIR to be overwritten for mdsetimage and dbsym
 1.11 06-Jan-2017  christos branches: 1.11.6;
handle the case where we don't have the files built yet
 1.10 06-Jan-2017  christos don't run grep if we don't have the Makefile, like when we are building
objdirs
 1.9 01-Feb-2016  christos branches: 1.9.2;
silent when we don't have -ldl
 1.8 01-Feb-2016  christos Figure out if we need libdl.
 1.7 31-Oct-2011  mrg branches: 1.7.6;
obsolete now useless (and wrongly set to "219" :-) HAVE_BINUTILS.
switch the sense of the gdb and gcc tests to list the platforms not
switched to gcc 4.5 or gdb 7, which is now:

GCC 4.1:
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_CPU} == "arm" || \
${MACHINE_CPU} == "m68k" || \
${MACHINE_CPU} == "vax"

GDB 6:
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "hppa" || \
${MACHINE_CPU} == "mips" || \
${MACHINE_CPU} == "sh3" || \
${MACHINE_ARCH} == "vax"

let's go, people! (-:
 1.6 27-Oct-2009  tsutsui Use HOST_SRCDIR=external/gpl3/binutils/usr.sbin/foo
in $(HAVE_BINUTILS)=="219" case.
Fixes build failures on Cygwin. (new libbfd depends on libz)

BTW, should we revive old ones under src/usr.sbin for
native dbsym(8)/mdsetimage(8) binaries which don't need libbfd?
 1.5 04-Dec-2003  mrg look for libbfd etc in binutils always now.
 1.4 25-Jul-2003  mrg - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
 1.3 13-Dec-2001  lukem missed a couple of NOMAN= :(
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 09-Nov-2001  thorpej Support for building the new BFD-using dbsym(8) as a targeted host
tool.
 1.7.6.1 20-Nov-2012  matt Support building GPL2 versions of binutils, dbsym, gdb, and mdsetimage
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.6.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.12.2.1 02-May-2018  pgoyette Synch with HEAD
 1.15.14.1 01-Jul-2024  perseant Sync with HEAD.
 1.8 17-May-2019  nakayama Use ${_TOOL_PREFIX} instead of hardcoding "nb" for consistency.
 1.7 01-May-2018  christos branches: 1.7.2;
Centralize NOMAN handling.
 1.6 03-May-2013  matt branches: 1.6.26;
Make disklabel a MI tool. It will use MACHINE/MACHINE_ARCH to determine
the disklabel params as well as allowing command-line options of -M <machine>
and -B {le,be} to specify MACHINE and byteorder to be used.
 1.5 04-Jun-2012  joerg branches: 1.5.2;
Build getcap.c only once.
 1.4 19-Jun-2010  riz branches: 1.4.6;
Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.3 05-Jan-2010  tsutsui Add necessary byteswap ops for tools disklabel(8) used with -F option
(treating a target disk as a regular file and suppressing ioctl(2)s)
on reading/writing disklabel in a target file.
This allows cross build enviroment creating bootable disk images
for targets in different endian.
No functional changes to native (non-tools) disklabel(8) command.

Closes PR toolchain/42357.
 1.2 09-Dec-2006  dyoung Change the name of the host disklabel to nbdisklabel-${MAKEWRAPPERMACHINE},
where ${MAKEWRAPPERMACHINE} is the suffix XXX on the target's make
wrapper, nbmake-XXX.

Fixes toolchain/30673, "single arch host disklabel isn't enough".
 1.1 12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.4.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.6.1 30-Oct-2012  yamt sync with head
 1.5.2.1 23-Jun-2013  tls resync from head
 1.6.26.1 02-May-2018  pgoyette Synch with HEAD
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.5 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.4 01-May-2018  christos Centralize NOMAN handling.
 1.3 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.2 08-Jun-2017  skrll branches: 1.2.4; 1.2.6;
Update for new libfdt location
 1.1 05-Jun-2017  christos tools build glue.
 1.2.6.1 02-May-2018  pgoyette Synch with HEAD
 1.2.4.3 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.2.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
distrib/sets/lists/comp/mi: revision 1.2139
distrib/sets/lists/debug/mi: revision 1.217
distrib/sets/mkvars.mk: revision 1.32
external/gpl2/Makefile: revision 1.14
share/mk/bsd.own.mk: revision 1.1010
tools/Makefile: revisions 1.188, 1.189
tools/dtc/Makefile: revisions 1.1, 1.2
tools/libfdt/Makefile: revisions 1.1, 1.2
Add libfdt
--
New libfdt location
--
tools build glue.
--
Add dtc
--
add MKDTC
--
Add dtc
--
add DTC
--
add DTC
--
No need to set dtc twice.
--
Update for new libfdt location
 1.2.4.1 08-Jun-2017  snj file Makefile was added on branch netbsd-8 on 2017-07-18 17:32:50 +0000
 1.3 30-Mar-2024  riastradh tools/elftoolchain: Handle dependencies properly.

This should properly resolve the problem christos was trying to
address by a bogus make includes hack and #ifdefs in elftoolchain.
 1.2 18-Apr-2022  jkoshy Build 'libelf' and 'libdwarf' under 'tools/elftoolchain', after
'tools/elftoolchain/common' has been built.

This change aligns the 'tools' build with the regular build.

Subsequent commits will change 'tools/libctf' and
'tools/cft{merge,convert}' to use the new build paths.
 1.1 13-Apr-2022  jkoshy When building tools use a dedicated subdirectory for compiling
Elftoolchain code.

Build and install <sys/elfdefinitions.h> in ${TOOLDIR}/include.

This change prepares the ground for upgrading libelf and libdwarf to
their current Elftoolchain versions.
 1.3 26-Mar-2024  christos don't install headers as executable.
 1.2 02-May-2022  jkoshy Bug fix: use the correct target path in a dependency.
 1.1 13-Apr-2022  jkoshy Add a Makefile missed out in a previous commit.
 1.5 01-Apr-2024  christos revert previous, riastradh fixed it correctly and this is not needed.
 1.4 31-Mar-2024  christos Restore the minimum build to install elfdefinitions.h. Provide a pre-built
copy, since we don't have m4 available. Use pax to install it because
using the Makefile needs more stuff available (nbsed) which we have not
built yet.
 1.3 27-Mar-2024  christos Add ${_MKTARGET_CREATE}
 1.2 26-Mar-2024  christos don't install headers as executable.
 1.1 13-Apr-2022  jkoshy When building tools use a dedicated subdirectory for compiling
Elftoolchain code.

Build and install <sys/elfdefinitions.h> in ${TOOLDIR}/include.

This change prepares the ground for upgrading libelf and libdwarf to
their current Elftoolchain versions.
 1.2 01-Apr-2024  christos revert previous, riastradh fixed it correctly and this is not needed.
 1.1 31-Mar-2024  christos Restore the minimum build to install elfdefinitions.h. Provide a pre-built
copy, since we don't have m4 available. Use pax to install it because
using the Makefile needs more stuff available (nbsed) which we have not
built yet.
 1.7 01-Apr-2024  riastradh elftoolchain: Be consistent about which ELF header files we use.

1. For tools that use elftoolchain: always use elftoolchain's
elfdefinitions.h. Don't even think about looking at the host's
sys/exec_elf.h, which makes no sense and should never happen.

(ELF tools that don't use elftoolchain, like m68k-elf2coff,
continue to use nbincludes/sys/exec_elf.h. But no more nbincludes
hacks in elftoolchain.)

2. For kernel components (solaris, zfs, dtrace): always use
sys/exec_elf.h, even in Solaris components via sys/elf.h.
elfdefinitions.h is not wired up in the kernel build at all.

3. For most userland components that involve libelf: use
elfdefinitions.h via libelf header files (libelf.h, gelf.h).

libdtrace in particular requires _all_ R_* reloc type definitions,
but sys/exec_elf.h brings in only the _current machine's_ R_*
reloc type definitions. (While here: Use uintptr_t instead of
Elf_Addr for pointer-to-integer cast, since Elf_Addr is MD and
provided only by sys/exec_elf.h, not by elfdefinitions.h.)

And most userland components using libelf don't rely on any
properties of the current machine from sys/exec_elf.h, so they can
use libelf's elfdefinition.h.

Exceptions:

- dtrace drti.c relies on link.h -> link_elf.h -> sys/exec_elf.h,
but it also relies on sys/dtrace.h -> sys/elf.h ->
elfdefinitions.h like other userland components using sys/elf.h.

- kdump-ioctl.c uses sys/exec_elf.h directly and sys/dtrace.h ->
sys/elf.h -> elfdefinitions like other userland components using
sys/elf.h.

- t_ptrace_wait.c (via t_ptrace_core_wait.h) uses libelf to parse
core files, but relies on sys/exec_elf.h for struct
netbsd_elfcore_procinfo.

None of these exceptions needs all R_* reloc type definitions, so
as a workaround, we can just suppress libelf's elfdefinitions.h by
defining _SYS_ELFDEFINITIONS_H_ and use sys/exec_elf.h in these
exceptions.

And undo the whole BUILTIN_ELF_HEADERS mistake. This was:

- half bogus workarounds for missing build_install dependencies in
tools/Makefile, which are no longer missing now, and
- half futile attempt to use src/sys/sys/exec_elf.h via nbincludes in
tools involving libelf instead of libelf's elfdefinitions.h, which
collides.

Longer-term, we may wish to unify sys/exec_elf.h and libelf's
elfdefinitions.h, so we don't have to play these games.

But at least now the games are limited to three .c files (one of
which is generated by Makefile.ioctl-c), rather than haphazardly
applied tree-wide by monstrous kludges in widely used .h files with
broken hackarounds to get the tools build lurching to completion.
 1.6 30-Mar-2024  riastradh tools/elftoolchain: Build with BUILTIN_ELF_HEADERS again.

The header file dependency that motivated disabling this should be
resolved now.
 1.5 27-Mar-2024  christos Remove dependency to elfdefinitions.h, this is a mess, since it needs
${TOOL_M4} which might not be available yet.
 1.4 26-Mar-2024  christos - fix nbincludes so that it can be included from any level
- add elftoolchain/common to the list of headers to be build before depend
- make libdwarf build the includes since it needs <sys/elfdefinitions.h>
which does not exist on non-netbsd systems.
 1.3 03-Mar-2024  christos changes for r4037
 1.2 01-May-2022  jkoshy Make the generated <sys/elfdefinitions.h> file visible when compiling
libdwarf.
 1.1 18-Apr-2022  jkoshy Build 'libelf' and 'libdwarf' under 'tools/elftoolchain', after
'tools/elftoolchain/common' has been built.

This change aligns the 'tools' build with the regular build.

Subsequent commits will change 'tools/libctf' and
'tools/cft{merge,convert}' to use the new build paths.
 1.3 01-Apr-2024  riastradh elftoolchain: Be consistent about which ELF header files we use.

1. For tools that use elftoolchain: always use elftoolchain's
elfdefinitions.h. Don't even think about looking at the host's
sys/exec_elf.h, which makes no sense and should never happen.

(ELF tools that don't use elftoolchain, like m68k-elf2coff,
continue to use nbincludes/sys/exec_elf.h. But no more nbincludes
hacks in elftoolchain.)

2. For kernel components (solaris, zfs, dtrace): always use
sys/exec_elf.h, even in Solaris components via sys/elf.h.
elfdefinitions.h is not wired up in the kernel build at all.

3. For most userland components that involve libelf: use
elfdefinitions.h via libelf header files (libelf.h, gelf.h).

libdtrace in particular requires _all_ R_* reloc type definitions,
but sys/exec_elf.h brings in only the _current machine's_ R_*
reloc type definitions. (While here: Use uintptr_t instead of
Elf_Addr for pointer-to-integer cast, since Elf_Addr is MD and
provided only by sys/exec_elf.h, not by elfdefinitions.h.)

And most userland components using libelf don't rely on any
properties of the current machine from sys/exec_elf.h, so they can
use libelf's elfdefinition.h.

Exceptions:

- dtrace drti.c relies on link.h -> link_elf.h -> sys/exec_elf.h,
but it also relies on sys/dtrace.h -> sys/elf.h ->
elfdefinitions.h like other userland components using sys/elf.h.

- kdump-ioctl.c uses sys/exec_elf.h directly and sys/dtrace.h ->
sys/elf.h -> elfdefinitions like other userland components using
sys/elf.h.

- t_ptrace_wait.c (via t_ptrace_core_wait.h) uses libelf to parse
core files, but relies on sys/exec_elf.h for struct
netbsd_elfcore_procinfo.

None of these exceptions needs all R_* reloc type definitions, so
as a workaround, we can just suppress libelf's elfdefinitions.h by
defining _SYS_ELFDEFINITIONS_H_ and use sys/exec_elf.h in these
exceptions.

And undo the whole BUILTIN_ELF_HEADERS mistake. This was:

- half bogus workarounds for missing build_install dependencies in
tools/Makefile, which are no longer missing now, and
- half futile attempt to use src/sys/sys/exec_elf.h via nbincludes in
tools involving libelf instead of libelf's elfdefinitions.h, which
collides.

Longer-term, we may wish to unify sys/exec_elf.h and libelf's
elfdefinitions.h, so we don't have to play these games.

But at least now the games are limited to three .c files (one of
which is generated by Makefile.ioctl-c), rather than haphazardly
applied tree-wide by monstrous kludges in widely used .h files with
broken hackarounds to get the tools build lurching to completion.
 1.2 03-Mar-2024  christos changes for r4037
 1.1 18-Apr-2022  jkoshy Build 'libelf' and 'libdwarf' under 'tools/elftoolchain', after
'tools/elftoolchain/common' has been built.

This change aligns the 'tools' build with the regular build.

Subsequent commits will change 'tools/libctf' and
'tools/cft{merge,convert}' to use the new build paths.
 1.3 19-May-2018  christos remove trailing newline
 1.2 01-May-2018  christos Centralize NOMAN handling.
 1.1 15-Nov-2012  jkunz branches: 1.1.2; 1.1.30;
Add elftosb tools to evbarm userland and toolchain.
Elftosb is used to create a digitaly signed "secure boot" file.
This sb file can be booted by the first stage boot loader found in
Freescale i.MX23 and i.MX28 application processors.

Copyright (c) 2004-2010 Freescale Semiconductor, Inc.
 1.1.30.2 21-May-2018  pgoyette Sync with HEAD
 1.1.30.1 02-May-2018  pgoyette Synch with HEAD
 1.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 15-Nov-2012  yamt file Makefile was added on branch yamt-pagecache on 2013-01-16 05:34:03 +0000
 1.8 18-Sep-2021  christos Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.7 05-Jun-2012  tsutsui Use ${DESTDIR}/usr/mdec for DEFAULT_BOOTDIR on tools fdisk(8)
rather than unknown build host's /usr/mdec directory.

XXX: no option to leave MBR bootcode empty on x86 targets
 1.6 04-Jun-2012  joerg Build getcap.c only once.
 1.5 05-May-2012  tsutsui Don't use "#if defined(__i386__) || defined(__x86_64__)" conditionals
in C source file to define option features.
Define proper options in each Makefile per ${MACHINE_ARCH} variable instead.

Previously if a host is x86 and it has /usr/mdec/mbr file in its system,
tools fdisk implicitly installs it as mbr bootcode even for !x86 targets.
 1.4 19-Jun-2010  riz branches: 1.4.6; 1.4.8;
Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.3 14-Feb-2009  abs Convert more MACHINE tests to MACHINE_ARCH
 1.2 14-Feb-2006  dyoung branches: 1.2.28;
For the i386 and amd64 cross-toolset, build fdisk with -DBOOTSEL,
for a more full-featured cross-tool.
 1.1 12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.2.28.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.4.8.1 12-Jun-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #315):
sbin/fdisk/fdisk.c: revision 1.141
sbin/fdisk/fdisk.c: revision 1.142
tools/fdisk/Makefile: revision 1.5
tools/fdisk/Makefile: revision 1.7
sbin/fdisk/Makefile: revision 1.42
Don't use "#if defined(__i386__) || defined(__x86_64__)" conditionals
in C source file to define option features.
Define proper options in each Makefile per ${MACHINE_ARCH} variable instead.
Previously if a host is x86 and it has /usr/mdec/mbr file in its system,
tools fdisk implicitly installs it as mbr bootcode even for !x86 targets.
Use ${DESTDIR}/usr/mdec for DEFAULT_BOOTDIR on tools fdisk(8)
rather than unknown build host's /usr/mdec directory.
XXX: no option to leave MBR bootcode empty on x86 targets
 1.4.6.2 30-Oct-2012  yamt sync with head
 1.4.6.1 23-May-2012  yamt sync with head.
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 28-May-2002  bjh21 branches: 1.1.2;
Add fgen as a host tool, used for sys/arch/sparc/bootblk.
 1.1.2.2 13-Jun-2002  lukem Pull up revision 1.1 (requested by eeh in ticket #257):
Add fgen as a host tool, used for sys/arch/sparc/bootblk.
 1.1.2.1 28-May-2002  lukem file Makefile was added on branch netbsd-1-6 on 2002-06-13 02:42:12 +0000
 1.8 28-Sep-2018  maya force disable seccomp, in case it gets detected.

the configuration in this version of file is non-functional and results
in build failure if detected. The next version should be fine, but let's
ensure nobody runs into this build failure until it's imported.

reported by e3ef13f4ff44 on freenode.
 1.7 15-Apr-2012  mrg branches: 1.7.30; 1.7.32;
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.6 08-May-2009  christos branches: 1.6.6; 1.6.8;
use new file
 1.5 31-Aug-2008  lukem branches: 1.5.6;
Configure with --disable-warnings; cross-compiling on NetBSD 3.1
with gcc 3.3.3 doesn't support -Wextra
 1.4 08-May-2005  chs branches: 1.4.20;
don't build a shared lib for the host-tool, it doesn't work on hp700
and isn't needed anyway.
 1.3 11-Feb-2005  jmc branches: 1.3.2; 1.3.4; 1.3.6;
Pass CC,CXX and a few other vars along to configure so file can find the c++
preprocessor (which of course it doesn't even use...)
 1.2 08-Jul-2003  gson When building with "-j 2", linking the "file" tool failed because
libmagic.la hadn't been built yet. Work around by adding a .NOTPARALLEL
target.
 1.1 25-Mar-2003  pooka build file(1) as a host tool (for compiling magic files)
 1.3.6.1 24-Jun-2007  ghen Pull up following revision(s) (requested by pooka in ticket #1804):
dist/file/: synced with HEAD on 20070615
distrib/sets/lists/base/shl.elf: revision 1.222
distrib/sets/lists/base/shl.mi: revision 1.375 via patch
lib/Makefile: revision 1.108 via patch
lib/libmagic/Makefile: revision 1.5
lib/libmagic/config.h: patch
lib/libmagic/shlib_version: revision 1.3-1.4
tools/file/Makefile: revision 1.4
usr.bin/file/Makefile: revision 1.51-1.53
Update file(1) to version 4.21, including security fixes (CVE-2007-1536 and
CVE-2007-2799).
 1.3.4.1 24-Jun-2007  ghen Pull up following revision(s) (requested by pooka in ticket #1804):
dist/file/: synced with HEAD on 20070615
distrib/sets/lists/base/shl.elf: revision 1.222
distrib/sets/lists/base/shl.mi: revision 1.375 via patch
lib/Makefile: revision 1.108 via patch
lib/libmagic/Makefile: revision 1.5
lib/libmagic/config.h: patch
lib/libmagic/shlib_version: revision 1.3-1.4
tools/file/Makefile: revision 1.4
usr.bin/file/Makefile: revision 1.51-1.53
Update file(1) to version 4.21, including security fixes (CVE-2007-1536 and
CVE-2007-2799).
 1.3.2.1 24-Jun-2007  ghen Pull up following revision(s) (requested by pooka in ticket #1804):
dist/file/: synced with HEAD on 20070615
distrib/sets/lists/base/shl.elf: revision 1.222
distrib/sets/lists/base/shl.mi: revision 1.375 via patch
lib/Makefile: revision 1.108 via patch
lib/libmagic/Makefile: revision 1.5
lib/libmagic/config.h: patch
lib/libmagic/shlib_version: revision 1.3-1.4
tools/file/Makefile: revision 1.4
usr.bin/file/Makefile: revision 1.51-1.53
Update file(1) to version 4.21, including security fixes (CVE-2007-1536 and
CVE-2007-2799).
 1.4.20.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.5.6.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.6.8.1 07-May-2012  riz Pull up following revision(s) (requested by mrg in ticket #207):
tools/gmp/Makefile: revision 1.2
tools/mpfr/Makefile: revision 1.2
tools/file/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.22
tools/mpc/Makefile: revision 1.2
force ac_cv_path_mkdir to be set to nbinstall -d. this will avoid
gmp/configure from trying to use its install-sh for mkdir -p, and
should fix sourcesets created tarball builds.
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.6.6.1 17-Apr-2012  yamt sync with head
 1.7.32.1 10-Jun-2019  christos Sync with HEAD
 1.7.30.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.118 17-Sep-2025  mrg fetch ALL_OPT_URL_FILES as well for GCC 14.
 1.117 16-Sep-2025  mrg clean ups and gcc 14 support.

- remove some obsolete code
- derive MKNATIVE path from EXTERNAL_GCC_SUBDIR
- add version for netbsd gcc 14
 1.116 27-May-2025  palle Provide HOST_NM as NM so cross-builds on e.g. macOS and Solaris are ok.

This is an update to PR 58437 which only fixed the original issue on Solaris.

PR toolchain/58437
 1.115 16-May-2025  palle Ensure that the tools NM is used in MAKE_ARGS.

Building on host systems, e.g. Solaris, where nm is not the GNU nm implementation
is otherwise an issue.

Fixes PR58437.

PR toolchain/58437
 1.114 10-Aug-2024  mrg introduce a way to build GCC without the isl library

if NOGCCISL is set, don't build or link against isl. should fix PR#58505.
 1.113 16-Jun-2024  gutteridge branches: 1.113.2;
tools/gcc/Makefile: force std=c++11 for GCC 12 builds

GCC >= 11 now requires C++11 to build. Impacted individual components
vary whether they test for if std=c++11 is the default or has to be
passed. Regardless, our build infrastructure applies its own overrides.
Force this setting so that we can still build on NetBSD 8.x hosts (and
probably 7.x, too). Build tested on NetBSD 8.3.
 1.112 08-Jun-2024  gutteridge tools/gcc/Makefile: fix typo in comment
 1.111 22-Feb-2024  mrg enable isl support for GCC 12.
 1.110 22-Feb-2024  mrg Include the local NetBSD GCC version so that bumps to it trigger rebuilds

unfortunately, this will cause one rebuild to get the new name.
 1.109 07-Oct-2023  rin tools/gcc: Sprinkle NB_FIX_VAX_BACKEND for vax to enable gcc.old MI fixes

PR port-vax/57646: Import major vax toolchain fix by Kalvis Duckmanton
 1.108 09-Aug-2023  christos jump through hoops to make the native build find gmp for gdb.
 1.107 31-Jul-2023  mrg updates for GCC 12 (relatively tiny).

- gcov-iov.h is now called version.h and we build it directly.
- need to explicitly ask for bversion.h gtyp-input.list to be built.
 1.106 28-Jul-2023  mrg gcc 10 is now in gcc.old, make mknative-gcc.old gcc-10 happy.
 1.105 18-Sep-2021  christos branches: 1.105.2;
Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.104 08-May-2021  christos Disable again initfini; breaks some archs and not worth dealing with when
we have both gcc's active in the tree.
 1.103 07-May-2021  christos enable initfini-array since all platforms support it.
 1.102 11-Apr-2021  mrg add a netbsd version for GCC 10. properly generate omp-device-properties.h.
 1.101 11-Apr-2021  mrg fetch omp-device-properties.h and don't try to fetch sanitizer
stuff automatically yet.
 1.100 06-Sep-2020  mrg pass down earm* not earmv5* to mknative-gcc.
 1.99 05-Sep-2020  mrg disable fetching stuff from libsanitizer for now. it needs libstdc++
to build in mknative using gcc makefiles, and our locale changes break
the "normal" build of this.

make sure MKNATIVE_TARGET is always set. since mknative-gcc doesn't
care about the version any more (we keep two versions for gcc/gcc.old)
simply set it to "gcc".
 1.98 13-Aug-2020  mrg set MODULE to ${EXTERNAL_GCC_SUBDIR} so this actually works..
 1.97 06-Nov-2019  mrg add something to auto-detect when GCC has changed from gcc to gcc.old
or back and auto-cleandir tools/gcc.

based upon the code for PREVIOUSTOOLDIR in tools/Makefile.
 1.96 24-Oct-2019  christos arm needs more files
 1.95 30-Sep-2019  mrg remove HAVE_GCC == 6 support, add HAVE_GCC == 8 support
 1.94 09-Sep-2019  maya Fix bugurl. PR toolchain/48712
 1.93 19-Mar-2019  mrg branches: 1.93.2;
enable the workarounds for cortex a53 errata 835769 and 843419 by default.
 1.92 26-Feb-2019  christos Remove "--disable-libstdcxx-dual-abi". This option does not do what
it says: Instead of disabling the dual-abi and letting you choose
which one you want, it disables the cxx11 abi and the
"--with-default-libstdcxx-abi=OPTION" becomes a noop. Removing the
old COW compatibility ABI is not easy. For more info see:

https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
 1.91 17-Feb-2019  mrg don't pass --disable-symver to mknative configure. this turns off
the checking for gcc 4.6 and some exception handling routines which
we need on several platforms.

this should fix missing symbol issues seen on current-users.
 1.90 03-Feb-2019  mrg add || true to the gthr-default.h copy, it can fail first time around
 1.89 01-Feb-2019  mrg - use --with-default-libstdcxx-abi=new for GCC, otherwise we get the
old ABI with --disable-libstdcxx-dual-abi
- fix libbacktrace mknative
- find gthr-default.h for libstdc++ mknative
- fetch FILESYSTEM_SOURCES
 1.88 19-Jan-2019  mrg obsolete gcc 5 support.
add gcc 7 support. call it "nb1 20190119"
 1.87 19-Oct-2018  maya Pass --without-isl to GCC.

We don't provide one, but if we did the build would fail. This can also
happen if there's a system isl that GCC manages to find.

From mgorny.
 1.86 01-May-2018  christos branches: 1.86.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.85 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.84 02-Feb-2018  mrg branches: 1.84.2;
convert HAVE_GCC handling to modern GCC release numbering:
- HAVE_GCC=5 is now the default (vs. HAVE_GCC=53 we've been using for
GCC 5.4 and GCC 5.5.)
- remove some more GCC 4.8 code. we don't support GCC 4 here.
- adjust set lists to gcc=5 from gcc=53.

add some basic HAVE_GCC=6 handling (totally unused so far.)
 1.83 04-Oct-2017  christos - gcc.old == gcc-5.3, so copy mknative-gcc{,.old} and adjust
- disable dual libstdc++ abi per joerg
(https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html)
will require a major libstdc++ major bump.
 1.82 22-Aug-2017  mrg move the GMP_MACHINE_ARCH definition into external/lgpl3/gmp/Makefile.arch.
soon to be GMP 6 allows us to have only two arm copies.
 1.81 22-Mar-2017  chs branches: 1.81.4;
provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.80 26-Mar-2016  mrg branches: 1.80.2; 1.80.4;
use --with-diagnostics-color=auto-if-env as the default for GCC 5.
 1.79 16-Mar-2016  mrg unwind.h has a new problem, and fix the grabbing of x86 specific files.
 1.78 15-Mar-2016  mrg - pull i386-builtin-types.inc automatically on x86
- reenable cxx rt support
- don't grab insn-modes.h, we build it
- rename the c98 and c11 subdir codecvt.cc files while extracting
them with mknative
- grab GGC_H as well, and use it in dependency lists
 1.77 13-Mar-2016  mrg remove some more GCC 4.5 code. make GCC 5.3 be HAVE_GCC=53, so that,
for example, HAVE_GCC >= 48 works properly.
 1.76 15-Feb-2016  martin Add missing closing ) and line continuation for mknative
 1.75 24-Jan-2016  mrg prepare for GCC 5:
- remove GCC 4.5 stuff, add most very basic GCC 5 stuff.
- use mknative-gcc.old for GCC 4.8
- copy mknative-gcc to mknative-gcc.old (should have done this when we
switched to using gcc.old.)

this should not affect current builds.
 1.74 16-Jan-2015  christos we have lto...
 1.73 22-Nov-2014  mrg use --disable-shared on m68000 for mknative.
 1.72 10-Oct-2014  mrg add --enable-libstdcxx-time=rt for the GCC 4.8 build.
 1.71 03-Sep-2014  matt or1k does not support --with-float
 1.70 14-Jun-2014  mrg branches: 1.70.2;
remove remaining makefile support for GCC < 45 that i found.
 1.69 29-May-2014  mrg commonize the netbsd local version string. (the native one wasn't
updated, and now that won't be a problem again.)
 1.68 28-May-2014  mrg two fixes skrll@ pointed out:
- pass --enable-libstdcxx-threads to enable a bunch of tests and thus
get the right answers
- MKNATIVE_CONFIG_TARGET_LIBS needs to do libgcc before libstdc++-v3,
for the GCC 4.8 case.

with these we now get the right threading options in the headers.
 1.67 27-May-2014  skrll Update with-pkgversion date for gcc 4.8.3 import.
 1.66 27-Feb-2014  mrg branches: 1.66.2;
define GCCDIST properly for GCC 4.1, and since it is now the same
as GCCSRCDIR remove the latter.
 1.65 26-Feb-2014  mrg prepare for moving GCC 4.5 into gcc.old:

- convert to using ${EXTERNAL_GCC_SUBDIR}
- define base-external-gpl3-gcc* subdir as GCC_SUBDIR
- use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly
because it arranges for ../Makefile.inc to be included earlier, and
don't bother including the latter if the former is already included.
- move all .PATH: settings after <bsd.{own,lib}.mk> so that all
valid variables are set before it is evaluated
- rename mknative-gcc* to match their subdir name.

XXX the relationship between the Makefile.inc/Makefile.gcc_path files
is kind of sketchy, it would be great if this was fixed.
 1.64 18-Feb-2014  christos put back some cppflags we lost.
 1.63 17-Feb-2014  christos Merge gcc-4.8 mknative bits.
 1.62 16-Feb-2014  skrll The mpfr sources moved down into a src directory - deal with this in
mknative.
 1.61 28-Nov-2013  mrg update to MPC 1.0.1.
 1.60 21-Oct-2013  skrll Move the GNUHOSTDIST assignment back to the top of the Makefile.
 1.59 20-Oct-2013  skrll Group the mknative stuff together - no functional change
 1.58 20-Oct-2013  skrll g/c VAX_CONFIGURE_ARGS
 1.57 18-Jul-2013  matt m68k doesn't support with-float=soft
 1.56 28-Jun-2013  mrg branches: 1.56.2;
pass both NEWCONFIGDIR and NETBSDSRCDIR to mknative-gcc.
 1.55 27-Jun-2013  mrg use NETBSDSRCDIR to find mpc/mpfr/gmp, not NEWCONFIGDIR, the
latter which is for finding a r/w directory to write to if
we're running from a read-only tree.
 1.54 25-Apr-2013  skrll Avoid populating mknative output with gmp,mpfr, and mpc source
directories
 1.53 18-Apr-2013  skrll Use --with-{mpc,mpfr,gmp}-{lib,include} to avoid the LIBISPRIVATE=no
dance in mknative and avoid poluting the DESTDIR.

Update the README to reflect this.
 1.52 18-Sep-2012  skrll Update for gcc 4.5.4
 1.51 31-May-2012  joerg branches: 1.51.2;
Always use system zlib. Avoids the need for 32bit build environment when
bootstrapping on some Linux distros. We require zlib to be present anyway.
 1.50 10-Jan-2012  skrll branches: 1.50.2;
Fix bootstrap-libgcc for gcc 4.5
 1.49 10-Jan-2012  skrll Fix (harmless?) HAVE_GCC comparison version.
 1.48 12-Dec-2011  joerg Explicitly request TLS support for mknative.
 1.47 02-Dec-2011  skrll Pull across the fix for target/50691

ok'ed by mrg@
 1.46 26-Sep-2011  christos branches: 1.46.2;
remove pre-gcc-4.5 mknative remnants that have long ceased to function.
 1.45 21-Sep-2011  mrg add libgomp support. needed by "cc -fopenmp", that koffice 2.3 wants to use.
 1.44 10-Jul-2011  mrg force HAVE_AS_SPARC_GOTDATA_OP to false, since those relocs seem
busted with our binutils. now sparc64 seems to work fine.
 1.43 03-Jul-2011  mrg -I$DESTDIR/usr/include is escaping into the generated files from
the native-gcc run. add some sed commands to remove them.
 1.42 01-Jul-2011  mrg - call each ${MKNATIVE_CONFIG_TARGET_LIBS} target separately
- comment out maybe-all-target-libgcc
- cope with the special transformation needed for gtyp-input.list
 1.41 30-Jun-2011  mrg - repurpose MKNATIVE_CONFIG_TARGET_LIBS to list all the targets
- disable building pch for the mknative run
 1.40 29-Jun-2011  mrg get libdecnumber info out of GCC.
 1.39 23-Jun-2011  mrg get this some what working with GCC 4.5. i at least have managed to
get crtstuff and libgcc to build for amd64, and have linked and tested
/bin/sh with all these GCC 4.5 compiled part.
 1.38 21-Jun-2011  mrg use --sysroot with GCC 4.5. (maybe could with 4.1 too? the 4.1 code
here is broken right now, anyway, ever since the sysroot changes were
merged into our tree.)
 1.37 21-Jun-2011  mrg initial port to HAVE_GCC = 45. mknative-gcc parts are from me
and are largely untested, most of the rest is from chuq.
 1.36 10-Jun-2011  matt If building the cross gcc for softfloat, add --with-float=soft so it will
default to it.
 1.35 24-Mar-2011  joerg branches: 1.35.2;
Enable support for --sysroot in binutils and gcc.
 1.34 23-Dec-2009  mrg revert the previous; not intended to be part of that commit, or any commit
 1.33 23-Dec-2009  mrg rework the main SUBDIR list here as suggested by enami. put .WAIT on
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
 1.32 04-May-2009  ad Enable -mtune=nocona by default on x86. I have tested on a range of CPUs
and this seems to give the best results.
 1.31 27-Mar-2009  drochner -introduce a "COMMON_CONFIGURE_ARGS" variable which is included by
both CONFIGURE_ARGS and NATIVE_CONFIGURE_ARGS to reduce duplication
between tool and native configuration
-allow to pass a "--with-arch" argument to both configurations
 1.30 25-Oct-2008  apb branches: 1.30.4; 1.30.12;
Use ${TOOL_SED} instead of just "sed" while building other tools.

Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
 1.29 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.28 11-Oct-2008  mrg - add a i386/t-netbsd64 makefile fragment to build 32/64 bit
libgcc/multilib on amd64
- enable the 32/64 bit libgcc/multilib support on sparc64
- adapt mknative-gcc to grab multilib.h
- use --enable-multilib on amd64 and sparc64

none of this affects the installed tools yet, just the src/tools one.
 1.27 20-Sep-2007  drochner Force use of __cxa_atexit by a configure command line argument
(for booth the tool build and mknative). gcc's "config.gcc" sets
it if the target is netbsd[2-9], but since the target is w/o version
number in our builds, it has no effect. Found by Nick Hudson,
patch approved by mrg.
 1.26 07-Jun-2007  he branches: 1.26.4;
Instead of inventing a new environment variable to override the
SSP functionality location test, use gcc_cv_libc_provides_ssp instead,
as hinted by freza@ and uwe@.
 1.25 07-Jun-2007  he Modify the gcc configure script to allow override of the "target libc
has ssp functions built-in" test via the TARGET_LIBC_PROVIDES_SSP environment
variable, to allow us to configure a cross-compiler appropriately without
having to try to find out by looking in the target's source directory.

Tweak our build to tell gcc that the ssp bits are now in libc.

The native compiler appears to already think that the ssp bits
live in libc, so no change appears to be needed there.

The autoconf-generated configure script will be committed separately shortly.
 1.24 31-Mar-2007  matt Remove non-shared hooks for VAX.
 1.23 16-Mar-2007  skrll G/C some HAVE_GCC == 3 stuff
 1.22 23-Aug-2006  mrg branches: 1.22.2; 1.22.4;
pass RAW_GCC_FOR_TARGET when running configure-target-libstdc++-v3.
now iconv and wchar_t things are properly set. still missing
_GLIBCXX_HAVE_S_IFREG and _GLIBCXX_USE_NLS.
 1.21 01-Jul-2006  mrg force --disable-shared on vax so that GCC does not think it can use
shared libgcc.
 1.20 24-Jun-2006  mrg introduce a new CXXADDFLAGS and use it to pass CPPFLAG_ISYSTEMXX to
configure. also, clean up this a little more to make mknative-gcc
work on GCC3 again, while fixing some breakage in the last couple
of revisions.
 1.19 02-Jun-2006  mrg make this work for GCC3 one again.
 1.18 17-May-2006  mrg configure-libiberty is only good for GCC4.
move a comment next to it's code.
 1.17 12-May-2006  mrg set AR and RANLIB to the host versions in MAKE_ARGS - otherwise the
build of the "build-libiberty" fails due to these being set to "".
 1.16 12-May-2006  mrg support GCC4:
- look in gnu/dist/gcc4
- don't build fortran
- use /usr/bin/env -i so that gmake works (XXX - breaks from MAKEFLAGS
in the build.sh generated makewrapper.)
- use gmake and Makefile.gmakehost
- update .native/.configure_done target
 1.15 20-May-2005  skrll Use the correct LD/NM/OBJDUMP when creating the mknative environment.
 1.14 14-May-2005  skrll Use the correct AS when creating the mknative environment.

Reviewed by mrg@

mknative re-runs will appear soon.
 1.13 15-Feb-2004  skrll branches: 1.13.6;
Be more gcc like in the way we deal with libgcc so that sh3/hppa millicode
and exception handling have a chance of working properly.

- creates libgcc, libgcc_eh and libgcc_s

- updates LIBGCC_SPEC to use them appropriately.

There's a hack in here at the moment with respect to libgcc_so in that it
is preferable to link against libgcc_so will only when -shared-libgcc is
specified (the c++ frontend does this automatically.) Configurations where
LINK_EH_SPEC is defined already do this. The gcc configuration for
NetBSD/alpha and another NetBSD platform (I forget which) actually define
LINK_EH_SPEC probably by accident rather than design.

- updates share/mk to use the compiler's knowledge of what needs linking into
libraries and executables. This removes an hppa hack.

- updates the sets for the newly created libgcc* files.

- support for linking against the _pg version of libgcc has been removed.
 1.12 10-Feb-2004  skrll Updates so that mknative gets the right things.

- Disable symbol versioning (for now)
- Make sure that libiberty knows its being configured with a
cross compiler.
- The CXX_* variables are no longer needed/used.
- LIB2FUNCS_EXTRA gets pulled in via LIB2ADD
- Get LIB1ASMFUNCS and LIB2ASMSRC
- MAYBE_USE_COLLECT2 got renamed to USE_COLLECT2 (but might not
be used)
- Get EXTRA_HEADERS so that we get generate the right paths for
CPPFLAGS
- Get some variables related to shared libgcc
 1.11 27-Nov-2003  mrg fix a comment; normalise.
 1.10 27-Nov-2003  mrg trim FIND_ARGS. remove dead targets.
 1.9 27-Nov-2003  mrg be a little more verbose about what we're doing when running mknative.
also grab LIB2FUNCS_EXTRA for libgcc3 (old fix for m68000).
 1.8 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.7 10-Oct-2003  thorpej Set EXTRA_PARTS to a null value, like we do with LIBGCC. This prevents
the tool build from attempting to build the GCC crtstuff before the
target include files are installed. PR toolchain/23112.

(Note: You would not see the bad behavior described in the PR unless
your .mk files were hacked to configure the toolchain target as
*-*-netbsd*2.0.)
 1.6 23-Aug-2003  mrg for mknative, make sure we look in the target's /lib directly as the
symlinks in the /usr/lib directory point (absolutely) to "/lib/libfoo.so",
which ends up being quite invalid when target!=host...
 1.5 21-Aug-2003  mrg force long long support. use -isystem* for CCADDFLAGS
 1.4 01-Aug-2003  mrg we need config.h an another version of gthr-default.h
 1.3 29-Jul-2003  mrg pass --enable-threads to ./configure
 1.2 27-Jul-2003  mrg don't configure with multilibs when doing mknative
 1.1 25-Jul-2003  mrg - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
 1.13.6.1 27-May-2005  riz Pull up revisions 1.141-1.15 (requested by skrll in ticket #312):
1.14:
Use the correct AS when creating the mknative environment.
Reviewed by mrg@
mknative re-runs will appear soon.

1.15:
Use the correct LD/NM/OBJDUMP when creating the mknative environment.
 1.22.4.1 07-Apr-2008  skrll Pullup changes to get vax shlibs working.
 1.22.2.1 19-Apr-2008  bouyer Pull up following revision(s) (requested by skrll in ticket #1129):
share/mk/bsd.own.mk: revision 1.489.4.3
gnu/dist/gcc4/gcc/config/vax/vax.h: revision 1.2.6.1
gnu/dist/gcc4/gcc/config/vax/builtins.md: revision 1.2.10.2
sys/arch/vax/conf/Makefile.vax: revision 1.77.22.1
gnu/dist/gcc4/gcc/config/vax/vax-protos.h: revision 1.1.1.1.6.1
gnu/dist/binutils/gas/config/tc-vax.h: revision 1.1.1.1.18.1
gnu/lib/libgcc4/libgcc/Makefile: revision 1.2.6.1
sys/arch/vax/include/macros.h: revision 1.37.14.1
gnu/lib/crtstuff4/Makefile: revision 1.1.6.1
gnu/dist/gcc4/gcc/config/vax/elf.h: revision 1.1.1.1.6.1
gnu/dist/gcc4/gcc/config/vax/vax.c: revision 1.1.1.1.6.1
sys/arch/vax/boot/Makefile.inc: revision 1.12.16.1
tools/gcc/Makefile: revision 1.22.4.1
lib/libcrypto/Makefile: revision 1.46.4.2
gnu/dist/gcc4/gcc/config/vax/netbsd-elf.h: revision 1.1.1.1.6.1
sys/lib/libkern/libkern.h: revision 1.67.6.1
gnu/dist/gcc4/gcc/config/vax/predicates.md: revision 1.3.10.2
gnu/dist/binutils/bfd/elf32-vax.c: revision 1.5.6.1
gnu/dist/gcc4/gcc/config/vax/vax.md: revision 1.1.1.1.4.1.2.1
gnu/dist/gcc4/gcc/config/vax/vax.opt: revision 1.1.1.1.6.1
gnu/dist/binutils/gas/config/tc-vax.c: revision 1.4.4.1.2.1
Pullup changes to get vax shlibs working from the wrstuden-fixsa branch.
 1.26.4.1 06-Nov-2007  matt sync with HEAD
 1.30.12.1 07-Jan-2011  matt If MKSOFTFLOAT=yes, add --with-float=soft to CONFIGURE_ARGS
 1.30.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.35.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.46.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.46.2.2 30-Oct-2012  yamt sync with head
 1.46.2.1 17-Apr-2012  yamt sync with head
 1.50.2.1 05-Jul-2012  riz Pull up following revision(s) (requested by dogcow in ticket #390):
tools/gcc/Makefile: revision 1.51
Always use system zlib. Avoids the need for 32bit build environment when
bootstrapping on some Linux distros. We require zlib to be present anyway.
 1.51.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.2.2 23-Jun-2013  tls resync from head
 1.51.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.56.2.1 23-Jul-2013  riastradh sync with HEAD
 1.66.2.1 10-Aug-2014  tls Rebase.
 1.70.2.1 25-Jan-2015  martin Sync gcc with -current, requested by skrll in ticket #448:

tools/gcc/Makefile up to 1.74
tools/gcc/gcc-version.mk up to 1.3
external/gpl3/gcc/dist/config/mh-alpha-linux up to 1.1.1.1
external/gpl3/gcc/dist/gcc/config/or1k/constraints.md up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/elf.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/linux-elf.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/linux-gas.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/netbsd.h up to 1.2
external/gpl3/gcc/dist/gcc/config/or1k/or1k-modes.def up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k-opts.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k-protos.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k.c up to 1.2
external/gpl3/gcc/dist/gcc/config/or1k/or1k.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k.md up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k.opt up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/predicates.md up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/t-linux up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/t-or1k up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/t-or1knd up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/constraints.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/crti.asm up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/crtn.asm up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/div.S up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/elf.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/generic.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/linux-unwind.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/linux.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/linux64.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/opcode-riscv.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/peephole.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/predicates.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-fp.c up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-ftypes.def up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-modes.def up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-opc.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-protos.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.c up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.opt up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/sync.md up to 1.2
external/gpl3/gcc/dist/gcc/config/riscv/t-elf up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/t-linux64 up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64 up to 1.1
external/gpl3/gcc/dist/gcc/common/config/or1k/or1k-common.c up to 1.1
external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/or1k-asm.h up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/crti.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/crtn.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/linux-unwind.h up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/or1k.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/sfp-machine.h up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/t-crtstuff up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/t-linux up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/t-or1k up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/riscv-fp.c up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/crti.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/crtn.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-dpbit up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-elf up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-fpbit up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-linux up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-tpbit up to 1.1
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_netbsd.cc up to 1.3
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/powerpc/Makefile up to 1.1
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/powerpc64/Makefile up to 1.1
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/riscv32/Makefile up to 1.1
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/riscv64/Makefile up to 1.1
external/gpl3/gcc/lib/libtsan/Makefile up to 1.2
external/gpl3/gcc/lib/libtsan/shlib_version up to 1.1
external/gpl3/gcc/lib/libasan/Makefile up to 1.9
external/gpl3/gcc/lib/libasan/shlib_version up to 1.1
external/gpl3/gcc/usr.bin/lto-wrapper/Makefile up to 1.1
external/gpl3/gcc/usr.bin/lto1/Makefile up to 1.2
external/gpl3/gcc/Makefile up to 1.2
external/gpl3/gcc/README.gcc48 up to 1.6
external/gpl3/gcc/dist/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/LAST_UPDATED up to 1.5
external/gpl3/gcc/dist/MD5SUMS up to 1.5
external/gpl3/gcc/dist/Makefile.def up to 1.1.1.4
external/gpl3/gcc/dist/Makefile.in up to 1.1.1.4
external/gpl3/gcc/dist/configure up to 1.8
external/gpl3/gcc/dist/configure.ac up to 1.7
external/gpl3/gcc/dist/config/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/contrib/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/contrib/reghunt/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/contrib/regression/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/fixincludes/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/fixincludes/fixincl.x up to 1.1.1.3
external/gpl3/gcc/dist/fixincludes/inclhack.def up to 1.1.1.3
external/gpl3/gcc/dist/fixincludes/tests/base/assert.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/ChangeLog up to 1.11
external/gpl3/gcc/dist/gcc/DATESTAMP up to 1.1.1.7
external/gpl3/gcc/dist/gcc/DEV-PHASE up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config.gcc up to 1.32
external/gpl3/gcc/dist/gcc/config.in up to 1.1.1.4
external/gpl3/gcc/dist/gcc/configure up to 1.11
external/gpl3/gcc/dist/gcc/configure.ac up to 1.9
external/gpl3/gcc/dist/gcc/convert.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/expr.c up to 1.7
external/gpl3/gcc/dist/gcc/fold-const.c up to 1.1.1.7
external/gpl3/gcc/dist/gcc/graphite-clast-to-gimple.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/graphite-interchange.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/graphite-optimize-isl.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/graphite-poly.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/graphite-sese-to-poly.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/ipa-pure-const.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/omp-low.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/ree.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/rtlanal.c up to 1.2
external/gpl3/gcc/dist/gcc/stor-layout.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-data-ref.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-data-ref.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-nrv.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-ssa-forwprop.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-ssa-reassoc.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/tree-ssa-strlen.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/tree-ssa-tail-merge.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-vect-slp.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/tree.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/tsan.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/c/ChangeLog up to 1.1.1.4
external/gpl3/gcc/dist/gcc/c-family/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/darwin-c.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/darwin-driver.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/netbsd.h up to 1.14
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-elf-raw.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-linux.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-protos.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.opt up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/arm/arm.h up to 1.10
external/gpl3/gcc/dist/gcc/config/arm/arm.md up to 1.8
external/gpl3/gcc/dist/gcc/config/i386/i386.c up to 1.9
external/gpl3/gcc/dist/gcc/config/pa/pa.md up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/rs6000/altivec.h up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/rs6000/altivec.md up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h up to 1.8
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-builtin.def up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-c.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-protos.h up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c up to 1.10
external/gpl3/gcc/dist/gcc/config/rs6000/vsx.md up to 1.1.1.6
external/gpl3/gcc/dist/gcc/config/rs6000/xcoff.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/sh/sh.c up to 1.7
external/gpl3/gcc/dist/gcc/config/sh/sh.md up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/sparc/leon.md up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/sparc/sparc-opts.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/sparc/sparc.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/sparc/sparc.h up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/sparc/sparc.md up to 1.4
external/gpl3/gcc/dist/gcc/config/sparc/sparc.opt up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/sparc/t-rtems up to 1.1.1.2
external/gpl3/gcc/dist/gcc/cp/ChangeLog up to 1.1.1.7
external/gpl3/gcc/dist/gcc/cp/parser.c up to 1.1.1.6
external/gpl3/gcc/dist/gcc/cp/pt.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/cp/semantics.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/doc/extend.texi up to 1.1.1.5
external/gpl3/gcc/dist/gcc/doc/install.texi up to 1.1.1.5
external/gpl3/gcc/dist/gcc/doc/invoke.texi up to 1.7
external/gpl3/gcc/dist/gcc/doc/md.texi up to 1.1.1.6
external/gpl3/gcc/dist/gcc/doc/tm.texi up to 1.1.1.4
external/gpl3/gcc/dist/gcc/doc/tm.texi.in up to 1.1.1.3
external/gpl3/gcc/dist/gcc/lto/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/gcc/objc/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/gcc/objcp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/gnattools/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/include/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/intl/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libbacktrace/ChangeLog up to 1.1.1.4
external/gpl3/gcc/dist/libcpp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libcpp/lex.c up to 1.5
external/gpl3/gcc/dist/libcpp/line-map.c up to 1.1.1.4
external/gpl3/gcc/dist/libdecnumber/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libgcc/ChangeLog up to 1.1.1.7
external/gpl3/gcc/dist/libgcc/config/libbid/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libgcc/config/pa/linux-unwind.h up to 1.1.1.2
external/gpl3/gcc/dist/libgcc/config/sh/lib1funcs.S up to 1.1.1.2
external/gpl3/gcc/dist/libgomp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libgomp/configure.tgt up to 1.1.1.3
external/gpl3/gcc/dist/libiberty/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libitm/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/libitm/configure.tgt up to 1.1.1.3
external/gpl3/gcc/dist/libitm/libitm.info up to 1.1.1.2
external/gpl3/gcc/dist/libmudflap/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libobjc/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/libsanitizer/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/libsanitizer/configure.tgt up to 1.3
external/gpl3/gcc/dist/libsanitizer/asan/asan_intercepted_functions.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/asan/asan_internal.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/asan/asan_linux.cc up to 1.5
external/gpl3/gcc/dist/libsanitizer/asan/asan_malloc_linux.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/asan/asan_posix.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/interception/interception.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/interception/interception_linux.cc up to 1.3
external/gpl3/gcc/dist/libsanitizer/interception/interception_linux.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/interception/interception_type_test.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_internal_defs.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_placement_new.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_posix.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_procmaps.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_symbolizer_linux.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/tsan/tsan_symbolize_addr2line_linux.cc up to 1.2
external/gpl3/gcc/dist/libssp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libstdc++-v3/ChangeLog up to 1.1.1.7
external/gpl3/gcc/dist/libstdc++-v3/configure.host up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/config/os/mingw32/os_defines.h up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/config/os/mingw32-w64/os_defines.h up to 1.1.1.2
external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/status.html up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/include/std/functional up to 1.1.1.4
external/gpl3/gcc/dist/libstdc++-v3/include/std/tuple up to 1.1.1.4
external/gpl3/gcc/dist/libstdc++-v3/include/tr1/functional up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/libsupc++/dyncast.cc up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_personality.cc up to 1.1.1.3
external/gpl3/gcc/dist/lto-plugin/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/maintainer-scripts/ChangeLog up to 1.1.1.6
external/gpl3/gcc/lib/Makefile up to 1.8
external/gpl3/gcc/lib/crtstuff/arch/coldfire.mk up to 1.3
external/gpl3/gcc/lib/crtstuff/arch/m68000.mk up to 1.6
external/gpl3/gcc/lib/libbacktrace/arch/alpha/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/alpha/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/arm/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/arm/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/armeb/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/armeb/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/coldfire/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/coldfire/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/hppa/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/hppa/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/i386/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/i386/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68000/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68000/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68k/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68k/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64eb/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64eb/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64el/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64el/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mipseb/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/mipseb/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/mipsel/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/mipsel/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/powerpc/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/powerpc/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/powerpc64/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/powerpc64/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/sh3eb/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sh3eb/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sh3el/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sh3el/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sparc/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sparc/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sparc64/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/sparc64/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/vax/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/vax/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/x86_64/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/x86_64/config.h up to 1.2
external/gpl3/gcc/lib/libgcc/Makefile.inc up to 1.29
external/gpl3/gcc/lib/libgcc/arch/m68000/defs.mk up to 1.2
external/gpl3/gcc/lib/libgcc/arch/powerpc64/defs.mk up to 1.3
external/gpl3/gcc/lib/libgcc/libgcc_s/Makefile up to 1.11
external/gpl3/gcc/lib/libgcc/libgcov/arch/alpha/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/arm/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/armeb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/hppa/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/i386/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/m68000/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/m68k/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64eb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64el/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipseb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipsel/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc64/gcov-iov.h up to 1.4
external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3eb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3el/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc64/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/vax/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/x86_64/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgomp/arch/m68000/config.h up to 1.3
external/gpl3/gcc/lib/libgomp/arch/m68000/libgomp.spec up to 1.3
external/gpl3/gcc/lib/libiberty/arch/coldfire/config.h up to 1.3
external/gpl3/gcc/lib/libiberty/arch/m68000/config.h up to 1.3
external/gpl3/gcc/lib/liblto_plugin/Makefile up to 1.3
external/gpl3/gcc/lib/libmudflap/Makefile up to 1.6
external/gpl3/gcc/lib/libobjc/arch/m68000/config.h up to 1.3
external/gpl3/gcc/lib/libstdc++-v3/Makefile up to 1.19
external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h up to 1.16
external/gpl3/gcc/lib/libstdc++-v3/arch/arm/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h up to 1.11
external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h up to 1.11
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/gstdint.h up to 1.10
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/c++config.h up to 1.10
external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/gstdint.h up to 1.5
external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/c++config.h up to 1.5
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/defs.mk up to 1.3
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/gstdint.h up to 1.5
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/vax/c++config.h up to 1.16
external/gpl3/gcc/lib/libstdc++-v3/arch/vax/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/Makefile up to 1.3
external/gpl3/gcc/usr.bin/Makefile up to 1.7
external/gpl3/gcc/usr.bin/backend/Makefile up to 1.23
external/gpl3/gcc/usr.bin/frontend/Makefile up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/alpha/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/alpha/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/arm/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/arm/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/arm/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/armeb/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/armeb/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/armeb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bversion.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/defs.mk up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/tm.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h up to 1.11
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h up to 1.12
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h up to 1.10
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv4/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv4/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv4/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/hppa/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/hppa/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h up to 1.19
external/gpl3/gcc/usr.bin/gcc/arch/i386/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/m68000/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/m68000/bversion.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h up to 1.12
external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/m68000/plugin-version.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/m68000/tm.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/m68k/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h up to 1.14
external/gpl3/gcc/usr.bin/gcc/arch/m68k/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h up to 1.21
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/bversion.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/configargs.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/defs.mk up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/gtyp-input.list up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/multilib.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/plugin-version.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/tm.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h up to 1.18
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sparc/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/sparc/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/auto-host.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/vax/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/vax/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h up to 1.20
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/libcpp/arch/alpha/config.h up to 1.3
external/gpl3/gcc/usr.bin/libcpp/arch/armeb/config.h up to 1.2
external/gpl3/gcc/usr.bin/libcpp/arch/x86_64/config.h up to 1.3
distrib/sets/lists/base/ad.arm 1.58
distrib/sets/lists/base/ad.arm 1.61
distrib/sets/lists/base/ad.mips 1.53
distrib/sets/lists/base/ad.mips 1.56
distrib/sets/lists/base/ad.powerpc 1.22
distrib/sets/lists/base/ad.powerpc 1.25
distrib/sets/lists/base/ad.powerpc 1.26
distrib/sets/lists/base/md.amd64 1.249
distrib/sets/lists/base/md.amd64 1.252
distrib/sets/lists/base/md.sparc64 1.237
distrib/sets/lists/base/md.sparc64 1.240
distrib/sets/lists/base/shl.mi 1.718
distrib/sets/lists/base/shl.mi 1.721
distrib/sets/lists/base/shl.mi 1.722
distrib/sets/lists/comp/ad.arm 1.62
distrib/sets/lists/comp/ad.mips 1.52
distrib/sets/lists/comp/ad.powerpc 1.74
distrib/sets/lists/comp/ad.powerpc 1.75
distrib/sets/lists/comp/md.amd64 1.226
distrib/sets/lists/comp/md.sparc64 1.189
distrib/sets/lists/comp/mi 1.1918
distrib/sets/lists/comp/mi 1.1919
distrib/sets/lists/comp/mi 1.1937
distrib/sets/lists/comp/mi 1.1937
distrib/sets/lists/comp/shl.mi 1.268
distrib/sets/lists/comp/shl.mi 1.268
distrib/sets/lists/comp/shl.mi 1.269
distrib/sets/lists/debug/ad.arm 1.47
distrib/sets/lists/debug/ad.arm 1.50
distrib/sets/lists/debug/ad.mips 1.43
distrib/sets/lists/debug/ad.mips 1.46
distrib/sets/lists/debug/ad.powerpc 1.23
distrib/sets/lists/debug/ad.powerpc 1.26
distrib/sets/lists/debug/md.amd64 1.67
distrib/sets/lists/debug/md.amd64 1.70
distrib/sets/lists/debug/md.evbmips 1.5
distrib/sets/lists/debug/md.sparc64 1.66
distrib/sets/lists/debug/md.sparc64 1.69
distrib/sets/lists/debug/mi 1.101
distrib/sets/lists/debug/mi 1.101
distrib/sets/lists/debug/mi 1.90
distrib/sets/lists/debug/mi 1.91
distrib/sets/lists/debug/shl.mi 1.77
distrib/sets/lists/debug/shl.mi 1.80
distrib/sets/lists/debug/shl.mi 1.81
lib/Makefile 1.216
lib/Makefile 1.217
lib/Makefile 1.218
lib/libexecinfo/Makefile 1.6
lib/libexecinfo/Makefile 1.7
lib/libexecinfo/Makefile 1.8
lib/libexecinfo/unwind.h 1.3
sys/lib/libunwind/Makefile.inc 1.10

Sync gcc and its libraries with -current, including the import
of gcc 4.8.4, fixes to the use of cpu specific string instructions
on powerpc and a branch delay slot fix for SH from upstream.
 1.80.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.80.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.81.4.2 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.81.4.1 09-Oct-2017  snj Apply patch (requested by christos in ticket #312):
disable dual libstdc++ abi
 1.84.2.3 26-Jan-2019  pgoyette Sync with HEAD
 1.84.2.2 20-Oct-2018  pgoyette Sync with head
 1.84.2.1 02-May-2018  pgoyette Synch with HEAD
 1.86.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.86.2.1 10-Jun-2019  christos Sync with HEAD
 1.93.2.1 14-Aug-2020  martin Pull up following revision(s) (requested by mrg in ticket #1049):

tools/gcc/mknative-gcc: revision 1.104
tools/gcc/mknative-gcc: revision 1.105
tools/gcc/gcc-version.mk: revision 1.19
share/mk/bsd.own.mk: revision 1.1203
tools/gcc/Makefile: revision 1.98
tools/gcc/mknative-gcc.old: revision 1.7
tools/gcc/mknative-gcc.old: revision 1.8

First pass at mknative for GCC 7.5.0
 1.105.2.1 08-Oct-2023  martin Pull up following revision(s) (requested by rin in ticket #394):

external/gpl3/binutils/dist/gas/config/tc-vax.h: revision 1.10
tools/gcc/Makefile: revision 1.109
external/gpl3/binutils/dist/gas/config/tc-vax.c: revision 1.16
external/gpl3/binutils/dist/gas/config/tc-vax.c: revision 1.17
external/gpl3/binutils/dist/gas/config/tc-vax.c: revision 1.18
external/gpl3/gcc.old/dist/gcc/recog.c: revision 1.12
external/gpl3/gcc.old/dist/gcc/function.c: revision 1.16
external/gpl3/gcc.old/dist/gcc/dse.c: revision 1.14 - 1.16
external/gpl3/gcc.old/dist/gcc/config/vax/vax.c: revision 1.13
external/gpl3/gcc.old/dist/gcc/config/vax/vax.c: revision 1.14
external/gpl3/gcc.old/dist/gcc/config/vax/vax.c: revision 1.15
external/gpl3/gcc.old/dist/gcc/doc/tm.texi.in: revision 1.10
external/gpl3/gcc.old/dist/gcc/config/vax/vax.c: revision 1.16
external/gpl3/gcc.old/dist/gcc/config/vax/vax.c: revision 1.17
external/gpl3/gcc.old/dist/gcc/config/vax/vax.c: revision 1.18
external/gpl3/gcc.old/dist/gcc/config/vax/vax.c: revision 1.19
external/gpl3/gcc.old/dist/gcc/config/vax/vax.md: revision 1.12
external/gpl3/gcc.old/dist/gcc/config/vax/vax.md: revision 1.13
external/gpl3/gcc.old/usr.bin/backend/Makefile: revision 1.20
external/gpl3/gcc.old/dist/gcc/targhooks.c: revision 1.12
external/gpl3/gcc.old/dist/gcc/config/vax/vax.md: revision 1.14
external/gpl3/gcc.old/dist/gcc/config/vax/vax.md: revision 1.15
external/gpl3/gcc.old/dist/gcc/config/vax/builtins.md: revision 1.12
external/gpl3/gcc.old/dist/gcc/config/vax/vax.md: revision 1.16
external/gpl3/gcc.old/dist/gcc/config/vax/builtins.md: revision 1.13
external/gpl3/gcc.old/dist/gcc/doc/tm.texi: revision 1.12
external/gpl3/gcc.old/dist/gcc/config/vax/vax.md: revision 1.17
external/gpl3/gcc.old/dist/gcc/config/vax/vax.md: revision 1.18
external/gpl3/gcc.old/dist/gcc/config/vax/elf.h: revision 1.12
external/gpl3/gcc.old/dist/gcc/config/vax/elf.h: revision 1.13
external/gpl3/gcc.old/dist/gcc/targhooks.h: revision 1.12
external/gpl3/gcc.old/dist/gcc/target.def: revision 1.10
external/gpl3/gcc.old/dist/gcc/rtlanal.c: revision 1.14
external/gpl3/gcc.old/dist/gcc/reload.c: revision 1.12
external/gpl3/gcc.old/usr.bin/gcc/Makefile: revision 1.11
external/gpl3/gcc.old/usr.bin/lto-dump/Makefile: revision 1.3
external/gpl3/gcc.old/lib/Makefile.sanitizer: revision 1.7
external/gpl3/binutils.old/lib/libbfd/Makefile: revision 1.10
distrib/utils/x_ping/Makefile: revision 1.9
games/phantasia/Makefile: revision 1.38
external/apache2/argon2/lib/libargon2/Makefile.inc: revision 1.2
external/gpl3/gcc.old/lib/libubsan/Makefile: revision 1.8
external/bsd/mdocml/lib/libmandoc/Makefile: revision 1.13
sbin/ping/Makefile: revision 1.18
sbin/newfs_ext2fs/Makefile: revision 1.7
sys/lib/libz/Makefile: revision 1.24
sys/lib/libsa/Makefile: revision 1.97
external/gpl3/gcc.old/usr.bin/cc1objplus/Makefile: revision 1.3
external/gpl3/gdb/lib/libgdb/Makefile: revision 1.36
sys/modules/lfs/Makefile: revision 1.11
external/mit/xorg/lib/gallium/Makefile: revision 1.51
external/gpl3/gdb.old/lib/libdecnumber/Makefile: revision 1.10
external/mit/xorg/lib/libX11/Makefile.libx11: revision 1.26
libexec/ld.elf_so/Makefile: revision 1.148
external/bsd/jemalloc/lib/Makefile.inc: revision 1.16
external/gpl3/gcc.old/usr.bin/libdecnumber/Makefile: revision 1.14
crypto/external/bsd/openssh/lib/Makefile: revision 1.38
external/gpl3/gcc.old/usr.bin/backend/Makefile: revision 1.21
external/gpl3/gcc.old/usr.bin/cc1/Makefile: revision 1.12
external/gpl3/gcc.old/lib/libasan/Makefile: revision 1.11
external/gpl3/gcc.old/usr.bin/cc1plus/Makefile: revision 1.13
lib/libcrypt/Makefile: revision 1.36
external/gpl3/gdb/lib/libdecnumber/Makefile: revision 1.5
lib/libc/gdtoa/Makefile.inc: revision 1.13
games/gomoku/Makefile: revision 1.13
sbin/fsdb/Makefile: revision 1.43
external/gpl3/gcc.old/usr.bin/lto1/Makefile: revision 1.9
external/mit/xorg/lib/gallium.old/Makefile: revision 1.8
lib/libbz2/Makefile: revision 1.22
external/gpl3/gcc.old/usr.bin/cc1obj/Makefile: revision 1.12
usr.sbin/mtrace/Makefile: revision 1.14
external/gpl3/gcc.old/usr.bin/cc1obj/Makefile: revision 1.13
sys/arch/vax/conf/Makefile.vax: revision 1.86
sys/rump/fs/lib/liblfs/Makefile: revision 1.18
sbin/fsck_ffs/Makefile.common: revision 1.3
external/gpl3/binutils/lib/libbfd/Makefile: revision 1.27
lib/i18n_module/UTF7/Makefile: revision 1.5
external/gpl3/gcc.old/lib/liblsan/Makefile: revision 1.7
doc/CHANGES (apply patch)
(all external/gpl3/gcc.old/ changes applied to external/gpl3/gcc/)

PR 57646: Import major vax toolchain fix.
 1.113.2.1 02-Aug-2025  perseant Sync with HEAD
 1.24 21-Jul-2025  mrg add a note about "isl".
 1.23 30-Sep-2019  mrg branches: 1.23.10;
remove HAVE_GCC == 6 support, add HAVE_GCC == 8 support
 1.22 02-Feb-2018  mrg branches: 1.22.4;
convert HAVE_GCC handling to modern GCC release numbering:
- HAVE_GCC=5 is now the default (vs. HAVE_GCC=53 we've been using for
GCC 5.4 and GCC 5.5.)
- remove some more GCC 4.8 code. we don't support GCC 4 here.
- adjust set lists to gcc=5 from gcc=53.

add some basic HAVE_GCC=6 handling (totally unused so far.)
 1.21 21-May-2017  riastradh Remove MKCRYPTO option.

Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export. The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated. I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S. Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet... That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.
 1.20 14-Jun-2014  mrg remove remaining makefile support for GCC < 45 that i found.
 1.19 22-Apr-2014  joerg Retire USE_COMPILERCRTSTUFF=yes.
 1.18 26-Feb-2014  mrg branches: 1.18.2;
prepare for moving GCC 4.5 into gcc.old:

- convert to using ${EXTERNAL_GCC_SUBDIR}
- define base-external-gpl3-gcc* subdir as GCC_SUBDIR
- use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly
because it arranges for ../Makefile.inc to be included earlier, and
don't bother including the latter if the former is already included.
- move all .PATH: settings after <bsd.{own,lib}.mk> so that all
valid variables are set before it is evaluated
- rename mknative-gcc* to match their subdir name.

XXX the relationship between the Makefile.inc/Makefile.gcc_path files
is kind of sketchy, it would be great if this was fixed.
 1.17 28-Nov-2013  mrg update to MPC 1.0.1.
 1.16 21-Oct-2013  skrll Improve wording and remove typos
 1.15 18-Apr-2013  skrll Use --with-{mpc,mpfr,gmp}-{lib,include} to avoid the LIBISPRIVATE=no
dance in mknative and avoid poluting the DESTDIR.

Update the README to reflect this.
 1.14 26-Dec-2012  martin Note MKRUMP=no and the need to specify HAVE_GCC= explicitly when using
MKGCC=no. Also point at but number 47353.
 1.13 27-Sep-2012  skrll More tweaks
 1.12 25-Sep-2012  skrll No need to do "obj includes" twice.
 1.11 25-Sep-2012  skrll More tweaks. I didn't manage to complete a mknative from scratch run, but
this is a step in the right direction.
 1.10 16-Sep-2012  skrll Attempt to describe the gcc 4.5 method (untested)
 1.9 21-Sep-2011  mrg branches: 1.9.2; 1.9.8;
add libgomp support. needed by "cc -fopenmp", that koffice 2.3 wants to use.
 1.8 21-Jun-2011  mrg initial port to HAVE_GCC = 45. mknative-gcc parts are from me
and are largely untested, most of the rest is from chuq.
 1.7 08-Sep-2009  skrll branches: 1.7.4;
Rename MKBFD to MKBINUTILS and support HAVE_BINUTILS for set lists. This
makes {MK,HAVE_}BINUTILS consistent with {MK,HAVE_}{GCC,GDB}.

Allow MKBFD to defines MKBINUTILS as a backwards compatibility hook.

Update the sets lists and add conditionals for lib{bfd,opcodes}.
 1.6 23-Aug-2006  mrg point out the GCC4 dirs not the GCC3 dirs.
 1.5 17-Feb-2006  tv I haven't touched the mknative stuff since 2002. Take my name off of the
readmes, so I'm not implied as a point of contact.
 1.4 29-Oct-2005  martin We use gcc's crtstuff now - update this acordingly (thanks to
Nick Hudson for instructions)
 1.3 13-Feb-2004  simonb branches: 1.3.4; 1.3.6;
Fix some paths.
 1.2 12-Feb-2004  skrll Copy over from ../toolchain/README.mknative and update for gcc-3.3.x.
 1.1 27-Jul-2003  mrg document how to generate GCC3.3 bootstrap info with mknative
 1.3.6.1 20-Feb-2006  tron Pull up following revision(s) (requested by tv in ticket #1174):
tools/toolchain/README.mknative: revision 1.7
tools/gcc/README.mknative: revision 1.5 via patch
I haven't touched the mknative stuff since 2002. Take my name off of the
readmes, so I'm not implied as a point of contact.
 1.3.4.1 26-Feb-2006  riz Pull up following revision(s) (requested by tv in ticket #10318):
tools/toolchain/README.mknative: revision 1.7
tools/gcc/README.mknative: revision 1.5 via patch
I haven't touched the mknative stuff since 2002. Take my name off of the
readmes, so I'm not implied as a point of contact.
 1.7.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.8.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.8.3 23-Jun-2013  tls resync from head
 1.9.8.2 25-Feb-2013  tls resync with head
 1.9.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.2.2 23-Jan-2013  yamt sync with head
 1.9.2.1 30-Oct-2012  yamt sync with head
 1.18.2.1 10-Aug-2014  tls Rebase.
 1.22.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.23.10.1 02-Aug-2025  perseant Sync with HEAD
 1.29 16-Sep-2025  mrg clean ups and gcc 14 support.

- remove some obsolete code
- derive MKNATIVE path from EXTERNAL_GCC_SUBDIR
- add version for netbsd gcc 14
 1.28 21-Jul-2025  mrg call our GCC 12.5 "nb1 20250721".
 1.27 30-Jun-2024  mrg update netbsd gcc version/date.
 1.26 25-Feb-2024  mrg branches: 1.26.2;
version our GCC 12 as "nb2 20240221" now.
 1.25 08-Oct-2023  mrg bump the netbsd gcc 10 version to "nb3 20231008" for all the vax updates.

XXX: check if mknative needed?
XXX: pullup-10
 1.24 30-Jul-2023  mrg mark our GCC 12 as "nb1 20230729".
 1.23 11-Jul-2023  mrg bump gcc 10 version.
 1.22 23-Jul-2022  mrg branches: 1.22.2;
bump the netbsd version GCC to yesterday's date.
 1.21 11-Apr-2021  mrg add a netbsd version for GCC 10. properly generate omp-device-properties.h.
 1.20 06-Sep-2020  mrg mark GCC 9 as (so far) netbsd 20200907 version. this should fix the
compiler saying it is "gcc version 9.3.0 ()".

(needs mknative redo.)
 1.19 11-Aug-2020  mrg update GCC 7 version to nb4 20200810, and fix the unknown GCC version
error assignment from "=?" to "?=" so it works as designed.
 1.18 11-Mar-2020  mrg update date for GCC 8.4.0 import.
 1.17 30-Sep-2019  mrg remove HAVE_GCC == 6 support, add HAVE_GCC == 8 support
 1.16 20-Mar-2019  mrg branches: 1.16.2;
bump libstdc++.so.

unfortunately, we attempted to do this for netbsd-8 but we did
not actually end up having any ABI incompatibility with that,
as turning off dual ABI in libstdc++ means *only* enabling the
old ABI. however, enabling dual ABI with C11 defaults (ie,
a forward looking ABI) *is* an ABI-change for some special
cases and thus we should have bumped this a couple of weeks
ago when we re-enabled dual ABI.

call this "nb3 20190319".

mknative-gcc regen all switched ports and almost all of the
unswitched ports.
 1.15 27-Feb-2019  mrg also bump the X in "nbX" with previous
 1.14 27-Feb-2019  mrg bump netbsd gcc version date.
 1.13 19-Jan-2019  mrg obsolete gcc 5 support.
add gcc 7 support. call it "nb1 20190119"
 1.12 11-Nov-2018  mrg our GCC 6.5 is "nb4 20181109".
 1.11 05-Sep-2018  mrg remove GCC 5 marker. this is now nb3 20180905.
 1.10 28-Mar-2018  mrg branches: 1.10.2;
bump the NetBSD GCC version. both GCC 5 and 6 got x86 spectre
mitigation code, and both are now "nb2 20180327".
 1.9 05-Feb-2018  mrg branches: 1.9.2;
mark GCC 6.4 has nb1 20180203
 1.8 13-Nov-2017  mrg update netbsd version.
 1.7 22-Feb-2017  maya branches: 1.7.4;
GC more gcc 4.8 specific (dead) logic
 1.6 07-Jun-2016  mrg branches: 1.6.2; 1.6.4;
set gcc 5.4 netbsd version to 2016-06-06
 1.5 17-Mar-2016  mrg set NETBSD_GCC_VERSION for GCC 5.3 separately.
don't collect crtstuff anymore.
 1.4 16-Oct-2015  christos bump for printf/syslog format changres
 1.3 15-Jan-2015  skrll Fix gcc PR target/64479 [SH] wrong optimization delayed-branch
 1.2 20-Oct-2014  skrll Note new date for version - this is the import date.
 1.1 29-May-2014  mrg branches: 1.1.2; 1.1.4; 1.1.6;
commonize the netbsd local version string. (the native one wasn't
updated, and now that won't be a problem again.)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 29-May-2014  tls file gcc-version.mk was added on branch tls-maxphys on 2014-08-20 00:04:53 +0000
 1.1.4.1 25-Jan-2015  martin Sync gcc with -current, requested by skrll in ticket #448:

tools/gcc/Makefile up to 1.74
tools/gcc/gcc-version.mk up to 1.3
external/gpl3/gcc/dist/config/mh-alpha-linux up to 1.1.1.1
external/gpl3/gcc/dist/gcc/config/or1k/constraints.md up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/elf.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/linux-elf.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/linux-gas.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/netbsd.h up to 1.2
external/gpl3/gcc/dist/gcc/config/or1k/or1k-modes.def up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k-opts.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k-protos.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k.c up to 1.2
external/gpl3/gcc/dist/gcc/config/or1k/or1k.h up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k.md up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/or1k.opt up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/predicates.md up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/t-linux up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/t-or1k up to 1.1
external/gpl3/gcc/dist/gcc/config/or1k/t-or1knd up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/constraints.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/crti.asm up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/crtn.asm up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/div.S up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/elf.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/generic.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/linux-unwind.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/linux.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/linux64.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/opcode-riscv.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/peephole.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/predicates.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-fp.c up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-ftypes.def up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-modes.def up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-opc.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv-protos.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.c up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.h up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.md up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/riscv.opt up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/sync.md up to 1.2
external/gpl3/gcc/dist/gcc/config/riscv/t-elf up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/t-linux64 up to 1.1
external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64 up to 1.1
external/gpl3/gcc/dist/gcc/common/config/or1k/or1k-common.c up to 1.1
external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/or1k-asm.h up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/crti.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/crtn.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/linux-unwind.h up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/or1k.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/sfp-machine.h up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/t-crtstuff up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/t-linux up to 1.1
external/gpl3/gcc/dist/libgcc/config/or1k/t-or1k up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/riscv-fp.c up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/crti.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/crtn.S up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-dpbit up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-elf up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-fpbit up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-linux up to 1.1
external/gpl3/gcc/dist/libgcc/config/riscv/t-tpbit up to 1.1
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_netbsd.cc up to 1.3
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/powerpc/Makefile up to 1.1
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/powerpc64/Makefile up to 1.1
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/riscv32/Makefile up to 1.1
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/riscv64/Makefile up to 1.1
external/gpl3/gcc/lib/libtsan/Makefile up to 1.2
external/gpl3/gcc/lib/libtsan/shlib_version up to 1.1
external/gpl3/gcc/lib/libasan/Makefile up to 1.9
external/gpl3/gcc/lib/libasan/shlib_version up to 1.1
external/gpl3/gcc/usr.bin/lto-wrapper/Makefile up to 1.1
external/gpl3/gcc/usr.bin/lto1/Makefile up to 1.2
external/gpl3/gcc/Makefile up to 1.2
external/gpl3/gcc/README.gcc48 up to 1.6
external/gpl3/gcc/dist/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/LAST_UPDATED up to 1.5
external/gpl3/gcc/dist/MD5SUMS up to 1.5
external/gpl3/gcc/dist/Makefile.def up to 1.1.1.4
external/gpl3/gcc/dist/Makefile.in up to 1.1.1.4
external/gpl3/gcc/dist/configure up to 1.8
external/gpl3/gcc/dist/configure.ac up to 1.7
external/gpl3/gcc/dist/config/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/contrib/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/contrib/reghunt/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/contrib/regression/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/fixincludes/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/fixincludes/fixincl.x up to 1.1.1.3
external/gpl3/gcc/dist/fixincludes/inclhack.def up to 1.1.1.3
external/gpl3/gcc/dist/fixincludes/tests/base/assert.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/ChangeLog up to 1.11
external/gpl3/gcc/dist/gcc/DATESTAMP up to 1.1.1.7
external/gpl3/gcc/dist/gcc/DEV-PHASE up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config.gcc up to 1.32
external/gpl3/gcc/dist/gcc/config.in up to 1.1.1.4
external/gpl3/gcc/dist/gcc/configure up to 1.11
external/gpl3/gcc/dist/gcc/configure.ac up to 1.9
external/gpl3/gcc/dist/gcc/convert.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/expr.c up to 1.7
external/gpl3/gcc/dist/gcc/fold-const.c up to 1.1.1.7
external/gpl3/gcc/dist/gcc/graphite-clast-to-gimple.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/graphite-interchange.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/graphite-optimize-isl.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/graphite-poly.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/graphite-sese-to-poly.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/ipa-pure-const.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/omp-low.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/ree.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/rtlanal.c up to 1.2
external/gpl3/gcc/dist/gcc/stor-layout.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-data-ref.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-data-ref.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-nrv.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-ssa-forwprop.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-ssa-reassoc.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/tree-ssa-strlen.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/tree-ssa-tail-merge.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/tree-vect-slp.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/tree.c up to 1.1.1.4
external/gpl3/gcc/dist/gcc/tsan.c up to 1.1.1.2
external/gpl3/gcc/dist/gcc/c/ChangeLog up to 1.1.1.4
external/gpl3/gcc/dist/gcc/c-family/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/darwin-c.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/darwin-driver.c up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/netbsd.h up to 1.14
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-elf-raw.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-linux.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-protos.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.opt up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/arm/arm.h up to 1.10
external/gpl3/gcc/dist/gcc/config/arm/arm.md up to 1.8
external/gpl3/gcc/dist/gcc/config/i386/i386.c up to 1.9
external/gpl3/gcc/dist/gcc/config/pa/pa.md up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/rs6000/altivec.h up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/rs6000/altivec.md up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h up to 1.8
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-builtin.def up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-c.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-protos.h up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c up to 1.10
external/gpl3/gcc/dist/gcc/config/rs6000/vsx.md up to 1.1.1.6
external/gpl3/gcc/dist/gcc/config/rs6000/xcoff.h up to 1.1.1.3
external/gpl3/gcc/dist/gcc/config/sh/sh.c up to 1.7
external/gpl3/gcc/dist/gcc/config/sh/sh.md up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/sparc/leon.md up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/sparc/sparc-opts.h up to 1.1.1.2
external/gpl3/gcc/dist/gcc/config/sparc/sparc.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/config/sparc/sparc.h up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/sparc/sparc.md up to 1.4
external/gpl3/gcc/dist/gcc/config/sparc/sparc.opt up to 1.1.1.4
external/gpl3/gcc/dist/gcc/config/sparc/t-rtems up to 1.1.1.2
external/gpl3/gcc/dist/gcc/cp/ChangeLog up to 1.1.1.7
external/gpl3/gcc/dist/gcc/cp/parser.c up to 1.1.1.6
external/gpl3/gcc/dist/gcc/cp/pt.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/cp/semantics.c up to 1.1.1.5
external/gpl3/gcc/dist/gcc/doc/extend.texi up to 1.1.1.5
external/gpl3/gcc/dist/gcc/doc/install.texi up to 1.1.1.5
external/gpl3/gcc/dist/gcc/doc/invoke.texi up to 1.7
external/gpl3/gcc/dist/gcc/doc/md.texi up to 1.1.1.6
external/gpl3/gcc/dist/gcc/doc/tm.texi up to 1.1.1.4
external/gpl3/gcc/dist/gcc/doc/tm.texi.in up to 1.1.1.3
external/gpl3/gcc/dist/gcc/lto/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/gcc/objc/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/gcc/objcp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/gnattools/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/include/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/intl/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libbacktrace/ChangeLog up to 1.1.1.4
external/gpl3/gcc/dist/libcpp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libcpp/lex.c up to 1.5
external/gpl3/gcc/dist/libcpp/line-map.c up to 1.1.1.4
external/gpl3/gcc/dist/libdecnumber/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libgcc/ChangeLog up to 1.1.1.7
external/gpl3/gcc/dist/libgcc/config/libbid/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libgcc/config/pa/linux-unwind.h up to 1.1.1.2
external/gpl3/gcc/dist/libgcc/config/sh/lib1funcs.S up to 1.1.1.2
external/gpl3/gcc/dist/libgomp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libgomp/configure.tgt up to 1.1.1.3
external/gpl3/gcc/dist/libiberty/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libitm/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/libitm/configure.tgt up to 1.1.1.3
external/gpl3/gcc/dist/libitm/libitm.info up to 1.1.1.2
external/gpl3/gcc/dist/libmudflap/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libobjc/ChangeLog up to 1.1.1.6
external/gpl3/gcc/dist/libsanitizer/ChangeLog up to 1.1.1.3
external/gpl3/gcc/dist/libsanitizer/configure.tgt up to 1.3
external/gpl3/gcc/dist/libsanitizer/asan/asan_intercepted_functions.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/asan/asan_internal.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/asan/asan_linux.cc up to 1.5
external/gpl3/gcc/dist/libsanitizer/asan/asan_malloc_linux.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/asan/asan_posix.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/interception/interception.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/interception/interception_linux.cc up to 1.3
external/gpl3/gcc/dist/libsanitizer/interception/interception_linux.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/interception/interception_type_test.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_internal_defs.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_placement_new.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_posix.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_procmaps.h up to 1.2
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_symbolizer_linux.cc up to 1.2
external/gpl3/gcc/dist/libsanitizer/tsan/tsan_symbolize_addr2line_linux.cc up to 1.2
external/gpl3/gcc/dist/libssp/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/libstdc++-v3/ChangeLog up to 1.1.1.7
external/gpl3/gcc/dist/libstdc++-v3/configure.host up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/config/os/mingw32/os_defines.h up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/config/os/mingw32-w64/os_defines.h up to 1.1.1.2
external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/status.html up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/include/std/functional up to 1.1.1.4
external/gpl3/gcc/dist/libstdc++-v3/include/std/tuple up to 1.1.1.4
external/gpl3/gcc/dist/libstdc++-v3/include/tr1/functional up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/libsupc++/dyncast.cc up to 1.1.1.3
external/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_personality.cc up to 1.1.1.3
external/gpl3/gcc/dist/lto-plugin/ChangeLog up to 1.1.1.5
external/gpl3/gcc/dist/maintainer-scripts/ChangeLog up to 1.1.1.6
external/gpl3/gcc/lib/Makefile up to 1.8
external/gpl3/gcc/lib/crtstuff/arch/coldfire.mk up to 1.3
external/gpl3/gcc/lib/crtstuff/arch/m68000.mk up to 1.6
external/gpl3/gcc/lib/libbacktrace/arch/alpha/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/alpha/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/arm/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/arm/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/armeb/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/armeb/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/coldfire/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/coldfire/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/hppa/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/hppa/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/i386/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/i386/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68000/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68000/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68k/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/m68k/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64eb/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64eb/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64el/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mips64el/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/mipseb/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/mipseb/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/mipsel/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/mipsel/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/powerpc/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/powerpc/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/powerpc64/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/powerpc64/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/sh3eb/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sh3eb/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sh3el/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sh3el/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sparc/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sparc/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/sparc64/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/sparc64/config.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/vax/backtrace-supported.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/vax/config.h up to 1.3
external/gpl3/gcc/lib/libbacktrace/arch/x86_64/backtrace-supported.h up to 1.2
external/gpl3/gcc/lib/libbacktrace/arch/x86_64/config.h up to 1.2
external/gpl3/gcc/lib/libgcc/Makefile.inc up to 1.29
external/gpl3/gcc/lib/libgcc/arch/m68000/defs.mk up to 1.2
external/gpl3/gcc/lib/libgcc/arch/powerpc64/defs.mk up to 1.3
external/gpl3/gcc/lib/libgcc/libgcc_s/Makefile up to 1.11
external/gpl3/gcc/lib/libgcc/libgcov/arch/alpha/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/arm/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/armeb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/hppa/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/i386/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/m68000/gcov-iov.h up to 1.5
external/gpl3/gcc/lib/libgcc/libgcov/arch/m68k/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64eb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64el/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipseb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipsel/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc64/gcov-iov.h up to 1.4
external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3eb/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3el/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc64/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/vax/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgcc/libgcov/arch/x86_64/gcov-iov.h up to 1.6
external/gpl3/gcc/lib/libgomp/arch/m68000/config.h up to 1.3
external/gpl3/gcc/lib/libgomp/arch/m68000/libgomp.spec up to 1.3
external/gpl3/gcc/lib/libiberty/arch/coldfire/config.h up to 1.3
external/gpl3/gcc/lib/libiberty/arch/m68000/config.h up to 1.3
external/gpl3/gcc/lib/liblto_plugin/Makefile up to 1.3
external/gpl3/gcc/lib/libmudflap/Makefile up to 1.6
external/gpl3/gcc/lib/libobjc/arch/m68000/config.h up to 1.3
external/gpl3/gcc/lib/libstdc++-v3/Makefile up to 1.19
external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h up to 1.16
external/gpl3/gcc/lib/libstdc++-v3/arch/arm/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h up to 1.11
external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h up to 1.11
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h up to 1.7
external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/gstdint.h up to 1.10
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/c++config.h up to 1.10
external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/gstdint.h up to 1.5
external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/c++config.h up to 1.5
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/defs.mk up to 1.3
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/gstdint.h up to 1.5
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/c++config.h up to 1.13
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/c++config.h up to 1.14
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/vax/c++config.h up to 1.16
external/gpl3/gcc/lib/libstdc++-v3/arch/vax/gstdint.h up to 1.8
external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/c++config.h up to 1.15
external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/gstdint.h up to 1.9
external/gpl3/gcc/lib/libstdc++-v3/include/bits/arch/Makefile up to 1.3
external/gpl3/gcc/usr.bin/Makefile up to 1.7
external/gpl3/gcc/usr.bin/backend/Makefile up to 1.23
external/gpl3/gcc/usr.bin/frontend/Makefile up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/alpha/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/alpha/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/arm/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/arm/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/arm/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/armeb/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/armeb/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/armeb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bversion.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/defs.mk up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/coldfire/tm.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h up to 1.11
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h up to 1.12
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h up to 1.10
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv4/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv4/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv4/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h up to 1.9
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/hppa/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/hppa/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h up to 1.19
external/gpl3/gcc/usr.bin/gcc/arch/i386/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/m68000/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/m68000/bversion.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h up to 1.12
external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/m68000/plugin-version.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/m68000/tm.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/m68k/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h up to 1.14
external/gpl3/gcc/usr.bin/gcc/arch/m68k/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h up to 1.15
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h up to 1.21
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/auto-host.h up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/bversion.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/configargs.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/defs.mk up to 1.4
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/gtyp-input.list up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/multilib.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/plugin-version.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/tm.h up to 1.3
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h up to 1.18
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sparc/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h up to 1.16
external/gpl3/gcc/usr.bin/gcc/arch/sparc/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/auto-host.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/vax/auto-host.h up to 1.6
external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h up to 1.17
external/gpl3/gcc/usr.bin/gcc/arch/vax/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/auto-host.h up to 1.5
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h up to 1.20
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/plugin-version.h up to 1.7
external/gpl3/gcc/usr.bin/libcpp/arch/alpha/config.h up to 1.3
external/gpl3/gcc/usr.bin/libcpp/arch/armeb/config.h up to 1.2
external/gpl3/gcc/usr.bin/libcpp/arch/x86_64/config.h up to 1.3
distrib/sets/lists/base/ad.arm 1.58
distrib/sets/lists/base/ad.arm 1.61
distrib/sets/lists/base/ad.mips 1.53
distrib/sets/lists/base/ad.mips 1.56
distrib/sets/lists/base/ad.powerpc 1.22
distrib/sets/lists/base/ad.powerpc 1.25
distrib/sets/lists/base/ad.powerpc 1.26
distrib/sets/lists/base/md.amd64 1.249
distrib/sets/lists/base/md.amd64 1.252
distrib/sets/lists/base/md.sparc64 1.237
distrib/sets/lists/base/md.sparc64 1.240
distrib/sets/lists/base/shl.mi 1.718
distrib/sets/lists/base/shl.mi 1.721
distrib/sets/lists/base/shl.mi 1.722
distrib/sets/lists/comp/ad.arm 1.62
distrib/sets/lists/comp/ad.mips 1.52
distrib/sets/lists/comp/ad.powerpc 1.74
distrib/sets/lists/comp/ad.powerpc 1.75
distrib/sets/lists/comp/md.amd64 1.226
distrib/sets/lists/comp/md.sparc64 1.189
distrib/sets/lists/comp/mi 1.1918
distrib/sets/lists/comp/mi 1.1919
distrib/sets/lists/comp/mi 1.1937
distrib/sets/lists/comp/mi 1.1937
distrib/sets/lists/comp/shl.mi 1.268
distrib/sets/lists/comp/shl.mi 1.268
distrib/sets/lists/comp/shl.mi 1.269
distrib/sets/lists/debug/ad.arm 1.47
distrib/sets/lists/debug/ad.arm 1.50
distrib/sets/lists/debug/ad.mips 1.43
distrib/sets/lists/debug/ad.mips 1.46
distrib/sets/lists/debug/ad.powerpc 1.23
distrib/sets/lists/debug/ad.powerpc 1.26
distrib/sets/lists/debug/md.amd64 1.67
distrib/sets/lists/debug/md.amd64 1.70
distrib/sets/lists/debug/md.evbmips 1.5
distrib/sets/lists/debug/md.sparc64 1.66
distrib/sets/lists/debug/md.sparc64 1.69
distrib/sets/lists/debug/mi 1.101
distrib/sets/lists/debug/mi 1.101
distrib/sets/lists/debug/mi 1.90
distrib/sets/lists/debug/mi 1.91
distrib/sets/lists/debug/shl.mi 1.77
distrib/sets/lists/debug/shl.mi 1.80
distrib/sets/lists/debug/shl.mi 1.81
lib/Makefile 1.216
lib/Makefile 1.217
lib/Makefile 1.218
lib/libexecinfo/Makefile 1.6
lib/libexecinfo/Makefile 1.7
lib/libexecinfo/Makefile 1.8
lib/libexecinfo/unwind.h 1.3
sys/lib/libunwind/Makefile.inc 1.10

Sync gcc and its libraries with -current, including the import
of gcc 4.8.4, fixes to the use of cpu specific string instructions
on powerpc and a branch delay slot fix for SH from upstream.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 29-May-2014  tls file gcc-version.mk was added on branch tls-earlyentropy on 2014-08-10 06:57:41 +0000
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.7.4.2 05-Sep-2018  martin Pull up following revision(s) (requested by mrg in ticket #1008):

tools/gcc/gcc-version.mk: revision 1.11
tools/gcc/mknative-gcc: revision 1.93
external/gpl3/gcc/dist/config/tls.m4: revision 1.2
external/gpl3/gcc/dist/libgcc/configure: revision 1.5

Correct extra parens, regen configure (selectively)
Fixes root cause of PR toolchain/53567

in configargs.h, as well as normalising to /usr/src, normalise the
--build to the same as the --host, so that it never changes based
upon the host you ran mknative on. (some recent changes are only
because i updated a system from netbsd-7 to netbsd-8. this will
avoid that in the future.)

remove GCC 5 marker. this is now nb3 20180905.
 1.7.4.1 01-Apr-2018  martin Pull up following revision(s) (requested by mrg in ticket #682):

tools/gcc/gcc-version.mk: revision 1.10 (via patch)
external/gpl3/gcc.old/dist/gcc/config/i386/i386.c: revision 1.10
external/gpl3/gcc.old/dist/gcc/config/i386/i386-protos.h: revision 1.6
external/gpl3/gcc.old/dist/gcc/config/i386/constraints.md: revision 1.6
external/gpl3/gcc.old/dist/gcc/doc/invoke.texi: revision 1.7
external/gpl3/gcc.old/dist/gcc/config/i386/i386.md: revision 1.7
external/gpl3/gcc.old/dist/gcc/doc/extend.texi: revision 1.7
external/gpl3/gcc.old/dist/gcc/config/i386/i386-opts.h: revision 1.4
external/gpl3/gcc.old/dist/gcc/config/i386/predicates.md: revision 1.6
external/gpl3/gcc.old/dist/gcc/config/i386/i386.h: revision 1.7
external/gpl3/gcc.old/dist/gcc/config/i386/i386.opt: revision 1.7
(with external/gpl3/gcc.old/ -> external/gpl3/gcc/)

add the spectre mitigation options for x86:

-mindirect-branch=<choice>
-mfunction-return=<choice>
-mindirect-branch-register

the values for 'choice' are "keep" (default, existing behaviour),
"thunk", "thunk-inline", and "thunk-extern".

as taken from the Ubuntu port of these changes in their
ubuntu:gcc-5_5.5.0-8ubuntu1.diff. i've also included the doc
updates that are missing from ubuntu from gcc itself.
i've tested both i386 and amd64 fairly heavily with these options
enabled in both kernels and userland, atf runs and hundreds of
package builds.

bump the NetBSD GCC version. both GCC 5 and 6 got x86 spectre
mitigation code, and both are now "nb2 20180327".
 1.9.2.4 26-Jan-2019  pgoyette Sync with HEAD
 1.9.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.9.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.2.1 30-Mar-2018  pgoyette Resolve conflicts between branch and HEAD
 1.10.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.16.2.1 14-Aug-2020  martin Pull up following revision(s) (requested by mrg in ticket #1049):

tools/gcc/mknative-gcc: revision 1.104
tools/gcc/mknative-gcc: revision 1.105
tools/gcc/gcc-version.mk: revision 1.19
share/mk/bsd.own.mk: revision 1.1203
tools/gcc/Makefile: revision 1.98
tools/gcc/mknative-gcc.old: revision 1.7
tools/gcc/mknative-gcc.old: revision 1.8

First pass at mknative for GCC 7.5.0
 1.22.2.2 09-Oct-2023  martin Pull up following revision(s) (requested by mrg in ticket #398):

tools/gcc/gcc-version.mk: revision 1.25

bump the netbsd gcc 10 version to "nb3 20231008" for all the vax updates.
 1.22.2.1 14-Jul-2023  martin Apply patch, requested by mrg in ticket #233:

external/gpl3/gcc/lib/libgcc/libgcov/arch/aarch64/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/aarch64eb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/alpha/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/hppa/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/i386/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/m68000/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/m68k/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64eb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64el/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipseb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipsel/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipsn64eb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/mipsn64el/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc64/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv32/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/riscv64/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3eb/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3el/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc64/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/vax/gcov-iov.h
external/gpl3/gcc/lib/libgcc/libgcov/arch/x86_64/gcov-iov.h
external/gpl3/gcc/lib/libgomp/arch/aarch64/config.h
external/gpl3/gcc/lib/libgomp/arch/aarch64eb/config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsn64eb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsn64eb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsn64eb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsn64el/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsn64el/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/mipsn64el/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv64/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv64/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv64/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/vax/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/vax/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/vax/symver-config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/symver-config.h
external/gpl3/gcc/usr.bin/gcc/arch/aarch64/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/aarch64/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/aarch64/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/aarch64/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/aarch64eb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/aarch64eb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/aarch64eb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/aarch64eb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/alpha/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/alpha/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/alpha/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/hppa/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/hppa/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/hppa/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/i386/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/i386/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/ia64/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/ia64/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/ia64/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/ia64/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/m68000/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/m68000/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/m68k/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/m68k/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/m68k/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/mips64el/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/mipseb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/mipsel/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64eb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64eb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64eb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64eb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64el/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64el/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64el/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/mipsn64el/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/powerpc/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv64/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv64/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv64/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/riscv64/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/sh3el/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/sparc/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/sparc/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/sparc/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/sparc64/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/vax/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/vax/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/vax/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/x86_64/plugin-version.h
tools/gcc/gcc-version.mk

mknative, complete update to gcc 10.5.
 1.26.2.2 02-Aug-2025  perseant Sync with HEAD
 1.26.2.1 01-Jul-2024  perseant Sync with HEAD.
 1.1 09-Aug-2023  christos jump through hoops to make the native build find gmp for gdb.
 1.121 17-Sep-2025  mrg fetch ALL_OPT_URL_FILES as well for GCC 14.
 1.120 16-Sep-2025  mrg pull out more libstdc++ sources.
 1.119 16-Sep-2025  mrg adjust these so mknative-gcc.old is for gcc 12 and mknative-gcc
is for gcc 14.
 1.118 21-Feb-2024  mrg fetch G_CPP20_SOURCES.
 1.117 31-Jul-2023  mrg updates for GCC 12 (relatively tiny).

- gcov-iov.h is now called version.h and we build it directly.
- need to explicitly ask for bversion.h gtyp-input.list to be built.
 1.116 22-Jul-2022  mrg don't rename codecvt.cc here, do it in a Makefile when consumed.

since the Makefiles already need updates for these, it's easier
if all of the changes are there.
 1.115 16-Aug-2021  mrg fetch experimental_headers, experimental_bits_headers, and ext_host_headers
to install install experimental/* and ext/opt_random.h.
 1.114 11-Apr-2021  mrg fetch omp-device-properties.h and don't try to fetch sanitizer
stuff automatically yet.
 1.113 11-Apr-2021  mrg make mknative-gcc.old for GCC 9. begin to update mknative-gcc for GCC 10.
 1.112 09-Sep-2020  mrg more consolidation and properly condition all variables like previously.
 1.111 09-Sep-2020  mrg consolidate a bunch of libstdc++ variable collection.
 1.110 08-Sep-2020  mrg oops, pull out the value of pstl_headers.
 1.109 06-Sep-2020  mrg pass down earm* not earmv5* to mknative-gcc.
 1.108 05-Sep-2020  mrg disable fetching stuff from libsanitizer for now. it needs libstdc++
to build in mknative using gcc makefiles, and our locale changes break
the "normal" build of this.

make sure MKNATIVE_TARGET is always set. since mknative-gcc doesn't
care about the version any more (we keep two versions for gcc/gcc.old)
simply set it to "gcc".
 1.107 05-Sep-2020  mrg pull out a few more things for GCC 9.
 1.106 05-Sep-2020  mrg port to GCC 9.3.
 1.105 13-Aug-2020  mrg set _OUTDIRBASE depending on $0, and then set _OUTDIR based on this.
now you can copy mknative-gcc to mknative-gcc.old without edit.
 1.104 12-Aug-2020  mrg mknative-gcc is for GCC 8.4.
mknative-gcc.old is supposed to be for GCC 7, but is the GCC 6
version. update it and mark it for GCC 7.5.
 1.103 24-Oct-2019  christos arm needs more files
 1.102 16-Oct-2019  mrg copy arm-cpu.h and arm-isa.h for arm platforms.
 1.101 23-Feb-2019  mrg branches: 1.101.2;
pull out libstdc++ config.h as-is, for gnu.ver processing.
pull out the cxx11_sources and cxx98_sources values to avoid hard coding.
 1.100 09-Feb-2019  mrg - build the gthr*.h files to be installed on the fly, instead of
having dozens of copies of the same thing in the tree.
- don't fetch any gthr*.h files.
- delete ancient gthr-tpf.h that was removed in GCC 4.8 or so.

this should fix the call_once tests for real now.
 1.99 04-Feb-2019  mrg common-target source list is MD. make it so.
 1.98 04-Feb-2019  mrg - don't getlinks here, they're no longer used.
- pullout the libcommon, libcommon-target and libgomp source list so they
don't have to be hard coded in the reachover makefile
 1.97 01-Feb-2019  mrg - use --with-default-libstdcxx-abi=new for GCC, otherwise we get the
old ABI with --disable-libstdcxx-dual-abi
- fix libbacktrace mknative
- find gthr-default.h for libstdc++ mknative
- fetch FILESYSTEM_SOURCES
 1.96 19-Jan-2019  mrg make includes works now.

pull out more data needed for headers and fix gthr-defaults.h.

libgcc_s has multiple symbols.
 1.95 19-Jan-2019  mrg also pull out these variables:
enable_execute_stack
unwind_header
md_unwind_header
sfp_machine_header
thread_header
 1.94 04-Sep-2018  mrg also pullout INTERNAL_CFLAGS for the libgcc build, where it may have
-DHAVE_CC_TLS defined on the command line. (we already collect all
the other components.)
 1.93 04-Sep-2018  mrg in configargs.h, as well as normalising to /usr/src, normalise the
--build to the same as the --host, so that it never changes based
upon the host you ran mknative on. (some recent changes are only
because i updated a system from netbsd-7 to netbsd-8. this will
avoid that in the future.)
 1.92 06-Feb-2018  mrg branches: 1.92.2; 1.92.4;
also fetch GCOV_DUMP_OBJS.
 1.91 03-Feb-2018  mrg pullout port_specific_symbol_files from libstdc++.
 1.90 04-Oct-2017  christos use the variable for the source dir instead of duplicating it.
 1.89 05-Oct-2016  christos branches: 1.89.6;
revert our changes; softfloat removal is now done in libgcc/config.host
 1.88 05-Oct-2016  christos We provide our own soft-float implementation in libc, so elide the libgcc
sources for it.
 1.87 17-Mar-2016  mrg branches: 1.87.2;
set NETBSD_GCC_VERSION for GCC 5.3 separately.
don't collect crtstuff anymore.
 1.86 16-Mar-2016  mrg grab insn-modes.h, and do the libgcc bootstrap from gcc as well.
 1.85 15-Mar-2016  mrg - pull i386-builtin-types.inc automatically on x86
- reenable cxx rt support
- don't grab insn-modes.h, we build it
- rename the c98 and c11 subdir codecvt.cc files while extracting
them with mknative
- grab GGC_H as well, and use it in dependency lists
 1.84 15-Mar-2016  mrg update for GCC 5.3 libgcov and libstdc++
 1.83 15-Mar-2016  mrg very first baby steps towards GCC 5.3 mknative.
 1.82 24-Jan-2016  mrg add a comment saying this is for GCC 4.8
 1.81 31-Jan-2015  mrg kill the -fPIC that m68000 ends up with, fixing it in the specs
is not trivial..
 1.80 30-Jan-2015  mrg canonicalise the src dir to /usr/src, so it doesn't matter
where we run mknative.
 1.79 29-May-2014  skrll Don't grab libstdc++-v3/config.h it's not used.
 1.78 02-Mar-2014  mrg branches: 1.78.2;
don't collect gthr-default.h anymore.
 1.77 02-Mar-2014  mrg don't collect c++allocator.h. we copy it via G_ALLOCATOR_H we've
already pulled out, and the extra copy can confuse make when it
has an older timestamp than the copy in dist/libstdc++-v3/.
 1.76 26-Feb-2014  mrg prepare for moving GCC 4.5 into gcc.old:

- convert to using ${EXTERNAL_GCC_SUBDIR}
- define base-external-gpl3-gcc* subdir as GCC_SUBDIR
- use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly
because it arranges for ../Makefile.inc to be included earlier, and
don't bother including the latter if the former is already included.
- move all .PATH: settings after <bsd.{own,lib}.mk> so that all
valid variables are set before it is evaluated
- rename mknative-gcc* to match their subdir name.

XXX the relationship between the Makefile.inc/Makefile.gcc_path files
is kind of sketchy, it would be great if this was fixed.
 1.75 16-Feb-2014  skrll The mpfr sources moved down into a src directory - deal with this in
mknative.
 1.74 28-Nov-2013  mrg update to MPC 1.0.1.
 1.73 20-Oct-2013  skrll Deleted 1 line too many in previous commit.
 1.72 20-Oct-2013  skrll g/c gcc3 goop
 1.71 28-Jun-2013  mrg pass both NEWCONFIGDIR and NETBSDSRCDIR to mknative-gcc.
 1.70 05-May-2013  skrll Create a sanitise_includes function and use it everywhere it's needed.
 1.69 25-Apr-2013  skrll Avoid populating mknative output with gmp,mpfr, and mpc source
directories
 1.68 25-Sep-2012  skrll More tweaks. I didn't manage to complete a mknative from scratch run, but
this is a step in the right direction.
 1.67 11-Aug-2012  skrll branches: 1.67.2;
Grab CRTSTUFF_T_CFLAGS_S.

Gentlement start your mknative runs.
 1.66 10-Jan-2012  skrll Fix bootstrap-libgcc for gcc 4.5
 1.65 13-Oct-2011  matt branches: 1.65.2;
Fix PPC _SOFT_FLOAT
 1.64 23-Sep-2011  mrg since omp.h is part of libgomp, put it in the libgomp files not the
libstdc++ files.
 1.63 21-Sep-2011  mrg add libgomp support. needed by "cc -fopenmp", that koffice 2.3 wants to use.
 1.62 17-Aug-2011  matt Add an inline ex script to modify configargs.h for powerpc to auto-enable
-msoft-float.
 1.61 03-Jul-2011  mrg fix the previous
 1.60 03-Jul-2011  mrg -I$DESTDIR/usr/include is escaping into the generated files from
the native-gcc run. add some sed commands to remove them.
 1.59 03-Jul-2011  mrg copy sysroot-suffix.h as well, for sh3.
 1.58 02-Jul-2011  mrg also pull out LIB2ADD_ST for libgcc.
 1.57 01-Jul-2011  mrg avoid creating an unused directory.
 1.56 01-Jul-2011  mrg - call each ${MKNATIVE_CONFIG_TARGET_LIBS} target separately
- comment out maybe-all-target-libgcc
- cope with the special transformation needed for gtyp-input.list
 1.55 30-Jun-2011  mrg fix previous; they belong in _headers1
 1.54 30-Jun-2011  mrg also pull tr1_impl_headers parallel_headers and decimal_headers for libstdc++
 1.53 29-Jun-2011  mrg fix all-tree.def, and add gtyp-input.list
 1.52 29-Jun-2011  mrg fix the path for libdecnumber.
 1.51 29-Jun-2011  mrg get libdecnumber info out of GCC.
 1.50 28-Jun-2011  mrg also need bversion.h
 1.49 28-Jun-2011  mrg some more updates for GCC 4.5.
 1.48 23-Jun-2011  mrg output stuff to the right libiberty dir for gcc 4.5.
 1.47 23-Jun-2011  mrg get this some what working with GCC 4.5. i at least have managed to
get crtstuff and libgcc to build for amd64, and have linked and tested
/bin/sh with all these GCC 4.5 compiled part.
 1.46 21-Jun-2011  mrg initial port to HAVE_GCC = 45. mknative-gcc parts are from me
and are largely untested, most of the rest is from chuq.
 1.45 17-Dec-2009  uebayasi branches: 1.45.4;
get_libgcc_new: Make previous work for digit only ABI names.
 1.44 17-Dec-2009  uebayasi get_libgcc_new: Teach multilib.
 1.43 01-Dec-2009  uebayasi Skip parameters for multilib build for now.
 1.42 01-Dec-2009  uebayasi Handle cases where *.asm is listed in LIB2FUNCS_EXTRA (gcc/config/rs6000).
 1.41 30-Nov-2009  uebayasi Handle cases where database text files don't exist.
 1.40 30-Nov-2009  uebayasi Call "template sources" as "tmplsrcs", not "tmpsrcs". Requested by mrg@.
 1.39 30-Nov-2009  uebayasi Prefix per-library *.mk files with libs.*.
 1.38 30-Nov-2009  uebayasi Now that we know what sources are needed to build a given library, we need
the rules how to build those sources. Generate makefiles defining ${COPTS},
${CPPFLAGS}, and ${SRCS} (== template).

Note that ${CPPFLAGS} is actually dfined as _CPPFLAGS like
_CPPFLAGS.tmp___gcc_bcmp.c=-DL__gcc_bcmp
and used to generate wrapper files (e.g. tmp___gcc_bcmp.c). Otherwise it's
automagically passed to ${CC} by bsd.*.mk.
 1.37 30-Nov-2009  uebayasi For each library, generate a makefile of the list of template sources too.
 1.36 30-Nov-2009  uebayasi For each library, generate a list of sources (*.[cS]).

We create wrapper sources (tmp_*.[cS]) on-the-fly and compile them. For
example, __gcc_bcmp() is compiled using tmp___gcc_bcmp.c, which #define's
L__gcc_bcmp and #include's libgcc2.c.
 1.35 30-Nov-2009  uebayasi Move these analyzing functions into one place, get_libgcc_new_analyze().
 1.34 30-Nov-2009  uebayasi Typo.
 1.33 30-Nov-2009  uebayasi Generate lists of template sources ("tmpsrcs") for each libraries. We'll
need these to create wrappers of tmpsrcs and define correct dependencies.
 1.32 30-Nov-2009  uebayasi Generate *.o -> template *.[cS] ("tmpsrc") mapping.

Functions are built from a template (tmpsrc). We create wrapper sources
(src) and define necessary defines and #include tmpsrc.
 1.31 30-Nov-2009  uebayasi - Generate a list of CPP flags used to build *.o. Some files are build
repeatedly with different -DXXX to generate similar objects (e.g. different
type size).

- Generate a list of other CC options to build *.o.

(See my sed-fu using hold space in get_libgcc_list_objs_xflags().)
 1.30 30-Nov-2009  uebayasi - Generate a list of *.o -> lib*.{a,so} mapping. This is also known by
parsing dependency lines in libgcc.mk.

- Generate a list of *.o -> *.{c,S} mapping. *.S files are known as
${LIB1ASMFUNCS}. Assume other *.o files are built from *.c. This information
is needed to generated wrapper sources later.
 1.29 30-Nov-2009  uebayasi Generate lists of functions built in libgcc libraries. This is known by
pattern matching dependency lines in libgcc.mk.
 1.28 30-Nov-2009  uebayasi Generate a list of functions provided as *.S.
 1.27 30-Nov-2009  uebayasi Define paths of newly generated files.
 1.26 30-Nov-2009  uebayasi Start implementing the new style libgcc "mknative" converter which generates
BSD makefiles to build libgcc. The goal is to build all functions rather
than managing the set of functions in gnu/lib/libgcc/Makefile.in by hand.

Because of the complexity of the build procedure, I leave not only generated
makefiles but also intermediate, analyzed data so that people can verify that
the conversion is done correctly.
 1.25 11-Oct-2008  mrg - add a i386/t-netbsd64 makefile fragment to build 32/64 bit
libgcc/multilib on amd64
- enable the 32/64 bit libgcc/multilib support on sparc64
- adapt mknative-gcc to grab multilib.h
- use --enable-multilib on amd64 and sparc64

none of this affects the installed tools yet, just the src/tools one.
 1.24 19-Sep-2008  skrll Grab libgcov stuff.
 1.23 08-Feb-2008  skrll Collect the libobjc config.h
 1.22 25-Jun-2006  mrg branches: 1.22.4; 1.22.10;
convert build/ggc-none.o to build-ggc-none.lo.
 1.21 24-Jun-2006  mrg also grab ${_extravars} for GCC4 in the get_gcc() function.
 1.20 09-Jun-2006  skrll Fixes for mknative runs on gcc3.

- get the information from a gcc3 .native
- don't get gcc4 variables
- put back the getvars for SHLIB_LINK SHLIB_MULTILIB as they work
on gcc3 and leave as XXX'd on gcc4.

I've re-arranged some of the variables to minimise the differences, but
didn't do them all.
 1.19 02-Jun-2006  mrg make this work for GCC3 one again.
 1.18 23-May-2006  mrg also grab ALL_OPT_FILES from gcc/Makefile for libobjc4.
 1.17 15-May-2006  mrg make sure that c++ headers work again.
 1.16 12-May-2006  mrg support GCC4:
- look in gnu/dist/gcc4
- don't build fortran
- use /usr/bin/env -i so that gmake works (XXX - breaks from MAKEFLAGS
in the build.sh generated makewrapper.)
- use gmake and Makefile.gmakehost
- update .native/.configure_done target
 1.15 10-Dec-2004  mrg mirror a fix from mknative-binutils:
>fix the sed expression that pulls VPATH out of the makefile to work
>with any number of tabs or spaces after the equal sign.
 1.14 24-Aug-2004  thorpej Add code to extract make vars for GCC crtstuff.
 1.13 01-Jul-2004  skrll Add some more variables used to build libgcc_s.

Part of the fix for PR 22452.
 1.12 10-Feb-2004  skrll branches: 1.12.2;
Updates so that mknative gets the right things.

- Disable symbol versioning (for now)
- Make sure that libiberty knows its being configured with a
cross compiler.
- The CXX_* variables are no longer needed/used.
- LIB2FUNCS_EXTRA gets pulled in via LIB2ADD
- Get LIB1ASMFUNCS and LIB2ASMSRC
- MAYBE_USE_COLLECT2 got renamed to USE_COLLECT2 (but might not
be used)
- Get EXTRA_HEADERS so that we get generate the right paths for
CPPFLAGS
- Get some variables related to shared libgcc
 1.11 02-Jan-2004  skrll Move libgcc3/*.mk to libgcc3/arch.

Update mknative-gcc.
 1.10 27-Nov-2003  mrg fix a comment; normalise.
 1.9 27-Nov-2003  mrg use mknative.common
 1.8 27-Nov-2003  mrg be a little more verbose about what we're doing when running mknative.
also grab LIB2FUNCS_EXTRA for libgcc3 (old fix for m68000).
 1.7 22-Aug-2003  mrg don't want auto-build.h anymore
 1.6 01-Aug-2003  mrg we need config.h an another version of gthr-default.h
 1.5 30-Jul-2003  mrg fix a typo in previous
 1.4 30-Jul-2003  mrg libiberty/config.h needs to become per-arch.
 1.3 28-Jul-2003  mrg fix a bug in previous - two $'s are bad
 1.2 28-Jul-2003  mrg add another transform for libobjc3
 1.1 25-Jul-2003  mrg - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
 1.12.2.1 16-Jul-2004  he Pull up revision 1.13 (requested by skrll in ticket #668):
Do the same thing as stock gcc, by using the symbol
versioning script to remove certain symbols from the
dynamic symbol table, and pull in libgcc_pic in the
-shared-libgcc case for the millicode platforms.
Fixes PR#22452.
 1.22.10.1 23-Mar-2008  matt sync with HEAD
 1.22.4.1 07-Nov-2008  snj Pull up following revision(s) (requested by mrg in ticket #1228):
tools/gcc/mknative-gcc: revision 1.23
Collect the libobjc config.h
 1.45.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.65.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.65.2.2 30-Oct-2012  yamt sync with head
 1.65.2.1 17-Apr-2012  yamt sync with head
 1.67.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.67.2.2 23-Jun-2013  tls resync from head
 1.67.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.78.2.1 10-Aug-2014  tls Rebase.
 1.87.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.89.6.3 05-Sep-2018  martin Pull up following revision(s) (requested by mrg in ticket #1008):

tools/gcc/mknative-gcc: revision 1.94

also pullout INTERNAL_CFLAGS for the libgcc build, where it may have
-DHAVE_CC_TLS defined on the command line. (we already collect all
the other components.)
 1.89.6.2 05-Sep-2018  martin Pull up following revision(s) (requested by mrg in ticket #1008):

tools/gcc/gcc-version.mk: revision 1.11
tools/gcc/mknative-gcc: revision 1.93
external/gpl3/gcc/dist/config/tls.m4: revision 1.2
external/gpl3/gcc/dist/libgcc/configure: revision 1.5

Correct extra parens, regen configure (selectively)
Fixes root cause of PR toolchain/53567

in configargs.h, as well as normalising to /usr/src, normalise the
--build to the same as the --host, so that it never changes based
upon the host you ran mknative on. (some recent changes are only
because i updated a system from netbsd-7 to netbsd-8. this will
avoid that in the future.)

remove GCC 5 marker. this is now nb3 20180905.
 1.89.6.1 09-Oct-2017  snj Apply patch (requested by christos in ticket #312):
disable dual libstdc++ abi
 1.92.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.92.4.1 10-Jun-2019  christos Sync with HEAD
 1.92.2.2 26-Jan-2019  pgoyette Sync with HEAD
 1.92.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.101.2.1 14-Aug-2020  martin Pull up following revision(s) (requested by mrg in ticket #1049):

tools/gcc/mknative-gcc: revision 1.104
tools/gcc/mknative-gcc: revision 1.105
tools/gcc/gcc-version.mk: revision 1.19
share/mk/bsd.own.mk: revision 1.1203
tools/gcc/Makefile: revision 1.98
tools/gcc/mknative-gcc.old: revision 1.7
tools/gcc/mknative-gcc.old: revision 1.8

First pass at mknative for GCC 7.5.0
 1.12 16-Sep-2025  mrg adjust these so mknative-gcc.old is for gcc 12 and mknative-gcc
is for gcc 14.
 1.11 28-Jul-2023  mrg gcc 10 is now in gcc.old, make mknative-gcc.old gcc-10 happy.
 1.10 11-Apr-2021  mrg make mknative-gcc.old for GCC 9. begin to update mknative-gcc for GCC 10.
 1.9 06-Sep-2020  mrg pass down earm* not earmv5* to mknative-gcc.
 1.8 13-Aug-2020  mrg set _OUTDIRBASE depending on $0, and then set _OUTDIR based on this.
now you can copy mknative-gcc to mknative-gcc.old without edit.
 1.7 12-Aug-2020  mrg mknative-gcc is for GCC 8.4.
mknative-gcc.old is supposed to be for GCC 7, but is the GCC 6
version. update it and mark it for GCC 7.5.
 1.6 05-Sep-2018  mrg copy across GCC 6.4 mknative-gcc into mknative-gcc.old.
 1.5 04-Oct-2017  christos branches: 1.5.2; 1.5.4;
use the variable for the source dir instead of duplicating it.
 1.4 04-Oct-2017  christos - gcc.old == gcc-5.3, so copy mknative-gcc{,.old} and adjust
- disable dual libstdc++ abi per joerg
(https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html)
will require a major libstdc++ major bump.
 1.3 21-Apr-2016  mrg set _OUTDIR and _OUTDIRBASE properly for gcc.old, and fix a sed.
 1.2 24-Jan-2016  mrg prepare for GCC 5:
- remove GCC 4.5 stuff, add most very basic GCC 5 stuff.
- use mknative-gcc.old for GCC 4.8
- copy mknative-gcc to mknative-gcc.old (should have done this when we
switched to using gcc.old.)

this should not affect current builds.
 1.1 26-Feb-2014  mrg branches: 1.1.4; 1.1.8;
prepare for moving GCC 4.5 into gcc.old:

- convert to using ${EXTERNAL_GCC_SUBDIR}
- define base-external-gpl3-gcc* subdir as GCC_SUBDIR
- use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly
because it arranges for ../Makefile.inc to be included earlier, and
don't bother including the latter if the former is already included.
- move all .PATH: settings after <bsd.{own,lib}.mk> so that all
valid variables are set before it is evaluated
- rename mknative-gcc* to match their subdir name.

XXX the relationship between the Makefile.inc/Makefile.gcc_path files
is kind of sketchy, it would be great if this was fixed.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 26-Feb-2014  tls file mknative-gcc.old was added on branch tls-maxphys on 2014-08-20 00:04:53 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 26-Feb-2014  yamt file mknative-gcc.old was added on branch yamt-pagecache on 2014-05-22 11:42:30 +0000
 1.5.4.1 10-Jun-2019  christos Sync with HEAD
 1.5.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.2 26-Feb-2014  mrg prepare for moving GCC 4.5 into gcc.old:

- convert to using ${EXTERNAL_GCC_SUBDIR}
- define base-external-gpl3-gcc* subdir as GCC_SUBDIR
- use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly
because it arranges for ../Makefile.inc to be included earlier, and
don't bother including the latter if the former is already included.
- move all .PATH: settings after <bsd.{own,lib}.mk> so that all
valid variables are set before it is evaluated
- rename mknative-gcc* to match their subdir name.

XXX the relationship between the Makefile.inc/Makefile.gcc_path files
is kind of sketchy, it would be great if this was fixed.
 1.1 17-Feb-2014  christos Merge gcc-4.8 mknative bits.
 1.16 15-Apr-2018  christos fix the variable name for then non-gmake case.
 1.15 29-Nov-2017  christos branches: 1.15.2;
Be more selective about what to quote-quote: only paths and version numbers.
 1.14 29-Nov-2017  christos backslash me harder!
 1.13 29-Nov-2017  christos since gmake does not have :Q handle it in sed...
 1.12 28-Nov-2017  christos use make -C path/to -f Makefile instead of make -f path/to/Makefile
so that includes with relative paths work.
 1.11 17-Feb-2014  christos Merge gcc-4.8 mknative bits.
 1.10 20-Oct-2013  skrll Make sure gmake is quiet when grabbing variables.
 1.9 05-Feb-2007  apb branches: 1.9.34; 1.9.40;
Whenever we try to parse the output from make, run make with the -B
flag. This ensures that -j<N> isn't accidentally inherited from the
environment, because the "--- foo ---" headers printed with -j<N> would
interfere with parsing the output.
 1.8 26-May-2006  mrg branches: 1.8.4;
use the same "Generated from: " tag for mknative.common so that changes
that only affect rcsid's don't cause all generated files to change.
 1.7 17-May-2006  mrg quote variables in the gmake version of getvars() so that stuff that
looks like (FOO|BAR) works.
 1.6 15-May-2006  mrg also note the rcsid of mknative.common
 1.5 15-May-2006  mrg when generating path names also substitute the real path name as well as
the VPATH. now /usr/src doesn't end up in libstdc++-v3_4 defs.mk.
 1.4 12-May-2006  mrg - ensure $MAKE is set
- support $MAKE as gmake for getvars()
 1.3 11-Dec-2004  jmc Take output and look for things of the form ./XXX.o and turn them into XXX.o
so generated objects vs listed objects in make line up and dependcies happen
correctly. Found because libiberty (on this binutils import) was leaving
all objects as ./object.o and make wasn't picking up correct depends on
config.h as a result.
 1.2 11-Dec-2004  lukem minor (shell) KNF
 1.1 27-Nov-2003  mrg common part of mknative
 1.8.4.1 06-Mar-2007  bouyer Pull up following revision(s) (requested by apb in ticket #491):
distrib/sets/regpkg: revision 1.15
tools/gcc/mknative.common: revision 1.9
distrib/sets/sets.subr: revision 1.56
distrib/sets/regpkgset: revision 1.9
build.sh: revision 1.161 via patch
Whenever we try to parse the output from make, run make with the -B
flag. This ensures that -j<N> isn't accidentally inherited from the
environment, because the "--- foo ---" headers printed with -j<N> would
interfere with parsing the output.
 1.9.40.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.34.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.15.2.1 22-Apr-2018  pgoyette Sync with HEAD
 1.56 31-Aug-2024  rin gdb: Additional fix for MKCROSSGDB=yes build

Disable `info` itself to fix environment(== timestamp, probably)-
dependent build failures as cross-gdb.

Now, only `native-gdb` builds *.info files.

Thanks martin@ for report and test!
 1.55 31-Aug-2024  rin tools/gdb: Use MKGDBSERVER consistently, NFC for now
 1.54 27-Aug-2024  christos disable sim on powerpc
 1.53 27-Aug-2024  christos copy the rest of the includes and stop using --with-foo=${TOOLDIR} because
it breaks static linking (it picks the tools version of the libraries when
cross building sun2)
 1.52 27-Aug-2024  christos For mknative, we need the native versions of MPFR and MPC, so provide them
in the link line, to override those in ${TOOLDIR}/lib
 1.51 18-Aug-2024  rin mknative-gdb: Generate *.info by using makeinfo(1) from pkgsrc

Unfortunately, our in-tree makeinfo(1) (latest GPLv2 version) is
too old for this purpose :(
 1.50 14-Aug-2024  christos changes for new gdb (disable zstd, find mpc/mfpr/gmp differently)
 1.49 20-Aug-2023  rin branches: 1.49.2;
gdb/mknative: Preset yes to rename(2) checks

It must be better to have this workaround here, rather than in external.
(Thanks uwe@ for suggestion!)

Confirmed that the same files generated as before.
 1.48 17-Aug-2023  rin tools/gdb: Drop working dir for mknative from generated files

Migrate -I${.OBJDIR}/.native/include from CPPFLAGS to CCADDFLAGS for
this purpose.

No binary changes for native binaries as far as I can see.
 1.47 17-Aug-2023  rin tools/gdb: Sprinkle --enable-obsolete for ia64 :(
 1.46 15-Aug-2023  christos override the override
 1.45 14-Aug-2023  christos backout previous; cross build needs native gmp
 1.44 14-Aug-2023  christos fix cross-gdb
 1.43 09-Aug-2023  christos jump through hoops to make the native build find gmp for gdb.
 1.42 31-Jul-2023  christos mknative support for gdb-13.2
 1.41 08-May-2023  skrll Set ac_cv_func_sigprocmask=yes as the symbol renaming confuses the
configure script on architectures that don't provide a compatibilty
symbol, e.g. RISC-V
 1.40 24-Sep-2020  christos branches: 1.40.6;
grab the gdbserver version
 1.39 23-Sep-2020  christos Add gdbserver
 1.38 02-Jun-2019  christos force libexpat since the autoconfig test are not cross-compile friendly
(they try to link with /usr/lib/libexpat.so in the compiler invocation).
 1.37 01-Jun-2019  christos Disable mpfr to make MKCROSSGDB work again. The problem is that the default
(auto) finds the mpfr library in tools, but then when it tries to build using
the proper headers it does not find it anymore since we don't install it
(like the native build does not find it).
 1.36 01-May-2018  christos branches: 1.36.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.35 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.34 29-Nov-2017  christos branches: 1.34.2;
we want no-iconv for the tools build, but we want iconv for mknative.
 1.33 29-Nov-2017  christos Changes for gdb-8.0.1
 1.32 28-Nov-2017  christos Adjust to gdb-8.0.1 which uses c++
XXX: quoting of variables that contain paths and versions is broken.
 1.31 01-Jul-2017  jmcneill --disable-nls does not work in gdb subdir, so add am_cv_func_iconv=no to
configure env. Fixes build on FreeBSD.
 1.30 16-Oct-2016  mrg branches: 1.30.6;
pass GDB_MACHINE_ARCH to mknative-gdb and use that as the subdir.
obtain GDB_MACHINE_ARCH from the new gdb Makefile.gdb_arch.
 1.29 14-Oct-2016  christos Fix the host build of aarch64 with clang
 1.28 12-Oct-2016  christos Define __STDC_{LIMIT,CONSTANT,FORMAT}_MACROS in CXXFLAGS.
The problem is that the gnulib interception of <stdint.h> and <inttypes.h>
does not really work because we implement those internally with
<sys/inttypes.h> and <sys/stdint.h> and those internal headers are used
by other internal headers *before* they get a chance to be intercepted
(where the __STDC_ macros are defined).

Another way to fix this is to move the inclusion of the other headers
in <stdint.h> and <inttypes.h> outside multiple inclusion protection.
 1.27 26-Jan-2016  christos branches: 1.27.2;
use EXTERNAL_GDB_SUBDIR
 1.26 17-Sep-2015  skrll gdb.old is no more.
 1.25 16-Aug-2015  christos add double quotes for consistency
 1.24 16-Aug-2015  christos handle gdb-7.9.1
 1.23 15-Aug-2015  mrg for now, use gdb.old.
 1.22 01-Oct-2012  bouyer At last on some linux distros, gmake is needed to build the cross-gdb.
 1.21 09-Feb-2012  skrll branches: 1.21.2; 1.21.4; 1.21.6;
Disable the sim on mips for next person running gdb7 mknative.
 1.20 26-Sep-2011  christos branches: 1.20.2;
remove pre-gcc-4.5 mknative remnants that have long ceased to function.
 1.19 26-Sep-2011  christos mknative for gdb7
 1.18 24-Dec-2010  njoly Adjust LDFLAGS handling to fix curses detection for mknative-gdb.
 1.17 08-May-2010  hans Fix tools build on Solaris with MKCROSSGDB=YES.
 1.16 23-Dec-2009  mrg revert the previous; not intended to be part of that commit, or any commit
 1.15 23-Dec-2009  mrg rework the main SUBDIR list here as suggested by enami. put .WAIT on
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
 1.14 15-Dec-2009  uebayasi Fix parallel build. Analyzed & patch provided by enami@, thanks!
 1.13 14-Dec-2009  christos disable only parallel make.
 1.12 14-Dec-2009  uebayasi Disable parallel build, which always fails at compiling itable.c / interp.c.
Only affect MKCROSSGDB=yes.
 1.11 05-Dec-2008  mrg MACHINE_CPU is "mips" not "xxmips".
 1.10 19-Feb-2007  chs disable sim for mips until someone adds the rest of the build framework for it.
 1.9 25-Nov-2006  skrll branches: 1.9.2; 1.9.4;
Fix the logic for --disable-sym. Hi uwe!

Use CPPFLAG_ISYSTEM.
 1.8 24-Nov-2006  uwe Disable sim for mknative unless it's known to work (configure's
default is to enable sim if there's support for the cpu).

The current list of "known to work" contains arches with G_SIM_OBS
already set: powerpc, powerpc64 and mips.

There's arm support in sim, but committed configs for arm do not have
G_SIM_OBS set, so I'm not enabling it here.

There's SH support in sim, but it fails to build out of the box, and
since we didn't build SH sim support for gdb 5.3, we keep it disabled.

Other arches shouldn't be affected, as there's no support for them in sim.
 1.7 24-Nov-2006  uwe Pass preset configure "cache" vars in the environment not only to the
top-level configure, but to ${MAKE} configure-host as well.

Add more vars (for readline mostly) so that there's no configure
warnings about tests skipped b/c of cross-compilation.
 1.6 23-Nov-2006  uwe Use -isystem to add ${DESTDIR}/usr/include to the search path.

gdb comes with its own copy of GNU readline 5.x, but
-I${DESTDIR}/usr/include stuffed at the beginning of the command line
makes it find our compat readline/readline.h (emulating readline 2.x)
that conflicts with the readline 5.x includes.

Makes README.mknative instructions actually work instead of failing
midway b/c of conflicting tilde_expand() prototypes.
 1.5 21-Jul-2006  lukem Configure using --with-separate-debug-dir=/usr/libdata/debug.
(The various MACHINE-specific configurations will need to be regenerated.)
 1.4 02-Jul-2006  nathanw Explicitly pass "--prefix=/usr" to configure so that DEBUGDIR and
LOCALEDIR point into /usr rather than /usr/local.
 1.3 30-May-2006  nathanw Support .native in an objdir, so I can keep more than one around at a
time.
 1.2 29-May-2006  nathanw Support for mknative machinery.
 1.1 26-Oct-2003  cl add gdb53 as a host tool for use as a crossgdb
replaces gdb50 from toolchain on archs which use gcc3
 1.9.4.1 28-May-2008  skrll Disable gdb sim stuff for mips as per -current.
 1.9.2.1 16-Sep-2008  bouyer Sync with the following revisions (requested by skrll in ticket #1196):
gnu/dist/gdb removed
gnu/usr.bin/gdb53 removed
distrib/cats/instkernel/Makefile 1.14.6.1
gnu/dist/gdb6/bfd/config.bfd 1.3.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.c 1.1.1.2.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/Makefile.in 1.2.2.1.2.2
gnu/dist/gdb6/gdb/alpha-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alpha-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/alphabsd-nat.h 1.1.2.1
gnu/dist/gdb6/gdb/alphabsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphanbsd-nat.c 1.1.2.1
gnu/dist/gdb6/gdb/alphanbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64nbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/amd64nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/arm-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/armbsd-tdep.c 1.1.2.1
gnu/dist/gdb6/gdb/armnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/armnbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure.ac 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/m68kbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/mipsnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/nbsd-thread.c 1.1.2.3
gnu/dist/gdb6/gdb/ppcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/ppcnbsd-tdep.c 1.3.6.1
gnu/dist/gdb6/gdb/sh-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/shnbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/shnbsd-tdep.c 1.1.1.2.6.4
gnu/dist/gdb6/gdb/shnbsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc64nbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/sparcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/tramp-frame.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/vaxbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/config/alpha/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/arm/nbsd.mt 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/arm/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/i386/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/m68k/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/mips/nbsd.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/powerpc/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/sh/nbsd.mh 1.1.1.1.6.2
gnu/dist/gdb6/gdb/config/sh/tm-nbsd.h 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/vax/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/opcodes/configure 1.1.1.2.6.1
gnu/dist/gdb6/opcodes/configure.in 1.1.1.2.6.1
gnu/usr.bin/Makefile 1.126.4.1
gnu/usr.bin/gdb6/arch/alpha/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/alpha/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/init.c 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/nm.h 1.2.6.1
gnu/usr.bin/gdb6/arch/arm/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/arm/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/defs.mk 1.1.6.3
gnu/usr.bin/gdb6/arch/armeb/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/i386/defs.mk 1.4.4.1
gnu/usr.bin/gdb6/arch/i386/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68k/defs.mk 1.1.4.1
gnu/usr.bin/gdb6/arch/m68k/init.c 1.1.4.1
gnu/usr.bin/gdb6/arch/mipseb/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/mipseb/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/mipseb/init.c 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/config.h 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/defs.mk 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/init.c 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/tm.h 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/version.c 1.2.6.2
gnu/usr.bin/gdb6/arch/powerpc/defs.mk 1.3.6.1
gnu/usr.bin/gdb6/arch/powerpc/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/sh3eb/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3eb/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3eb/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3eb/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3el/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3el/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3el/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sparc/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/sparc64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc64/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/x86_64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/x86_64/init.c 1.1.6.1
gnu/usr.bin/gdb6/bfd/arch/armeb/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/vax/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/gdb/Makefile 1.5.2.1.2.2
gnu/usr.bin/gdb6/gdbtui/Makefile 1.2.6.1
gnu/usr.bin/gdb6/libiberty/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/sim/arch/mipseb/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/defs.mk 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/defs.mk 1.1.2.1
lib/libkvm/kvm_sparc64.c 1.10.18.2
lib/libpthread/pthread.c 1.48.6.4
lib/libpthread/pthread_barrier.c 1.6.18.1
lib/libpthread/pthread_cond.c 1.18.12.2
lib/libpthread/pthread_debug.h 1.8.18.1
lib/libpthread/pthread_int.h 1.34.4.5
lib/libpthread/pthread_lock.c 1.14.6.1
lib/libpthread/pthread_mutex.c 1.22.4.2
lib/libpthread/pthread_run.c 1.18.12.4
lib/libpthread/pthread_rwlock.c 1.13.6.2
lib/libpthread/pthread_sa.c 1.37.6.5
lib/libpthread/pthread_sig.c 1.47.4.8
lib/libpthread/pthread_sleep.c 1.7.6.2
lib/libpthread/sem.c 1.9.6.2
lib/libpthread/arch/sh3/pthread_md.h 1.3.6.1
regress/lib/libpthread/resolv/Makefile 1.1.12.1
regress/lib/libpthread/sigrunning/Makefile 1.1.2.1
regress/lib/libpthread/sigrunning/sigrunning.c 1.1.2.1
share/mk/bsd.own.mk 1.489.4.3
sys/arch/amd64/amd64/locore.S 1.18.14.1
sys/arch/amd64/amd64/machdep.c 1.44.2.3.2.1
sys/arch/amd64/conf/kern.ldscript 1.1.70.1
sys/arch/cats/conf/Makefile.cats.inc 1.17.30.1
sys/arch/shark/conf/Makefile.shark.inc 1.6.30.1
sys/arch/sparc64/conf/kern.ldscript 1.7.26.2
sys/arch/sparc64/conf/kern32.ldscript 1.6.26.2
sys/arch/sparc64/include/kcore.h 1.4.92.2
sys/arch/sparc64/sparc64/locore.s 1.232.4.4
sys/arch/sparc64/sparc64/machdep.c 1.193.4.3
sys/arch/sparc64/sparc64/pmap.c 1.184.2.1.2.4
sys/conf/newvers.sh 1.42.26.2
sys/kern/kern_sa.c 1.87.4.11
sys/kern/kern_synch.c 1.173.4.2
sys/sys/savar.h 1.20.10.2
tools/gdb/Makefile 1.9.4.1
tools/gdb/mknative-gdb 1.1.6.1

pullup the wrstuden-fixsa CVS branch to netbsd-4:
toolchain/35540 - GDB 6 support for pthreads.
port-sparc64/37534 - ktrace firefox gives
kernel trap 30: data access expection
GDB changes:
- delete gdb53
- enable gdb6 on all architectures
- add support for amd64 crash dumps
- add support for sparc64 crash dumps
- add support for /proc pid to executable filename for all archs
- enable thread support for all architectures
- add a note section to kernels to all platforms
- support detection/unwinding of signals for most architectures.
- Fix PTHREAD_UCONTEXT_TO_REG / PTHREAD_REG_TO_UCONTEXT on sh3.
- Apply fix from binutils-current so that sparc gdb can be cross built
on a 64bit host.
SA/pthread changes:
Pre-allocate memory needed for event delivery. Eliminates dropped
interrupts under load.
Deliver intra-process signals to running threads
Eliminate some deadlock scenarios
Fix intra-process signal delivery when delivering to a thread waiting
for signals. Makes afs work again!
 1.20.2.2 30-Oct-2012  yamt sync with head
 1.20.2.1 17-Apr-2012  yamt sync with head
 1.21.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.4.1 20-Nov-2012  matt Support building GPL2 versions of binutils, dbsym, gdb, and mdsetimage
 1.21.2.1 17-Oct-2012  riz Pull up following revision(s) (requested by bouyer in ticket #596):
tools/gdb/Makefile: revision 1.22
At last on some linux distros, gmake is needed to build the cross-gdb.
 1.27.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.30.6.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.34.2.1 02-May-2018  pgoyette Synch with HEAD
 1.36.2.1 10-Jun-2019  christos Sync with HEAD
 1.40.6.1 14-Jan-2024  martin Apply patch, requested by riastradh in ticket #546:

tools/gdb/Makefile (apply patch)

gdb: Fix MKCROSSGDB=yes build on gcc>=11, which raises several
warnings that are fatal because the development snapshot of gdb
that netbsd-10 is about to ship with sets -Werror. This addresses
PR misc/57841.
 1.49.2.1 02-Aug-2025  perseant Sync with HEAD
 1.7 09-Oct-2020  rin Nowadays, mknative-gdb puts files into external/gpl3/gdb/lib,
instead of external/gpl3/gdb/bin/gdb.

Also, we need to nbmake-MACHINE in external/gpl3/gdb in order to
build dependent libraries correctly.
 1.6 21-Jun-2019  maya Update to working instructions.

thx mrg for the build_install suggestion.
 1.5 26-Sep-2011  christos branches: 1.5.42;
mknative for gdb7
 1.4 23-Nov-2006  uwe Note that nbmake-MACHINE native-gdb writes files under src, so this
step needs to be done in a writable src tree.
 1.3 23-Nov-2006  uwe Wrap overlong line to fit.
 1.2 19-Oct-2006  mrg s/gcc3/gcc4/.
 1.1 02-Jun-2006  nathanw Notes for how to do the mknative dance (based on the gcc one, but with
unnecessary steps removed).
 1.5.42.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19 27-Aug-2024  christos disable sim on powerpc
 1.18 27-Aug-2024  christos new gdb does not produce the sim config files.
 1.17 18-Aug-2024  rin mknative-gdb: Generate *.info by using makeinfo(1) from pkgsrc

Unfortunately, our in-tree makeinfo(1) (latest GPLv2 version) is
too old for this purpose :(
 1.16 31-Jul-2023  christos branches: 1.16.2;
mknative support for gdb-13.2
 1.15 05-Dec-2020  christos Don't bother with gdbserver for archs that don't build it.
 1.14 24-Sep-2020  christos grab the gdbserver version
 1.13 23-Sep-2020  christos Add gdbserver
 1.12 17-Sep-2020  christos put gnulib stuff under gnulib/ because things import "gnulib/config.h"
 1.11 17-Sep-2020  christos remove obsolete
 1.10 17-Sep-2020  christos refine
 1.9 17-Sep-2020  christos Save the mknative-gdb for 8.3 and prepare the mknative-gdb for 10.x
 1.8 29-May-2019  christos adjust for gdb-8.3
 1.7 16-Oct-2016  mrg branches: 1.7.14;
pass GDB_MACHINE_ARCH to mknative-gdb and use that as the subdir.
obtain GDB_MACHINE_ARCH from the new gdb Makefile.gdb_arch.
 1.6 03-Oct-2013  christos branches: 1.6.8;
more files needed
 1.5 06-Nov-2011  christos branches: 1.5.6;
mkdir the proper sim dirs!
 1.4 09-Oct-2011  christos branches: 1.4.2;
add psim support
 1.3 26-Sep-2011  christos mknative for gdb7
 1.2 19-Feb-2007  chs disable sim for mips until someone adds the rest of the build framework for it.
 1.1 29-May-2006  nathanw branches: 1.1.4; 1.1.6;
mknative script for gdb6. Largely cribbed from mknative-binutils.
 1.1.6.1 28-May-2008  skrll Disable gdb sim stuff for mips as per -current.
 1.1.4.1 16-Sep-2008  bouyer Sync with the following revisions (requested by skrll in ticket #1196):
gnu/dist/gdb removed
gnu/usr.bin/gdb53 removed
distrib/cats/instkernel/Makefile 1.14.6.1
gnu/dist/gdb6/bfd/config.bfd 1.3.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.c 1.1.1.2.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/Makefile.in 1.2.2.1.2.2
gnu/dist/gdb6/gdb/alpha-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alpha-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/alphabsd-nat.h 1.1.2.1
gnu/dist/gdb6/gdb/alphabsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphanbsd-nat.c 1.1.2.1
gnu/dist/gdb6/gdb/alphanbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64nbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/amd64nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/arm-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/armbsd-tdep.c 1.1.2.1
gnu/dist/gdb6/gdb/armnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/armnbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure.ac 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/m68kbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/mipsnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/nbsd-thread.c 1.1.2.3
gnu/dist/gdb6/gdb/ppcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/ppcnbsd-tdep.c 1.3.6.1
gnu/dist/gdb6/gdb/sh-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/shnbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/shnbsd-tdep.c 1.1.1.2.6.4
gnu/dist/gdb6/gdb/shnbsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc64nbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/sparcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/tramp-frame.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/vaxbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/config/alpha/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/arm/nbsd.mt 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/arm/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/i386/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/m68k/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/mips/nbsd.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/powerpc/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/sh/nbsd.mh 1.1.1.1.6.2
gnu/dist/gdb6/gdb/config/sh/tm-nbsd.h 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/vax/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/opcodes/configure 1.1.1.2.6.1
gnu/dist/gdb6/opcodes/configure.in 1.1.1.2.6.1
gnu/usr.bin/Makefile 1.126.4.1
gnu/usr.bin/gdb6/arch/alpha/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/alpha/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/init.c 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/nm.h 1.2.6.1
gnu/usr.bin/gdb6/arch/arm/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/arm/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/defs.mk 1.1.6.3
gnu/usr.bin/gdb6/arch/armeb/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/i386/defs.mk 1.4.4.1
gnu/usr.bin/gdb6/arch/i386/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68k/defs.mk 1.1.4.1
gnu/usr.bin/gdb6/arch/m68k/init.c 1.1.4.1
gnu/usr.bin/gdb6/arch/mipseb/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/mipseb/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/mipseb/init.c 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/config.h 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/defs.mk 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/init.c 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/tm.h 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/version.c 1.2.6.2
gnu/usr.bin/gdb6/arch/powerpc/defs.mk 1.3.6.1
gnu/usr.bin/gdb6/arch/powerpc/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/sh3eb/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3eb/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3eb/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3eb/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3el/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3el/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3el/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sparc/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/sparc64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc64/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/x86_64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/x86_64/init.c 1.1.6.1
gnu/usr.bin/gdb6/bfd/arch/armeb/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/vax/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/gdb/Makefile 1.5.2.1.2.2
gnu/usr.bin/gdb6/gdbtui/Makefile 1.2.6.1
gnu/usr.bin/gdb6/libiberty/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/sim/arch/mipseb/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/defs.mk 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/defs.mk 1.1.2.1
lib/libkvm/kvm_sparc64.c 1.10.18.2
lib/libpthread/pthread.c 1.48.6.4
lib/libpthread/pthread_barrier.c 1.6.18.1
lib/libpthread/pthread_cond.c 1.18.12.2
lib/libpthread/pthread_debug.h 1.8.18.1
lib/libpthread/pthread_int.h 1.34.4.5
lib/libpthread/pthread_lock.c 1.14.6.1
lib/libpthread/pthread_mutex.c 1.22.4.2
lib/libpthread/pthread_run.c 1.18.12.4
lib/libpthread/pthread_rwlock.c 1.13.6.2
lib/libpthread/pthread_sa.c 1.37.6.5
lib/libpthread/pthread_sig.c 1.47.4.8
lib/libpthread/pthread_sleep.c 1.7.6.2
lib/libpthread/sem.c 1.9.6.2
lib/libpthread/arch/sh3/pthread_md.h 1.3.6.1
regress/lib/libpthread/resolv/Makefile 1.1.12.1
regress/lib/libpthread/sigrunning/Makefile 1.1.2.1
regress/lib/libpthread/sigrunning/sigrunning.c 1.1.2.1
share/mk/bsd.own.mk 1.489.4.3
sys/arch/amd64/amd64/locore.S 1.18.14.1
sys/arch/amd64/amd64/machdep.c 1.44.2.3.2.1
sys/arch/amd64/conf/kern.ldscript 1.1.70.1
sys/arch/cats/conf/Makefile.cats.inc 1.17.30.1
sys/arch/shark/conf/Makefile.shark.inc 1.6.30.1
sys/arch/sparc64/conf/kern.ldscript 1.7.26.2
sys/arch/sparc64/conf/kern32.ldscript 1.6.26.2
sys/arch/sparc64/include/kcore.h 1.4.92.2
sys/arch/sparc64/sparc64/locore.s 1.232.4.4
sys/arch/sparc64/sparc64/machdep.c 1.193.4.3
sys/arch/sparc64/sparc64/pmap.c 1.184.2.1.2.4
sys/conf/newvers.sh 1.42.26.2
sys/kern/kern_sa.c 1.87.4.11
sys/kern/kern_synch.c 1.173.4.2
sys/sys/savar.h 1.20.10.2
tools/gdb/Makefile 1.9.4.1
tools/gdb/mknative-gdb 1.1.6.1

pullup the wrstuden-fixsa CVS branch to netbsd-4:
toolchain/35540 - GDB 6 support for pthreads.
port-sparc64/37534 - ktrace firefox gives
kernel trap 30: data access expection
GDB changes:
- delete gdb53
- enable gdb6 on all architectures
- add support for amd64 crash dumps
- add support for sparc64 crash dumps
- add support for /proc pid to executable filename for all archs
- enable thread support for all architectures
- add a note section to kernels to all platforms
- support detection/unwinding of signals for most architectures.
- Fix PTHREAD_UCONTEXT_TO_REG / PTHREAD_REG_TO_UCONTEXT on sh3.
- Apply fix from binutils-current so that sparc gdb can be cross built
on a 64bit host.
SA/pthread changes:
Pre-allocate memory needed for event delivery. Eliminates dropped
interrupts under load.
Deliver intra-process signals to running threads
Eliminate some deadlock scenarios
Fix intra-process signal delivery when delivering to a thread waiting
for signals. Makes afs work again!
 1.4.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.2.1 10-Nov-2011  yamt sync with head
 1.5.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.8.1 04-Nov-2016  pgoyette Sync with HEAD
 1.7.14.1 10-Jun-2019  christos Sync with HEAD
 1.16.2.1 02-Aug-2025  perseant Sync with HEAD
 1.3 14-Aug-2024  christos changes for new gdb (disable zstd, find mpc/mfpr/gmp differently)
 1.2 09-Oct-2020  rin branches: 1.2.8;
Correct target directory; src/external/gpl3/gdb.old not gdb.
 1.1 17-Sep-2020  christos Save the mknative-gdb for 8.3 and prepare the mknative-gdb for 10.x
 1.2.8.1 02-Aug-2025  perseant Sync with HEAD
 1.8 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.7 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.6 02-Dec-2012  apb branches: 1.6.22; 1.6.28;
Make most things under src/tools use the TOOLDIR version of compat/defs.mk,
instead of the version in the .OBJDIR of tools/compat.
 1.5 25-Oct-2008  apb branches: 1.5.18; 1.5.24;
Use ${TOOL_SED} instead of just "sed" while building other tools.

Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
 1.4 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.3 05-Jun-2005  thorpej config and genassym are not sysadmin tools, they are development tools.
As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them
there.
 1.2 31-May-2005  christos use the copy in /usr/src/usr.sbin/
 1.1 30-May-2005  thorpej Build genassym as a host tool. Part of PR toolchain/30350
 1.5.24.1 25-Feb-2013  tls resync with head
 1.5.18.1 16-Jan-2013  yamt sync with (a bit old) head
 1.6.28.1 02-May-2018  pgoyette Synch with HEAD
 1.6.22.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.3 31-May-2005  christos use the copy in /usr/src/usr.sbin/
 1.2 30-May-2005  thorpej Add a -f option to generate Forth code instead of a C header file.
Part of PR toolchain/30350.
 1.1 30-May-2005  thorpej Build genassym as a host tool. Part of PR toolchain/30350
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.8 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.7 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.6 06-Mar-2013  apb branches: 1.6.22; 1.6.28;
Prevent the tools/gettext build from trying to run emacs.
 1.5 10-Feb-2009  joerg branches: 1.5.6; 1.5.12;
Explicitly disable C# support. Mono is known to have issues at time, so
don't try to look for it.
 1.4 12-Nov-2003  dbj branches: 1.4.38; 1.4.40;
add --with-included-gettext to CONFIGURE_ARGS since it was
trying to use the native -lintl but not adding it to LIBS
 1.3 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 26-Feb-2002  tv branches: 1.1.2;
Add gettext to tools.

For now this is a maintainer-tool only; none of the NetBSD build needs to
run msgfmt as of yet. (However, its presence is needed to make the
mknative part of src/tools/toolchain produce the same output as a truly
"native" GNU configury of the toolchain.)
 1.1.2.1 12-Jul-2004  he Pull up revision 1.4 (via patch, requested by dbj in ticket #1722):
Disable rules that try to rebuild files in the source tree
(only affects MKMAINTAINER=yes builds.)
 1.4.40.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.4.38.1 12-Apr-2009  snj Pull up following revision(s) (requested by apb in ticket #442):
tools/gettext/Makefile: revision 1.5
Explicitly disable C# support. Mono is known to have issues at time, so
don't try to look for it.
 1.5.12.1 23-Jun-2013  tls resync from head
 1.5.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6.28.1 02-May-2018  pgoyette Synch with HEAD
 1.6.22.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.4 18-Aug-2014  christos switch to the new gmake
 1.3 16-Aug-2013  gsutre Use makeinfo built from src/tools/texinfo. Fixes PR toolchain/48123.
ok apb@
 1.2 27-Oct-2006  uwe branches: 1.2.40; 1.2.46;
CONFIGURE_ARGS+=--disable-nls so that tools/gmake doesn't accidentally
pick up tools/gettext that is built when MKMAINTAINERTOOLS=yes

As gettext is built after gmake - this only happens if you either do
an update build and tools/gmake gets rebuilt, or if you use the same
TOOLDIR for several ports.
 1.1 29-Mar-2006  jmc Add support for installing gmake as tools/bin/nbgmake
 1.2.46.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.40.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6 28-Sep-2024  bad configure tools/gmp with --disable-assembly on x86_64 macOS 14.

works around the assembler routines being compile with 8 byte alignment
when 16 byte alignment is required.

patch by mrg@ who asked me to commit after testing.

addresses PR toolchain/58707.

pullup netbsd-10.
 1.5 18-Sep-2021  christos branches: 1.5.2; 1.5.4;
Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.4 26-Sep-2020  mrg initial working version of native-gmp support.

does not use mknative.common yet, so always updates files and does
not mark them with NetBSD rcsid. (not a regression from the manual
version at least.)
 1.3 09-Jan-2016  christos Save a couple of dollars now that make is fixed.
 1.2 12-Apr-2012  mrg force ac_cv_path_mkdir to be set to nbinstall -d. this will avoid
gmp/configure from trying to use its install-sh for mkdir -p, and
should fix sourcesets created tarball builds.
 1.1 20-Jun-2011  mrg branches: 1.1.2; 1.1.4;
tools build framework for gmp, mpfr and mpc. from chuq.
 1.1.4.1 07-May-2012  riz Pull up following revision(s) (requested by mrg in ticket #207):
tools/gmp/Makefile: revision 1.2
tools/mpfr/Makefile: revision 1.2
tools/file/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.22
tools/mpc/Makefile: revision 1.2
force ac_cv_path_mkdir to be set to nbinstall -d. this will avoid
gmp/configure from trying to use its install-sh for mkdir -p, and
should fix sourcesets created tarball builds.
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.1.2.1 17-Apr-2012  yamt sync with head
 1.5.4.1 02-Aug-2025  perseant Sync with HEAD
 1.5.2.1 03-Oct-2024  martin Pull up following revision(s) (requested by bad in ticket #921):

tools/gmp/Makefile: revision 1.6

configure tools/gmp with --disable-assembly on x86_64 macOS 14.
works around the assembler routines being compile with 8 byte alignment
when 16 byte alignment is required.

patch by mrg@ who asked me to commit after testing.
addresses PR toolchain/58707.
 1.5 17-May-2019  nakayama Use ${_TOOL_PREFIX} instead of hardcoding "nb" for consistency.
 1.4 01-May-2018  christos branches: 1.4.2;
Centralize NOMAN handling.
 1.3 30-Sep-2014  christos branches: 1.3.14;
now gpt works under macosx.
 1.2 29-Sep-2014  christos add opendisk
 1.1 29-Sep-2014  christos Not ready for prime time, needs at least proplib.
 1.3.14.1 02-May-2018  pgoyette Synch with HEAD
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1 30-Sep-2014  christos now gpt works under macosx.
 1.1 29-Sep-2014  christos add opendisk
 1.4 12-Aug-2018  christos Add WITHOUT_GZIP
 1.3 12-Aug-2018  christos add WITHOUT_BZ2
 1.2 21-Apr-2011  joerg branches: 1.2.42; 1.2.44;
BSD grep is good enough if someone really needs src/tools/grep.
 1.1 25-Feb-2009  sketch branches: 1.1.2;
Make grep a host tool.
 1.1.2.2 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.1.2.1 25-Feb-2009  jym file Makefile was added on branch jym-xensuspend on 2009-05-13 19:19:42 +0000
 1.2.44.1 10-Jun-2019  christos Sync with HEAD
 1.2.42.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.32 14-Jan-2016  christos grr another copy of the path I missed; factor out to a variable.
 1.31 13-Jan-2016  christos groff has moved
 1.30 02-Dec-2012  apb Make most things under src/tools use the TOOLDIR version of compat/defs.mk,
instead of the version in the .OBJDIR of tools/compat.
 1.29 25-Oct-2008  apb branches: 1.29.18; 1.29.24;
Use ${TOOL_SED} instead of just "sed" while building other tools.

Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
 1.28 06-Feb-2006  tron Disable X11 support in toolchain "groff" build to stop it from trying
to install files to "/usr/X11R6". Patch supplied by Thomas Klausner on
current-users mailing list.
 1.27 06-Feb-2004  ross Get ${HOSTEXEEXT} right in the component installation loop.

There are three levels of compliance w.r.t. HOSTEXEEXT. (1) built and
installed both wrong, (2) both right, and (3) one right, one wrong.
Most tool builds do (1), i.e., wrong, but not seriously so. This makefile
actually built them the "right" way, leading to error (3), which was fatal.
 1.26 28-Oct-2003  lukem clean the "stripped" mdoc files
 1.25 20-Oct-2003  wiz Strip man.local and mdoc.local before installation; fixes problem with undefined variables
found by lukem.
 1.24 22-Aug-2003  lukem Add INSTALL_INFO=${TOOL_INSTALL_INFO:Q} to MAKE_ARGS.
Noted by Alan Barrett on current-users@.
 1.23 18-Jul-2003  lukem Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
 1.22 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.21 05-Jul-2003  martin Re-enable the build/Makefile fixup so that parallel builds work again.
 1.20 30-Jun-2003  uwe Pass MAKEINFO=${MAKEINFO:Q} via MAKE_ARGS so that nbmakeinfo is used
to build the groff info. Caught by building on FreeBSD. Copy-pasted
from tools/toolchain/Makefile.
 1.19 30-Jun-2003  wiz Update for groff-1.19.
 1.18 14-Jun-2003  wiz Add nbnroff as host tool.
 1.17 07-Feb-2003  lukem replace DIST with GNUHOSTDIST, and don't unconditionally define it
in Makefile.gnuhost (use ?= instead of =, to allow overriding)
 1.16 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.15 01-Mar-2002  pk Fix target ordering glitches: the `afterinstall' sources in here depend
on `realinstall' making TMACDIR.
 1.14 19-Feb-2002  pk Having `build/Makefile' depend on `.configure_done' doesn't work. Instead,
just add the additional commands to the `.configure_done' target.

Also, since the groff distribution Makefiles don't get their dependencies
right, use internal knowledge to add additional target ordering to the
generated makefile. Note, this hack can be removed once our own make(1)
can be invoked in true sequential (i.e. compatible) mode again for subdir
makes.
 1.13 01-Feb-2002  tv Fix up the .for recursion -- it wasn't quite right before.
 1.12 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.11 31-Jan-2002  tv Remove g= override.
 1.10 29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.9 03-Jan-2002  tv * Now that src/share/tmac no longer uses absolute paths, nuke the sed
transform.

* Use a .USE rule for the tmac installation (reduce redundancy).

* Suppress spurious messages from "cmp".
 1.8 09-Dec-2001  jmc Need ${TMACDIR}/tmac.an.old installed as well. Also include UPDATE checks
around this rule and the tmac.an rule.
 1.7 09-Dec-2001  jmc Fix the files pulled in from src/share/tmac. Need to replace the hardcoded
/usr/share/tmac in them with ${TMACDIR} so the cross groff doesn't just
end up using the currently installed macro set to build man pages.
 1.6 28-Nov-2001  jmc After bsd.man.mk changes make sure and set TMACDIR here to point into
 1.5 19-Nov-2001  perry replace instances of INSTALL_FILE with HOST_INSTALL_FILE
 1.4 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.3 13-Nov-2001  tv Fix installation of -mdoc macros.
 1.2 13-Nov-2001  tv Make the wrapper work correctly for groff too, which uses a rather freaky
Makefile layout.
 1.1 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.29.24.1 25-Feb-2013  tls resync with head
 1.29.18.1 16-Jan-2013  yamt sync with (a bit old) head
 1.1 01-Apr-2024  christos Start for a TOOL_GZIP
 1.1 07-Mar-2003  thorpej Make hexdump a host tool.
 1.16 13-Jun-2020  lukem tools: configure --silent if MAKEVERBOSE == 0
 1.15 27-Jan-2019  dholland fix duplicated chunk from merge
 1.14 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.13 01-May-2018  christos branches: 1.13.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.12 02-Dec-2012  apb branches: 1.12.28;
Now that tools/Makefile builds tools/binstall before installing
tools/host-mkdep, we can use the newly-built install program
to install host-mkdep.
 1.11 02-Dec-2012  apb Use a CONFIGURE_ENV variable instead of in-line code for passing
environment variables to the confifure script for host-mkdep.
Also reword the comment about why TOOL_AWK can't be included.
 1.10 19-Oct-2008  apb branches: 1.10.8; 1.10.18; 1.10.24;
Add a comment to the Makefile explaining that we do not use HOST_AWK
here, because tools/host-mkdep is built before tools/awk.
 1.9 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.8 11-Aug-2003  jmc Fix 2 remaining places items are depending on execute permissions coming out
from a cvs checkout on scripts.
 1.7 06-Jun-2003  christos don't pass CFLAGS and LDFLAGS to configure. mkdep does not give a shit.
 1.6 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.5 03-Apr-2002  tv branches: 1.5.2;
Don't need "if" here to look for TOOLDIR/bin; "mkdir -p" won't fail if
it already exists.
 1.4 03-Apr-2002  christos fix my own pr since todd is unwilling to use grep.
 1.3 12-Feb-2002  jmc Make sure TOOLDIR/bin exists before copying into it. Use 2 explicit mkdir's
here to avoid problems on host systems without mkdir -p
 1.2 21-Jan-2002  tv Make many host tools compile on non-NetBSD hosts. Not complete, but
very nearly there.
 1.1 10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.5.2.1 12-Aug-2003  tron Pull up revision 1.8 via patch (requested by jmc in ticket #1404):
Fix 2 remaining places items are depending on execute permissions coming out
from a cvs checkout on scripts.
 1.10.24.1 25-Feb-2013  tls resync with head
 1.10.18.1 16-Jan-2013  yamt sync with (a bit old) head
 1.10.8.1 05-Sep-2009  matt Make sure CFLAGS and LDFLAGS come HOST_CFLAGS and HOST_LDFLAGS.
 1.12.28.1 02-May-2018  pgoyette Synch with HEAD
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.4 27-Jun-2025  andvar Grammar and spelling fixes, mainly in comments. A few in documentation,
logging, test description, and SCSI ASC/ASCQ assignment descriptions.
 1.3 26-Jul-2003  salo branches: 1.3.108;
netbsd.org->NetBSD.org
 1.2 15-Sep-2002  thorpej Patch host-mkdep with the working host shell.
 1.1 10-Jan-2002  tv branches: 1.1.2;
Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.1.2.1 01-Dec-2002  he Pull up revision 1.2 (requested by thorpej in ticket #828):
Patch host-mkdep with the working host shell.
 1.3.108.1 02-Aug-2025  perseant Sync with HEAD
 1.3 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.2 15-Sep-2002  thorpej Patch host-mkdep with the working host shell.
 1.1 10-Jan-2002  tv branches: 1.1.2;
Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.1.2.1 01-Dec-2002  he Pull up revision 1.2 (requested by thorpej in ticket #828):
Patch host-mkdep with the working host shell.
 1.34 07-Sep-2025  andvar Fix various typos, mainly in comments.
 1.33 10-Jul-2023  rin host-mkdep(1): Add support for -iquote.

Not used yet, but may eventually replace deprecated -I-, both for
GCC and clang.
 1.32 29-Oct-2019  joerg branches: 1.32.8;
Don't escape ", GNU awk 5 warns about it.
 1.31 12-May-2015  christos branches: 1.31.16;
Like the non-host mkdep don't print ./foo.h as a dependency, but simplify
it to foo.h. This was causing problems with:

.y.h: ${.TARGET:.h=.c}

where .h was ./cgram.h and the source became ./cgram.c confusing for example
/usr/src/tools/lint1 because make had both cgram.c and ./cgram.c in the list
of sources, trying to build both of them in parallel thinking that they were
different files. Since the regular mkdep does not produce such dependencies,
the regular build does not suffer from this issue.
 1.30 02-Sep-2013  joerg Preserve -std=* options as they may change the dependency list.
 1.29 27-Mar-2013  uwe Some shells have ((expr)) syntax for arithmetic. Add space between
parens of nested (compound-list)s to unconfuse them.

Fixes PR toolchain/47695
 1.28 16-Mar-2013  christos Put back error checking in a simpler form thanks to uwe
 1.27 14-Mar-2013  joerg Revert 1.25 and 1.26: Breaks build on !NetBSD
 1.26 12-Mar-2013  christos re-directing once is good enough.
 1.25 12-Mar-2013  christos Perform shell fd gymnastics to capture the error in the pipeline and exit.
 1.24 05-Mar-2013  christos account for -vi
 1.23 09-Dec-2012  christos forgetting to shift turns this into a cpu burner.
 1.22 09-Dec-2012  christos ignore --sysroot=/
 1.21 26-Aug-2012  jmmv branches: 1.21.2;
Add a new "-P prefix" option to mkdep(1).

This option prepends the string given in prefix to every target
filename. This is useful for programs that have source files in
multiple subdirectories and a single Makefile that references all of
them explicitly (without using the VPATH functionality because there
can be files with the same name in each subdirectory).
 1.20 30-Jun-2011  wiz branches: 1.20.2;
dependant -> dependent
 1.19 14-Nov-2010  christos recognize isysroot
 1.18 20-Feb-2010  joerg Rewrite argument processing to deal with spaces and other meta
characters in options. This was exposed by the "NetBSD 5.99" argument of
mandoc.
 1.17 09-Jul-2007  jmmv Treat -cxx-isystem as -isystem-cxx. Not really required by our code, but
I discovered this while trying to add a host tool written in C++.
 1.16 01-Sep-2005  jwise On second thought, we can't just pass through -isystem-cxx, we have to
change it to -isystem. With this change, I can now make depend a simple c++
stl-using host program.
 1.15 01-Sep-2005  jwise Recognize -isystem-cxx as well as -isystem, making this more usable for c++
host progs.
 1.14 27-Mar-2004  dsl branches: 1.14.6;
Fix the processing of '-s .lo\ .ln' (etc).
This means that the tools now have correct dependencies (xxx.lo: ... instead
of xxx.o: ...) and in particular causes the pax to be built with consistent
headers.
There could also be other lossage on update builds of tools.
 1.13 07-Dec-2003  dsl Make command line parser getopt() compatible (allow host-mkdep -aq -s.o.lo ...)
Don't use shell builtin because we need to know the values of OPTIND (etc)
in what is usually an error path.
 1.12 11-Nov-2003  dsl Let -- be used to separate mkdep options from cc options
 1.11 10-Nov-2003  dsl Make this support the same new options as recently added to the mkdep program.
 1.10 11-Jun-2003  christos No sources == error again.
 1.9 10-Jun-2003  christos for now, make the fact that no sources were specified a warning.
 1.8 10-Jun-2003  christos Do -isystem differently.
 1.7 10-Jun-2003  christos understand -isystem too if compiler gcc/g++
 1.6 06-Jun-2003  christos - shift; shift -> shift 2
- understand and do something reasonable with -nostdinc*
 1.5 13-Mar-2003  thorpej Allow "-no-cpp-precomp", which disables use of pre-compiled headers
on Mac OS X.
 1.4 15-Sep-2002  thorpej Patch host-mkdep with the working host shell.
 1.3 13-Sep-2002  thorpej Delete a few things that appear in gcc 3.x's CPP output.
 1.2 28-Jan-2002  tv branches: 1.2.2;
Ensure a space after # or #line so we don't pick up stray #pragmas and
so forth in the .depend file.
 1.1 10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.2.2.2 01-Dec-2002  he Pull up revision 1.4 (requested by thorpej in ticket 828):
Patch host-mkdep with the working host shell.
 1.2.2.1 03-Nov-2002  he Pull up revision 1.3 (requested by thorpej in ticket #784):
Delete a few things which appear in gcc 3.x's CPP output.
 1.14.6.2 04-Sep-2005  tron Pull up following revision(s) (requested by jwise in ticket #736):
tools/host-mkdep/host-mkdep.in: revision 1.16
On second thought, we can't just pass through -isystem-cxx, we have to
change it to -isystem. With this change, I can now make depend a simple c++
stl-using host program.
 1.14.6.1 04-Sep-2005  tron Pull up following revision(s) (requested by jwise in ticket #735):
tools/host-mkdep/host-mkdep.in: revision 1.15
Recognize -isystem-cxx as well as -isystem, making this more usable for c++
host progs.
 1.20.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.20.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.20.2.1 30-Oct-2012  yamt sync with head
 1.21.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.2 23-Jun-2013  tls resync from head
 1.21.2.1 25-Feb-2013  tls resync with head
 1.31.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.32.8.1 03-Nov-2023  martin Pull up following revision(s) (requested by rin in ticket #448):

tools/host-mkdep/host-mkdep.in: revision 1.33

host-mkdep(1): Add support for -iquote.

Not used yet, but may eventually replace deprecated -I-, both for
GCC and clang.
 1.1 28-Nov-2004  jmc branches: 1.1.4;
Convert mkboot into a full cross tool. Last hurdle for hp300 to building on
non NetBSD/bsd hosts.
 1.1.4.1 02-Apr-2005  he Pull up revision 1.1 (requested by jmc in ticket #1025):
Convert mkboot into a full cross tool. Last hurdle for hp300 to
building on non NetBSD/bsd hosts.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.8;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 24-Feb-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 24-Feb-2014  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.2 13-Nov-2009  he Point to the new ncdcs directory.
 1.1 19-Oct-2003  matt Add host tool version of ncdcs
 1.13 21-Jun-2020  thorpej Add evbmips support for u-boot handling.
 1.12 07-May-2019  thorpej Add installboot(8) support for evbarm (and, in the future, other evb*)
boards that use u-boot. A known board database lists boards and their
respective u-boot packages. u-boot packages are discovered at run-time
(in /usr/pkg/share/u-boot, by default). These packages contain board
database overlays that describe u-boot installation procedure that's
specific for that board.

Support this as a native tool and as a host tool. The native tool
will attempt to determine the running board type using OpenFirmware
calls. Host tool and native tool alike may also specify a board type
directly using the "-o board=xxx option" or have installboot(8) determine
the board type from a device tree blob using "-o dtb=/path/to/board.dtb".
A "-o media=xxx" option is provided for boards that have different u-boot
binaries and/or installation procedures for different media types (e.g.
SDMMC, eMMC, or USB).

This is trivial to extend to other evb* platforms that use u-boot, even if
they don't use FDT for autoconfiguration.
 1.11 06-Mar-2011  bouyer branches: 1.11.44;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.10 19-Jun-2010  riz branches: 1.10.2;
Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.9 12-Jun-2005  dyoung .include Makefile.disklabel in installboot, so that the
nbinclude/ header files will be installed. Build installboot after
pax, since Makefile.disklabel uses pax to install the headers.
 1.8 14-May-2003  dbj use reachover relative paths in compat include files instead of
symlinking ufs include files into installboot and makefs tool objdirs
reviewed by lukem and thorpej on tech-toolchain
 1.7 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.6 31-May-2002  matt Make Solaris 8 happy: use ln -f -s instead of ln -fs
 1.5 22-Apr-2002  lukem branches: 1.5.2;
add -I. to HOST_CPPFLAGS
 1.4 19-Apr-2002  lukem borrow trick from ../makefs/Makefile to make this more portable for <ufs/...
 1.3 04-Apr-2002  lukem Add -I../mips-elf2ecoff to take advantage of the host friendly sys/exec_elf.h
that's in that directory. Fixes compile issue on (older source ?) arm
systems noted by Richard Earnshaw.

XXX: arguably a better version of sys/exec_elf.h (and others) should
be in ../compat instead, but that's a problem for another day.
 1.2 04-Apr-2002  lukem Add shim dev/dec/dec_boot.h (#includes "../../sys/dev/dec/dec_boot.h")
so that we don't rely upon host's <dev/dec/dec_boot.h>
 1.1 03-Apr-2002  lukem add nbinstallboot
 1.5.2.1 31-May-2002  tv Pull up revision 1.6 (requested by matt in ticket #104):
Make Solaris 8 happy: use ln -f -s instead of ln -fs
 1.10.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.11.44.1 10-Jun-2019  christos Sync with HEAD
 1.1 23-Feb-2024  mrg build isl tool for GCC 12.
 1.1 14-Jan-2007  apb Build join(1) as a host tool.
 1.12 23-Aug-2018  christos PR/53544: Add a dependency on the Makefile to fix incremental builds.
 1.11 20-Aug-2018  christos make sure that nbtools_compat.h is the first thing included for generated files
 1.10 02-Oct-2017  christos branches: 1.10.2; 1.10.4;
Simplify.
 1.9 30-Oct-2009  christos short circuit lex and yacc rules.
 1.8 29-Oct-2009  christos use bootstrap files for yacc too.
 1.7 26-Oct-2009  christos switch to new lex
 1.6 26-Oct-2009  christos back to old lex
 1.5 26-Oct-2009  christos use new lex.
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.10.4.1 10-Jun-2019  christos Sync with HEAD
 1.10.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.10 01-Apr-2024  riastradh elftoolchain: Be consistent about which ELF header files we use.

1. For tools that use elftoolchain: always use elftoolchain's
elfdefinitions.h. Don't even think about looking at the host's
sys/exec_elf.h, which makes no sense and should never happen.

(ELF tools that don't use elftoolchain, like m68k-elf2coff,
continue to use nbincludes/sys/exec_elf.h. But no more nbincludes
hacks in elftoolchain.)

2. For kernel components (solaris, zfs, dtrace): always use
sys/exec_elf.h, even in Solaris components via sys/elf.h.
elfdefinitions.h is not wired up in the kernel build at all.

3. For most userland components that involve libelf: use
elfdefinitions.h via libelf header files (libelf.h, gelf.h).

libdtrace in particular requires _all_ R_* reloc type definitions,
but sys/exec_elf.h brings in only the _current machine's_ R_*
reloc type definitions. (While here: Use uintptr_t instead of
Elf_Addr for pointer-to-integer cast, since Elf_Addr is MD and
provided only by sys/exec_elf.h, not by elfdefinitions.h.)

And most userland components using libelf don't rely on any
properties of the current machine from sys/exec_elf.h, so they can
use libelf's elfdefinition.h.

Exceptions:

- dtrace drti.c relies on link.h -> link_elf.h -> sys/exec_elf.h,
but it also relies on sys/dtrace.h -> sys/elf.h ->
elfdefinitions.h like other userland components using sys/elf.h.

- kdump-ioctl.c uses sys/exec_elf.h directly and sys/dtrace.h ->
sys/elf.h -> elfdefinitions like other userland components using
sys/elf.h.

- t_ptrace_wait.c (via t_ptrace_core_wait.h) uses libelf to parse
core files, but relies on sys/exec_elf.h for struct
netbsd_elfcore_procinfo.

None of these exceptions needs all R_* reloc type definitions, so
as a workaround, we can just suppress libelf's elfdefinitions.h by
defining _SYS_ELFDEFINITIONS_H_ and use sys/exec_elf.h in these
exceptions.

And undo the whole BUILTIN_ELF_HEADERS mistake. This was:

- half bogus workarounds for missing build_install dependencies in
tools/Makefile, which are no longer missing now, and
- half futile attempt to use src/sys/sys/exec_elf.h via nbincludes in
tools involving libelf instead of libelf's elfdefinitions.h, which
collides.

Longer-term, we may wish to unify sys/exec_elf.h and libelf's
elfdefinitions.h, so we don't have to play these games.

But at least now the games are limited to three .c files (one of
which is generated by Makefile.ioctl-c), rather than haphazardly
applied tree-wide by monstrous kludges in widely used .h files with
broken hackarounds to get the tools build lurching to completion.
 1.9 03-May-2022  jkoshy Prepare the ground for <elfdefinitions.h> to be used by the 'tools'
build of 'libctf'.
 1.8 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.7 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.6 27-Dec-2015  christos branches: 1.6.8; 1.6.14;
libelf has moved.
 1.5 16-Dec-2012  apb If you are going to append things to CPPFLAGS and then transfer
the result to HOST_CPPFLAGS later, then also include the value of
HOST_CPPFLAGS in this process. This should fix a problem in which the
value of HOST_CPPFLAGS set by compat/defs.mk was lost during a build
with MKDTRACE=yes.

XXX: It would probably be better to just use HOST_CPPFLAGS throughout.
 1.4 02-Dec-2012  apb Make most things under src/tools use the TOOLDIR version of compat/defs.mk,
instead of the version in the .OBJDIR of tools/compat.
 1.3 17-Apr-2011  tron branches: 1.3.4; 1.3.10;
Set "HOSTLIB" before including "bsd.own.mk" to get the destination
directory checks to work properly.
 1.2 19-Jun-2010  riz Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.1 24-Feb-2010  darran DTrace: add CTF tools to the toolchain (not built yet).
 1.3.10.1 25-Feb-2013  tls resync with head
 1.3.4.2 23-Jan-2013  yamt sync with head
 1.3.4.1 16-Jan-2013  yamt sync with (a bit old) head
 1.6.14.1 02-May-2018  pgoyette Synch with HEAD
 1.6.8.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.4 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.3 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.2 08-Jun-2017  skrll branches: 1.2.4; 1.2.6;
New libfdt location
 1.1 06-Jun-2017  skrll Add libfdt
 1.2.6.1 02-May-2018  pgoyette Synch with HEAD
 1.2.4.3 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.2.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
distrib/sets/lists/comp/mi: revision 1.2139
distrib/sets/lists/debug/mi: revision 1.217
distrib/sets/mkvars.mk: revision 1.32
external/gpl2/Makefile: revision 1.14
share/mk/bsd.own.mk: revision 1.1010
tools/Makefile: revisions 1.188, 1.189
tools/dtc/Makefile: revisions 1.1, 1.2
tools/libfdt/Makefile: revisions 1.1, 1.2
Add libfdt
--
New libfdt location
--
tools build glue.
--
Add dtc
--
add MKDTC
--
Add dtc
--
add DTC
--
add DTC
--
No need to set dtc twice.
--
Update for new libfdt location
 1.2.4.1 08-Jun-2017  snj file Makefile was added on branch netbsd-8 on 2017-07-18 17:32:50 +0000
 1.1 23-Oct-2024  kalvisd Add mopcopy as a build tool for the VAX port.

OK rin@
 1.2 08-May-2019  thorpej branches: 1.2.2;
Fix building libprop as a host tool library on platforms that don't have
the Matt Thomas rbtree:

- Include rb.c in libnbcompat, and provide a nbcompat sys/rbtree.h
header.
- Make sure libprop's source file include prop_object_impl.h before
anything else, and pull in nbtool_config.h from there.

Tested by simulating such a host system by renaming the host's
<sys/rbtree.h> out of the way (which reproduced the build failure)
and verifying that the host-tool installboot contained the rb_*
functions in its own .text segment.
 1.1 07-May-2019  thorpej Add support for libprop as a host tool library.
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 08-May-2019  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:15 +0000
 1.7 24-Jan-2021  rillig lint: make path to lint data configurable

This is needed for strict bool mode, to make the custom header stdbool.h
available when lint is run as part of build.sh.
 1.6 24-Jan-2021  rillig lint: fix path to installed stdbool.h for strict bool mode
 1.5 24-Jan-2021  christos Install lint's custom stdbool.h and make lint search for it in the right place.
 1.4 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.3 25-Oct-2001  thorpej Avoid some annoying pitfalls of HOST_CPPFLAGS:=... in Makefile.host.
 1.2 24-Oct-2001  thorpej Add $MACHINE_GNU_PLATFORM- prefixes to lint(1)'s front and back
ends, thereby properly making this a cross-tool. This addresses
bin/14280.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 25-Oct-2001  thorpej Avoid some annoying pitfalls of HOST_CPPFLAGS:=... in Makefile.host.
 1.4 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.3 25-Oct-2001  thorpej Avoid some annoying pitfalls of HOST_CPPFLAGS:=... in Makefile.host.
 1.2 24-Oct-2001  thorpej Add $MACHINE_GNU_PLATFORM- prefixes to lint(1)'s front and back
ends, thereby properly making this a cross-tool. This addresses
bin/14280.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.4 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.3 25-Oct-2001  thorpej Avoid some annoying pitfalls of HOST_CPPFLAGS:=... in Makefile.host.
 1.2 24-Oct-2001  thorpej Add $MACHINE_GNU_PLATFORM- prefixes to lint(1)'s front and back
ends, thereby properly making this a cross-tool. This addresses
bin/14280.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.24 30-May-2021  joerg Update LLVM build system for 249b40b558955afe5ac2b549edcf2d7f859c8cc9

This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.
 1.23 21-Feb-2020  joerg branches: 1.23.4;
LLVM doesn't use term.h, so don't check for it when probing here either.
Increase robustness of checks for incremental builds by forcing a
dependency on the Makefile itself.
 1.22 01-May-2018  christos branches: 1.22.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.21 11-Jan-2017  joerg branches: 1.21.12;
Sync tools build glue with LLVM pre-4.0.0.
 1.20 05-Mar-2015  joerg branches: 1.20.2;
misc/48722: Use explicit HOST_SH in case the user insists on removing
permissions from the filesystem.
 1.19 05-Jan-2015  joerg cleandir-llvm should not exist in the filesystem
 1.18 16-Jan-2014  matt branches: 1.18.4;
Pass HOST_CXX to llvm configure as CXX=${HOST_CXX:Q} since llvm wants c++
more than cc.
 1.17 02-Sep-2013  joerg Update LLVM/Clang snapshot to r189662. This includes many improvements
to the new SLP vectorizer, fast codegen support for PPC and using
terminfo for the color sequences. In addition, add (optional) build
infrastructure for lld to allow easier testing. This is controlled by
MKLLD.
 1.16 20-Feb-2013  joerg Work-around for python detection in LLVM's configure script
 1.15 17-Jun-2012  joerg branches: 1.15.2;
Fix version string returned by clang --version.
Integrate the in-tree config file generation with the cross-building
toolchain. Regenerate the files.
Keep version numbers all in one place.
 1.14 16-Jun-2012  joerg Update LLVM/Clang snapshot to r158533. This brings in support for
stack-realignment in functions using alloca on x86. Move to
/usr/include/clang-3.2 to reflect the version.
 1.13 31-May-2012  joerg Forcefully override the GNU make configure check. The build system in
NetBSD doesn't need it, so the configure check doesn't have to reject
a prestine NetBSD host.
 1.12 28-Feb-2012  joerg Update LLVM/Clang snapshot to r151411. This brings in Lambda support for
C++11 and a new literal format string check to catch variadic argument
functions.
 1.11 18-Jul-2011  joerg branches: 1.11.2;
Partially revert last, keep assertions enabled (but with the correct
spelling of the option).
 1.10 18-Jul-2011  adam Pass HOST_CC otherwise fails e.g. on Mac OS X; fixed typo in --disable-assertions
 1.9 07-Jul-2011  matt Fix cleandir-llvm (only remove config if it exists)
 1.8 05-Jul-2011  joerg Hook up LLVM's MIPS target.
 1.7 05-Jul-2011  joerg Also enable toolchain build of ARM
 1.6 05-Jul-2011  joerg Hook up LLVM's SPARC target.
 1.5 04-Jul-2011  joerg Hook up LLVM's PowerPC.
 1.4 16-May-2011  joerg Update to LLVM/Clang revision 131404. This includes the fix for asm labels
on builtins (broke longjmp usage) and a better cross-compiling support
in combination with -m32/-m64.

Update configuration to include /usr/include/clang-3.0 in the search
path.
 1.3 21-Mar-2011  joerg --with-clang-resource-dir is no longer needed
 1.2 18-Mar-2011  joerg Update LLVM snapshot. This allows deriving the target from the binary
name, provides a proper CPP mode and fixes a number of compat issues
in the integrated assembler.

Build the toolchain compiler optimized and without assertions now.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:57 +0000
 1.11.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.11.2.2 30-Oct-2012  yamt sync with head
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.15.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.1 25-Feb-2013  tls resync with head
 1.18.4.1 04-Jun-2015  snj Pull up following revision(s) (requested by joerg in ticket #824):
distrib/sets/lists/comp/ad.arm: revision 1.65
distrib/sets/lists/comp/md.amd64: revisions 1.228, 1.230
distrib/sets/lists/comp/md.i386: revision 1.151, 1.152
distrib/sets/lists/comp/mi: revision 1.1963
tools/llvm/Makefile: revisions 1.19, 1.20
tools/llvm-lib/liblldConfig/Makefile: revision 1.1
tools/llvm-lib/liblldReaderWriterELFAArch64/Makefile: revision 1.1
Install cpuid.h on X86 and arm_neon.h on ARM.
--
Update set lists for LLVM 3.6RC1.
--
Until we have a solution for stdatomic.h for GCC 4.8, install Clang's
version under /usr/include/clang-3.6 to match the C11 default.
--
Update build system glue for LLVM 3.6RC1. Notable changes:
- Old JIT is removed.
- Improvements to debug information handling.
- ARM: check for deprecated instructions and warn in the integrated
assembler
- PPC: VSX support, va_arg support for struct/union types, -fPIC vs
-fpic supported, faster atomics
- x86: improved vectorizer
--
cleandir-llvm should not exist in the filesystem
--
misc/48722: Use explicit HOST_SH in case the user insists on removing
permissions from the filesystem.
 1.20.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.21.12.1 02-May-2018  pgoyette Synch with HEAD
 1.22.2.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.23.4.1 31-May-2021  cjep sync with head
 1.4 11-Nov-2019  joerg Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.3 19-Feb-2013  joerg branches: 1.3.30;
Replace NETBSDSRCDIR with .PARSEDIR based logic here. bsd.own.mk is
included too early in the tools build, but not including it fails for
standalaone builds.
 1.2 18-Feb-2013  joerg Explicitly include bsd.own.mk to allow building without tool make.
 1.1 06-Feb-2011  joerg branches: 1.1.2; 1.1.6; 1.1.12;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.12.1 25-Feb-2013  tls resync with head
 1.1.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile.inc was added on branch bouyer-quota2 on 2011-03-06 15:07:57 +0000
 1.3.30.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1 30-May-2021  joerg branches: 1.1.2;
Update LLVM build system for 249b40b558955afe5ac2b549edcf2d7f859c8cc9

This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.
 1.1.2.2 31-May-2021  cjep sync with head
 1.1.2.1 30-May-2021  cjep file module-test.cpp was added on branch cjep_staticlib_x on 2021-05-31 22:15:24 +0000
 1.3 11-Nov-2019  joerg Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.2 18-Mar-2011  joerg branches: 1.2.44;
Update LLVM snapshot. This allows deriving the target from the binary
name, provides a proper CPP mode and fixes a number of compat issues
in the integrated assembler.

Build the toolchain compiler optimized and without assertions now.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:57 +0000
 1.2.44.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4 11-Nov-2019  joerg Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.3 17-May-2019  nakayama Revert previous.
The binaries created are different, but according to joerg@ there
is no difference in functionality.
 1.2 16-May-2019  nakayama Rename nb{clang,llvm}-tblgen to ${MACHINE_GNU_PLATFORM}-{clang,llvm}-tblgen
since they contain the default target (e.g. x86_64--netbsd).
 1.1 11-Oct-2011  joerg branches: 1.1.42;
Update LLVM/Clang snapshot to r141658. This primarily fixes a regression
preventing Qt4 from building.
 1.1.42.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.42.1 10-Jun-2019  christos Sync with HEAD
 1.2 17-Jun-2012  joerg Fix version string returned by clang --version.
Integrate the in-tree config file generation with the cross-building
toolchain. Regenerate the files.
Keep version numbers all in one place.
 1.1 06-Feb-2011  joerg branches: 1.1.2; 1.1.6;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.6.1 30-Oct-2012  yamt sync with head
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:57 +0000
 1.4 30-May-2021  joerg Update LLVM build system for 249b40b558955afe5ac2b549edcf2d7f859c8cc9

This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.
 1.3 01-May-2018  christos branches: 1.3.8;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.2 05-Jul-2011  joerg branches: 1.2.40;
Use a different switch to explicitly disable developer-only libraries
for the toolchain build.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:58 +0000
 1.2.40.1 02-May-2018  pgoyette Synch with HEAD
 1.3.8.1 31-May-2021  cjep sync with head
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile.inc was added on branch bouyer-quota2 on 2011-03-06 15:07:58 +0000
 1.1 04-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update to LLVM/Clang snapshot r174288. This brings in the new AArch64
backend as well as an import bug fix for pointer compare optimisations.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 04-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 04-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:31 +0000
 1.1 04-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update to LLVM/Clang snapshot r174288. This brings in the new AArch64
backend as well as an import bug fix for pointer compare optimisations.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 04-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 04-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:31 +0000
 1.1 04-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update to LLVM/Clang snapshot r174288. This brings in the new AArch64
backend as well as an import bug fix for pointer compare optimisations.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 04-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 04-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:31 +0000
 1.1 04-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update to LLVM/Clang snapshot r174288. This brings in the new AArch64
backend as well as an import bug fix for pointer compare optimisations.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 04-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 04-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:31 +0000
 1.1 04-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update to LLVM/Clang snapshot r174288. This brings in the new AArch64
backend as well as an import bug fix for pointer compare optimisations.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 04-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 04-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:31 +0000
 1.1 04-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update to LLVM/Clang snapshot r174288. This brings in the new AArch64
backend as well as an import bug fix for pointer compare optimisations.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 04-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 04-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:32 +0000
 1.1 19-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update LLVM/Clang snapshot to r175373. This improves GNU as
compatibility.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 19-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:32 +0000
 1.1 05-Jul-2011  joerg Hook up LLVM's ARM target.
 1.1 05-Jul-2011  joerg Hook up LLVM's ARM target.
 1.1 05-Jul-2011  joerg Hook up LLVM's ARM target.
 1.1 05-Jul-2011  joerg Hook up LLVM's ARM target.
 1.1 07-Jul-2011  joerg Update LLVM/Clang snapshot to r134635. This reduces the memory usage in
preprocessor heavy code and recognizes mipseb as alias for mips.
 1.1 05-Jul-2011  joerg Hook up LLVM's ARM target.
 1.1 17-Jul-2018  joerg branches: 1.1.2; 1.1.4;
Update LLVM/Clang build system to r337282.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 17-Jul-2018  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:15 +0000
 1.1.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.1 17-Jul-2018  pgoyette file Makefile was added on branch pgoyette-compat on 2018-07-28 04:38:13 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:58 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:58 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:58 +0000
 1.1 01-Aug-2017  joerg Update LLVM build glue for 5.0RC1.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:58 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:59 +0000
 1.1 11-Nov-2019  joerg branches: 1.1.4;
Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 11-Nov-2019  martin file Makefile was added on branch phil-wifi on 2020-04-13 08:05:35 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:59 +0000
 1.1 30-May-2014  joerg branches: 1.1.2; 1.1.6;
Update build system for LLVM/Clang snapshot r209886. This brings in the
merged AArch64 backend and the move of eARM to DWARF exception handling
for NetBSD. C++11 is required for building.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 30-May-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 30-May-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 06:57:44 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 11-Nov-2019  joerg branches: 1.1.4;
Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 11-Nov-2019  martin file Makefile was added on branch phil-wifi on 2020-04-13 08:05:35 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 30-May-2021  joerg branches: 1.1.2;
Update LLVM build system for 249b40b558955afe5ac2b549edcf2d7f859c8cc9

This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.
 1.1.2.2 31-May-2021  cjep sync with head
 1.1.2.1 30-May-2021  cjep file Makefile was added on branch cjep_staticlib_x on 2021-05-31 22:15:24 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 23-Jan-2013  joerg branches: 1.1.4; 1.1.10;
Update LLVM/Clang snapshot to r172366. Catch up with the move past 3.2
release.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 23-Jan-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:31 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 23-Jan-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:32 +0000
 1.1 25-Apr-2013  joerg branches: 1.1.2; 1.1.8;
Update LLVM/Clang snapshot to r180004. This brings in the last pieces of
C++11 support in Clang as well as initial SPARC64 support.
 1.1.8.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.8.1 25-Apr-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1.2.2 23-Jun-2013  tls resync from head
 1.1.2.1 25-Apr-2013  tls file Makefile was added on branch tls-maxphys on 2013-06-23 06:28:58 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:59 +0000
 1.1 12-May-2011  joerg Update LLVM and Clang snapshot
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 03-Nov-2011  joerg branches: 1.1.2;
Update LLVM/Clang snapshot to r143571 for the improved optimizer.
 1.1.2.2 10-Nov-2011  yamt sync with head
 1.1.2.1 03-Nov-2011  yamt file Makefile was added on branch yamt-pagecache on 2011-11-10 14:31:54 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:07:59 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:00 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:00 +0000
 1.1 17-Jan-2012  joerg branches: 1.1.4;
Update LLVM/Clang snapshot to r148262 for some bugfixes.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 17-Jan-2012  yamt file Makefile was added on branch yamt-pagecache on 2012-04-17 00:09:28 +0000
 1.1 13-Jul-2011  joerg Update to LLVM/Clang r135100 to get past the type system rewrite.
 1.1 05-Jul-2011  joerg Hook up LLVM's MIPS target.
 1.1 23-Sep-2012  joerg branches: 1.1.2;
Update LLVM/Clang snapshot to r164464. This adopts the GCC options for
the SSP parameters and a not-yet-default rewrite of SROA.
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 23-Sep-2012  yamt file Makefile was added on branch yamt-pagecache on 2012-10-30 19:00:13 +0000
 1.1 17-Jul-2011  joerg Update to Clang/LLVM r135360. Most importantly, this adjusts the
cc -print-search-dirs output to expand sysroot-prefixed library paths to
make live easier for libtool.
 1.1 05-Jul-2011  joerg Hook up LLVM's MIPS target.
 1.1 04-Feb-2013  joerg branches: 1.1.4; 1.1.10;
Update to LLVM/Clang snapshot r174288. This brings in the new AArch64
backend as well as an import bug fix for pointer compare optimisations.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 04-Feb-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 04-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:30:32 +0000
 1.1 28-May-2013  joerg branches: 1.1.2; 1.1.8;
Update LLVM/Clang snapshot to r182734. Brings initial support for
integrated PowerPC assembler.
 1.1.8.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.8.1 28-May-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1.2.2 23-Jun-2013  tls resync from head
 1.1.2.1 28-May-2013  tls file Makefile was added on branch tls-maxphys on 2013-06-23 06:28:58 +0000
 1.1 07-Jul-2013  joerg branches: 1.1.6; 1.1.10;
Update LLVM/Clang to snapshot r185778. This brings in a lot of work on
integrated-assembler support on PowerPC as well as support for
compressed DWARF sections in some tools.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 07-Jul-2013  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 07-Jul-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 28-May-2013  joerg branches: 1.1.2; 1.1.8;
Update LLVM/Clang snapshot to r182734. Brings initial support for
integrated PowerPC assembler.
 1.1.8.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.8.1 28-May-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1.2.2 23-Jun-2013  tls resync from head
 1.1.2.1 28-May-2013  tls file Makefile was added on branch tls-maxphys on 2013-06-23 06:28:58 +0000
 1.1 04-Jul-2011  joerg Hook up LLVM's PowerPC.
 1.1 04-Jul-2011  joerg Hook up LLVM's PowerPC.
 1.1 05-Jan-2014  joerg branches: 1.1.4; 1.1.8;
Update LLVM family to 3.5svn r198450. Interesting changes include:
- Improvements in the SPARC64 support
- ARM backend can almost build a full NetBSD/EABI system with the
integrated assembler
- PowerPC grows disassembler support
- LLD supports copy relocation, beginning of MIPS backend
- New diagnostic for use of bool expression as size_t argument for
strncmp and friends
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 05-Jan-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 05-Jan-2014  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1 17-Jul-2011  joerg Update to Clang/LLVM r135360. Most importantly, this adjusts the
cc -print-search-dirs output to expand sysroot-prefixed library paths to
make live easier for libtool.
 1.1 04-Jul-2011  joerg Hook up LLVM's PowerPC.
 1.1 30-May-2014  joerg branches: 1.1.2; 1.1.6;
Update build system for LLVM/Clang snapshot r209886. This brings in the
merged AArch64 backend and the move of eARM to DWARF exception handling
for NetBSD. C++11 is required for building.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 30-May-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 30-May-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 06:57:44 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 11-Nov-2019  joerg branches: 1.1.4;
Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 11-Nov-2019  martin file Makefile was added on branch phil-wifi on 2020-04-13 08:05:35 +0000
 1.1 12-May-2011  joerg Update LLVM and Clang snapshot
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:00 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:00 +0000
 1.1 15-Jan-2014  joerg branches: 1.1.4; 1.1.8;
Update build glue for LLVM/Clang 3.5svn r199312. Noticable changes
include bug fixes for the loop vectorizer, initial work for assembler
parser/disassembler on SPARC, improvements to ARM assembler and .code16
support on x86.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 15-Jan-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 15-Jan-2014  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1 05-Jan-2014  joerg branches: 1.1.4; 1.1.8;
Update LLVM family to 3.5svn r198450. Interesting changes include:
- Improvements in the SPARC64 support
- ARM backend can almost build a full NetBSD/EABI system with the
integrated assembler
- PowerPC grows disassembler support
- LLD supports copy relocation, beginning of MIPS backend
- New diagnostic for use of bool expression as size_t argument for
strncmp and friends
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 05-Jan-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 05-Jan-2014  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1 05-Jul-2011  joerg Hook up LLVM's SPARC target.
 1.1 15-Jan-2014  joerg branches: 1.1.4; 1.1.8;
Update build glue for LLVM/Clang 3.5svn r199312. Noticable changes
include bug fixes for the loop vectorizer, initial work for assembler
parser/disassembler on SPARC, improvements to ARM assembler and .code16
support on x86.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 15-Jan-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 15-Jan-2014  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:42:32 +0000
 1.1 17-Jul-2011  joerg Update to Clang/LLVM r135360. Most importantly, this adjusts the
cc -print-search-dirs output to expand sysroot-prefixed library paths to
make live easier for libtool.
 1.1 05-Jul-2011  joerg Hook up LLVM's SPARC target.
 1.2 30-May-2023  hgutch Fix LLVM build with host gcc 13

Building LLVM with a host gcc 13 fails and suggests including <cstdint>
in external/apache2/llvm/dist/llvm/include/llvm/Support/Signals.h .
Instead of this, joerg@ suggested not modifying the llvm vendor branch
but instead working around this in our LLVM build infrastructure.
 1.1 06-Feb-2011  joerg branches: 1.1.2; 1.1.56;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.56.1 03-Jul-2023  martin Pull up following revision(s) (requested by hgutch in ticket #223):

tools/llvm-lib/libLLVMSupport/Makefile: revision 1.2
external/apache2/llvm/autoconf/include/llvm/Config/config.h.in: revision 1.3

Fix LLVM build with host gcc 13

Building LLVM with a host gcc 13 fails and suggests including <cstdint>
in external/apache2/llvm/dist/llvm/include/llvm/Support/Signals.h .

Instead of this, joerg@ suggested not modifying the llvm vendor branch
but instead working around this in our LLVM build infrastructure.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:00 +0000
 1.1 11-Oct-2011  joerg Update LLVM/Clang snapshot to r141658. This primarily fixes a regression
preventing Qt4 from building.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:01 +0000
 1.1 11-Nov-2019  joerg branches: 1.1.4;
Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 11-Nov-2019  martin file Makefile was added on branch phil-wifi on 2020-04-13 08:05:35 +0000
 1.1 17-Jul-2018  joerg branches: 1.1.2; 1.1.4;
Update LLVM/Clang build system to r337282.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 17-Jul-2018  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:15 +0000
 1.1.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.1 17-Jul-2018  pgoyette file Makefile was added on branch pgoyette-compat on 2018-07-28 04:38:13 +0000
 1.1 11-Nov-2019  joerg branches: 1.1.4;
Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 11-Nov-2019  martin file Makefile was added on branch phil-wifi on 2020-04-13 08:05:35 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:01 +0000
 1.1 28-Feb-2012  joerg branches: 1.1.2;
Update LLVM/Clang snapshot to r151411. This brings in Lambda support for
C++11 and a new literal format string check to catch variadic argument
functions.
 1.1.2.2 17-Apr-2012  yamt sync with head
 1.1.2.1 28-Feb-2012  yamt file Makefile was added on branch yamt-pagecache on 2012-04-17 00:09:28 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:01 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:01 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:01 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:02 +0000
 1.1 13-Jul-2011  joerg Update to LLVM/Clang r135100 to get past the type system rewrite.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:02 +0000
 1.2 30-May-2021  joerg Update LLVM build system for 249b40b558955afe5ac2b549edcf2d7f859c8cc9

This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.
 1.1 23-Feb-2011  joerg branches: 1.1.2; 1.1.52;
Update LLVM/Clang snapshot. This brings improvements for the integrated
assembler and support for -cxx-isystem in the driver.
 1.1.52.1 31-May-2021  cjep sync with head
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 23-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-05 15:10:58 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:02 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:02 +0000
 1.1 04-Jul-2011  joerg Update LLVM/Clang to r134374. This brings the xstorerng alias for Via
PadLock, a bugfix for the C++ ABI in one edge condition and various
compiler improvements.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:02 +0000
 1.1 11-Jan-2017  joerg branches: 1.1.4;
Sync tools build glue with LLVM pre-4.0.0.
 1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.1 11-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:03 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:03 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:03 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:03 +0000
 1.1 17-Jul-2018  joerg branches: 1.1.2; 1.1.4;
Update LLVM/Clang build system to r337282.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 17-Jul-2018  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:15 +0000
 1.1.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.1 17-Jul-2018  pgoyette file Makefile was added on branch pgoyette-compat on 2018-07-28 04:38:13 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:03 +0000
 1.1 04-Apr-2012  joerg branches: 1.1.2;
Update LLVM/Clang snapshot to r153935. This brings in the new inline
cost analysis.
 1.1.2.2 17-Apr-2012  yamt sync with head
 1.1.2.1 04-Apr-2012  yamt file Makefile was added on branch yamt-pagecache on 2012-04-17 00:09:28 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:03 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.4;
Update build glue for LLVM/Clang 3.6svn r215315. Changes include various
performance improvements across all backends and a much improved PPC32
backend.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:54 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:03 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:04 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:04 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:04 +0000
 1.3 10-Aug-2014  joerg Update build glue for LLVM/Clang 3.6svn r215315. Changes include various
performance improvements across all backends and a much improved PPC32
backend.
 1.2 23-Sep-2012  joerg Update LLVM/Clang snapshot to r164464. This adopts the GCC options for
the SSP parameters and a not-yet-default rewrite of SROA.
 1.1 06-Feb-2011  joerg branches: 1.1.2; 1.1.6; 1.1.12;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.6.1 30-Oct-2012  yamt sync with head
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:04 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:05 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:05 +0000
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:05 +0000
 1.1 17-Feb-2011  joerg branches: 1.1.2;
Update LLVM/clang snapshot. This brings in support for
.pushsection/.popsection and fixes clang -B to be incremental.
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 17-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-05 15:10:58 +0000
 1.1 17-Feb-2011  joerg branches: 1.1.2;
Update LLVM/clang snapshot. This brings in support for
.pushsection/.popsection and fixes clang -B to be incremental.
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 17-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-05 15:10:58 +0000
 1.1 30-May-2021  joerg branches: 1.1.2;
Update LLVM build system for 249b40b558955afe5ac2b549edcf2d7f859c8cc9

This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.
 1.1.2.2 31-May-2021  cjep sync with head
 1.1.2.1 30-May-2021  cjep file Makefile was added on branch cjep_staticlib_x on 2021-05-31 22:15:25 +0000
 1.5 11-Nov-2019  joerg Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.4 17-May-2019  nakayama Revert previous.
The binaries created are different, but according to joerg@ there
is no difference in functionality.
 1.3 16-May-2019  nakayama Rename nb{clang,llvm}-tblgen to ${MACHINE_GNU_PLATFORM}-{clang,llvm}-tblgen
since they contain the default target (e.g. x86_64--netbsd).
 1.2 11-Oct-2011  joerg branches: 1.2.42;
Update LLVM/Clang snapshot to r141658. This primarily fixes a regression
preventing Qt4 from building.
 1.1 06-Feb-2011  joerg branches: 1.1.2;
Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 06-Feb-2011  bouyer file Makefile was added on branch bouyer-quota2 on 2011-03-06 15:08:05 +0000
 1.2.42.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.14 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.13 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.12 02-Dec-2012  apb branches: 1.12.22; 1.12.28;
Make most things under src/tools use the TOOLDIR version of compat/defs.mk,
instead of the version in the .OBJDIR of tools/compat.
 1.11 25-Oct-2008  apb branches: 1.11.18; 1.11.24;
Use ${TOOL_SED} instead of just "sed" while building other tools.

Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
 1.10 07-Oct-2008  apb Remove the definitions of BUILD_OSTYPE and BUILD_OSVERSION, which have
been unused since the TOOL_JOIN change made in revision 1.9.
 1.9 14-Jan-2007  apb Pass TOOL_JOIN, TOOL_MKTEMP, NM, and TOOL_SED through to the
tools version of lorder. Also remove the hack of treating
Darwin differently, because the new TOOL_JOIN should solve that
problem.
 1.8 11-Jan-2007  ginsbach Fix unbalanced sed expression -- add missing '('.
 1.7 09-Jan-2007  ginsbach Don't invoke join(1) with POSIX syntax on MacOS X 10.3.9. This fixes
cross-building on the aforementioned platform.
 1.6 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.5 15-Sep-2002  thorpej Patch lorder with the host's working shell. Idea from Chris Demetriou.
 1.4 19-Nov-2001  perry branches: 1.4.2;
replace instances of INSTALL_FILE with HOST_INSTALL_FILE
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 22-Sep-2001  tv Move <bsd.hostprog.mk> to the right place so TOOLDIR can be set in mk.conf.
 1.1 22-Sep-2001  tv Add lorder to TOOLDIR host tools.

Only descend into directories if USE_NEW_TOOLCHAIN is set (allows top level
Makefile to use "-m ${.CURDIR}/share/mk" to get the "correct" <bsd.own.mk>
when descending into src/tools/Makefile).
 1.4.2.1 01-Dec-2002  he Pull up revision 1.5 (requested by thorpej in ticket #826):
Patch lorder wirh the host's working shell.
 1.11.24.1 25-Feb-2013  tls resync with head
 1.11.18.1 16-Jan-2013  yamt sync with (a bit old) head
 1.12.28.1 02-May-2018  pgoyette Synch with HEAD
 1.12.22.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.5 06-Nov-2009  joerg Make sure that parser.c and friends can be found.
 1.4 27-Oct-2009  christos break cyclical dependency of lex depending on m4 and m4 depending on lex,
by providing pre-built lex and yacc files for m4.
 1.3 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.2 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.1 14-Nov-2001  tv Add m4 to host tools (not built by default).
 1.2 03-Nov-2009  christos prevent $ NetBSD expansion.
 1.1 27-Oct-2009  christos Add a Makefile to rebuild the bootstrap files.
 1.2 24-Nov-2009  uebayasi Adjust #line directive paths so that make depend works correctly.
 1.1 27-Oct-2009  christos break cyclical dependency of lex depending on m4 and m4 depending on lex,
by providing pre-built lex and yacc files for m4.
 1.1 27-Oct-2009  christos break cyclical dependency of lex depending on m4 and m4 depending on lex,
by providing pre-built lex and yacc files for m4.
 1.2 24-Nov-2009  uebayasi Adjust #line directive paths so that make depend works correctly.
 1.1 27-Oct-2009  christos break cyclical dependency of lex depending on m4 and m4 depending on lex,
by providing pre-built lex and yacc files for m4.
 1.5 27-Jan-2019  dholland fix duplicated chunk from merge
 1.4 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.3 03-May-2018  christos branches: 1.3.2;
need bsd.hostinit.mk before bsd.endian.mk
 1.2 01-May-2018  christos Centralize NOMAN handling.
 1.1 16-Jul-2011  tsutsui branches: 1.1.40;
Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.1.40.2 21-May-2018  pgoyette Sync with HEAD
 1.1.40.1 02-May-2018  pgoyette Synch with HEAD
 1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1 16-Jul-2011  tsutsui Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.1 16-Jul-2011  tsutsui Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.1 16-Jul-2011  tsutsui Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.2 20-May-2019  christos sync with arm.
 1.1 16-Jul-2011  tsutsui branches: 1.1.42;
Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.1.42.1 10-Jun-2019  christos Sync with HEAD
 1.1 16-Jul-2011  tsutsui Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.5 17-Mar-2025  andvar s/micorprocessor/microprocessor/ in comments.
 1.4 28-May-2022  andvar branches: 1.4.4;
s/hidding/hiding/
 1.3 20-May-2019  christos sync with arm.
 1.2 03-Jan-2014  dsl branches: 1.2.26;
Remove the borked definition of ELF64_Shalf from some more places.
Remove the _KERNEL parts of some clones of sys/elf_exec.h
One might ask why this file has got cloned so many times.
 1.1 16-Jul-2011  tsutsui branches: 1.1.2; 1.1.8;
Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.1.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.26.1 10-Jun-2019  christos Sync with HEAD
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2 03-Mar-2004  thorpej Don't use $MACHINE to name the program; just call it macppc-fixcoff.
 1.1 11-Dec-2003  matt Add macppc-fixcoff tool.
 1.2 15-Sep-2024  tsutsui Move macppc bootable installcd stuff to sys/arch/macppc/stand dirs.

- move installboot (for CD ISO) and mkboothfs (for mkhybrid(8)) tools to
sys/arch/macppc/stand
- also build mkboothfs as ${TOOL_MACPPCMKBOOTHFS} in src/tools
- explicitly generate boothfs file (for mkhybrid(8)) in
sys/arch/macppc/stand/boothfs and install it into /usr/mdec
- use installed /usr/mdec/boothfs to create macppc bootable iso
- move list files for mkhybrid(8) hfs options to etc/etc.macppc
 1.1 08-Jun-2024  tsutsui branches: 1.1.2; 1.1.4;
Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.

Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
 1.1.4.2 03-Jul-2024  martin Pull up following revision(s) (requested by tsutsui in ticket #733):

external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.6
distrib/cdrom/Makefile: revision 1.55
distrib/cdrom/macppc_installboot/Makefile: revision 1.12
external/gpl2/mkhybrid/dist/getopt.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/LEGAL.NOTICE: revision 1.1
external/gpl2/mkhybrid/dist/write.c: revision 1.1
distrib/cdrom/Makefile: revision 1.56
distrib/cdrom/macppc_installboot/Makefile: revision 1.13
distrib/cdrom/macppc_installboot/installboot.c: revision 1.6
external/gpl2/mkhybrid/dist/getopt.c: revision 1.3
external/gpl2/mkhybrid/dist/write.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/data.h: revision 1.1
distrib/cdrom/Makefile: revision 1.57
distrib/cdrom/macppc_installboot/Makefile: revision 1.14
distrib/cdrom/macppc_installboot/installboot.c: revision 1.7
tools/Makefile: revision 1.221
tools/Makefile: revision 1.222
external/gpl2/mkhybrid/dist/libhfs_iso/file.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/README: revision 1.1
distrib/macppc/Makefile: revision 1.18
external/gpl2/mkhybrid/dist/TODO: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/record.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.2
external/gpl2/mkhybrid/dist/volume.c: revision 1.1
external/gpl2/mkhybrid/dist/volume.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/internal.h: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.2
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.3
external/gpl2/mkhybrid/dist/README.mkisofs: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hybrid.h: revision 1.1
tools/mkhybrid/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_magic: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.1
external/gpl2/mkhybrid/dist/include/prototyp.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.1
external/gpl2/mkhybrid/dist/desktop.c: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.2
external/gpl2/mkhybrid/dist/desktop.c: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.4
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.5
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.6
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.7
external/gpl2/mkhybrid/dist/getopt.h: revision 1.1
distrib/cdrom/macppc_installboot/installboot.h: revision 1.5
etc/etc.mac68k/Makefile.inc: revision 1.25
external/gpl2/mkhybrid/dist/getopt.h: revision 1.2
external/gpl2/mkhybrid/dist/write.h: revision 1.1
etc/etc.mac68k/Makefile.inc: revision 1.26
external/gpl2/mkhybrid/dist/rock.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/record.h: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_boot: revision 1.1
external/gpl2/mkhybrid/dist/README: revision 1.1
external/gpl2/mkhybrid/dist/README.win32: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.1
external/gpl2/mkhybrid/dist/config.h.in: revision 1.2
distrib/cdrom/boothfs.uue: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.3
external/gpl2/mkhybrid/dist/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/volume.h: revision 1.2
external/gpl2/mkhybrid/dist/ChangeLog: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.2
external/gpl2/mkhybrid/dist/mapping: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/include/statdefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/Makefile: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.2
external/gpl2/mkhybrid/dist/magic: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/node.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.3
external/gpl2/mkhybrid/dist/acconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/eltorito.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/patchlevel.h: revision 1.1
share/mk/bsd.own.mk: revision 1.1375
share/mk/bsd.own.mk: revision 1.1376
external/gpl2/mkhybrid/dist/README.session: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.2
tools/macppc_installboot/Makefile: revision 1.1
external/gpl2/mkhybrid/README.md: revision 1.1
etc/etc.macppc/Makefile.inc: revision 1.13
external/gpl2/mkhybrid/dist/defaults.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.spec: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.h: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.3
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.2
external/gpl2/mkhybrid/dist/libfile/proto.h: revision 1.1
external/gpl2/mkhybrid/dist/COPYING: revision 1.1
external/gpl2/mkhybrid/dist/name.c: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.2
external/gpl2/mkhybrid/dist/mac_label_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.c: revision 1.1
distrib/cdrom/macppc_mkboothfs/mkboothfs.c: revision 1.4
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.c: revision 1.1
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.5
external/gpl2/mkhybrid/dist/config.h: revision 1.1
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.2
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.6
external/gpl2/mkhybrid/dist/config.h: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/node.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/data.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/file.c: revision 1.1
external/gpl2/mkhybrid/dist/README.eltorito: revision 1.1
external/gpl2/mkhybrid/dist/include/fctldefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libfile/README: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.c: revision 1.1
external/gpl2/mkhybrid/dist/mactypes.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.2
external/gpl2/mkhybrid/dist/multi.c: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.1
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/lvolume.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.2
external/gpl2/mkhybrid/dist/configure: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.2
external/gpl2/mkhybrid/dist/install-sh: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.3
distrib/cdrom/macppc_installboot/cd9660.c: file removal
external/gpl2/mkhybrid/dist/README.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/ChangeLog.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/iso9660.h: revision 1.1
external/gpl2/mkhybrid/dist/joliet.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.2
external/gpl2/mkhybrid/dist/apple.c: revision 1.3
etc/Makefile: revision 1.471
external/gpl2/mkhybrid/dist/apple.c: revision 1.4
external/gpl2/mkhybrid/dist/tree.c: revision 1.1
etc/Makefile: revision 1.472
external/gpl2/mkhybrid/dist/tree.c: revision 1.2
external/gpl2/mkhybrid/dist/tree.c: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.8: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.4
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.5
distrib/cdrom/Makefile: revision 1.54
external/gpl2/mkhybrid/dist/getopt.c: revision 1.1

Add -data-change-warn to MKISOFS_ARGS for macppc as done for mac68k:
https://mail-index.netbsd.org/source-changes/2023/05/19/msg144826.html

Creating Type&Creator mappings for .bin (macbinary encoded) files,
mkisofs changes files, then turns around and complains they have been
changed.
This is a self-inflicted wound, so demote the error to a warning.
This looks to make macppccd builds with cdrtools-3.02a10.
Sync with src/usr.sbin/installboot/cd9660.c:
- include now properly updated cd9660_extern.h for function prototypes
and remove them from local installboot.h
- use ISO_MAXNAMLEN rather than (BSD specific and incorrect) MAXNAMLEN
- use proper names for the secondary boot file
- appease several pointer signedness warnings (not fatal on HOST tools)
Use native cd9660 blocksize to specify block numbers in cd9660.c.
This reduces diffs from src/usr.sbin/installboot/cd9660.c.
Also explicitly call cd9660_match() to get fstype->blocksize properly.
Pull sharable src/usr.sbin/installboot/cd9660.c.
Import mkhybrid from OpenBSD 7.3 to create ISO9660/HFS hybrid ISO images.
- files in libfile except proto.h prepared by OpenBSD are not imported
due to non-standard license
(newer BSD Licensed versions will be imported later)
- unnecessary files for tools build are not imported
- RCSId strings are trimmed to avoid unintended substitutions
Proposed on tech-toolchain@:
https://mail-index.netbsd.org/tech-toolchain/2024/05/25/msg004355.html

Import BSD licensed libfile for mkhybrid builds from cdrtools-3.01.
- unnecessary files for tools build are not imported
- file.c is renamed to lfile.c to avoid conflict with libhfs_iso
- RCSId strings are trimmed
Remove dependencies on non-existent exclude.h.
Pull changes from mkisofs-1.12.1 to avoid statvfs(2).
Make newer BSD Licensed libfile sources build as tools.
Update mkhybrid Makefile for NetBSD's tools builds.
Suppress implicit declaration warnings.
Appease discard-const warnings.
Remove duplicated SYSTEM_ID_DEFAULT definitions.
Don't redefine SYSTEM_ID_DEFAULT if it's specified in CPPFLAGS.
Remove ancient rlimit hacks for NetBSD disabled in cdrtools-2.01.
Always use local getopt.h as cdrtools-2.01 did.
Tweak and regen configure using autoconf-2.13 to use pkgsrc tools.
Check <stdlib.h> and <flock.h> in configure and regen config.h.
Use HAVE_CONFIG_H to include <stdlib.h> and <string.h> in getopt sources.
Appease more warnings and remove unused getopt functions.
Pull options -hide-joliet-trans-tbl and -hide-rr-moved from mkisofs-1.13.
Pull -graft-points option from mkisofs-1.13 and cdrtools-2.01.
Also remove #ifdef APPLE_HYB for NON-HFS changes to reduce diffs.
Tweak OPTION_* definitions to reduce diffs from mkisofs-1.13.
Pull malloc related fixes from cdrtools-2.01.
This seems to fix SIGSEGV during free(3) in write.c:write_one_file().
Build mkhybrid as a build tool.
Build mac68k and macppc iso images using tools/mkhybrid.
Drop -data-change-warn from MKISOFS_FLAGS.
It's available only on cdrtools-3.x and later.
Use tools/mkhybrid as MKISOFS for mac68k and future macppc.
Note about current status.
Also pull man page description of options pulled from mkisofs-1.13.
Don't print progress if -quiet is specfied as cdrtools-2.01 and later.
Exclude debug.tgz and xdebug.tgz from mac68k ISO to save ~320MB.
Drop -T (for non-Rock Ridge capable systems) from ${MKISOFS_FLAGS}.
Even old mac68k and macppc don't require it, and somehow TRANS.TBL
files are shown on NetBSD when the ISO images created with both -T
and and -hide-joliet-trans-tbl are mounted by mount_cd9660(8).
Note this also happens with mkisofs(8) from cdrtools-3.02,
but I have not investigated if it's expected behavior.
Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.
Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
Make sure NetBSD_BootBlock partition has 32KB to avoid extra padding.
It looks at least OpenFirmware 2.x fails to load the primary bootloader
in the NetBSD_BootBlock partition if the partition size is too small,
probably because OpenFirmware read() function implicitly uses 32KB blocks.
Build macppc iso with TOOL_MKHYBRID via "iso-image" target in src/etc.
No need to check and redefine C89 strerror(3) and strtoul(3).
Fixes build error on MacOS 10.4 with Xcode 2.5.
 1.1.4.1 08-Jun-2024  martin file Makefile was added on branch netbsd-10 on 2024-07-03 18:38:55 +0000
 1.1.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 15-Sep-2024  tsutsui Move macppc bootable installcd stuff to sys/arch/macppc/stand dirs.

- move installboot (for CD ISO) and mkboothfs (for mkhybrid(8)) tools to
sys/arch/macppc/stand
- also build mkboothfs as ${TOOL_MACPPCMKBOOTHFS} in src/tools
- explicitly generate boothfs file (for mkhybrid(8)) in
sys/arch/macppc/stand/boothfs and install it into /usr/mdec
- use installed /usr/mdec/boothfs to create macppc bootable iso
- move list files for mkhybrid(8) hfs options to etc/etc.macppc
 1.2 20-Jul-2023  lukem tools/make: build with -Wno-deprecated-declarations

Use NB_CHECK_CC_FLAG() from ../tools/compat to determine
if the compiler supports -Wno-deprecated-declarations.
Avoids sooking about vfork() on macOS.
 1.1 14-Oct-2007  apb branches: 1.1.2;
* Add Makefile.regen to regenerate configure from configure.ac;
* Add comments in configure.ac to explain how to regenerate configure.
 1.1.2.2 06-Nov-2007  matt sync with HEAD
 1.1.2.1 14-Oct-2007  matt file Makefile.regen was added on branch matt-armv6 on 2007-11-06 23:35:38 +0000
 1.1 20-Jul-2023  lukem tools/make: regen
 1.18 20-Jul-2023  lukem tools/make: build with -Wno-deprecated-declarations

Use NB_CHECK_CC_FLAG() from ../tools/compat to determine
if the compiler supports -Wno-deprecated-declarations.
Avoids sooking about vfork() on macOS.
 1.17 20-Jul-2023  lukem tools/make/buildmake.sh: fix quoting

autoconf 2.69 generates @DEFS@ with definitions with
quoted embedded spaces, so rework how docmd() is invoked
to avoid weird quoting issues.

As part of this, remove all the shell variables containing @var@
and just use @var@ directly.
 1.16 26-Jul-2020  rillig make(1): remove references to the removed lst.lib
 1.15 13-Jun-2020  lukem nbmake bootstrap: be quieter if MAKEVERBOSE==0

More accurately simulate <bsd.own.mk> and don't even print
the "compile" lines with MAKEVERBOSE=0
 1.14 13-Jun-2020  lukem nbmake bootstrap: consistency fix in MAKEVERBOSE<2 support
 1.13 13-Jun-2020  lukem nbmake bootstrap: if MAKEVERBOSE < 2, output similar to <bsd.own.mk>
 1.12 16-Jan-2018  uwe Do not use HOST_CFLAGS and others. build.sh calls configure with
CFLAGS set to HOST_CFLAGS, etc - so HOST_* environment variables are
already taken into account if set.

OTOH, if configure were to add anything to CFLAGS etc, the old code
would happily ignore those changes, picking up original environment
variables instead.
 1.11 15-Jan-2018  uwe Do not use HOST_CFLAGS to link the make binary.
 1.10 15-Jan-2018  uwe G/c unused runcmd.
 1.9 15-Jan-2018  uwe Make sure nbmake is always built with the right _PATH_DEFSYSPATH.
 1.8 26-Aug-2006  christos branches: 1.8.74;
undo previous. I'll do it differently.
 1.7 26-Aug-2006  christos compile efun.c too.
 1.6 30-Jun-2006  ross Use _TOOL_PREFIX if present.
 1.5 07-May-2004  ross Track make(1) build simplifications.

Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when
you want things simple, instead add MAKE_NATIVE to get those hugely
important features like __RCSID().

Also, get rid of a now-unneeded -I.
 1.4 13-Sep-2002  thorpej branches: 1.4.2;
Be more conservative with quoting, to play nice with /bin/sh on Solaris 8.
 1.3 24-Apr-2002  bjh21 branches: 1.3.2;
Remove an "eval" from docmd, in order to stop it over-evaluating things
(and losing quotes from DEFS).
 1.2 25-Jan-2002  tv Abort on C compiler error. Add @DEFS@ to compile line.
 1.1 15-Jan-2002  tv Break out make(1) bootstrap config into an autoconf-based mechanism that
generates a shell script. Check for existence of POSIX regex, and make
sure an appropriate library is pulled in for it as needed.
 1.3.2.1 03-Nov-2002  he Pull up revision 1.4 (requested by thorpej in ticket #798):
Be more conservative with quoting, to play nice with
Solaris 8's /bin/sh.
 1.4.2.1 10-May-2004  tron Pull up revision 1.5 (requested by sjg in ticket #282):
Track make(1) build simplifications.
Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when
you want things simple, instead add MAKE_NATIVE to get those hugely
important features like __RCSID().
Also, get rid of a now-unneeded -I.
 1.8.74.1 19-Feb-2018  snj Pull up following revision(s) (requested by uwe in ticket #555):
build.sh: 1.322-1.323
tools/make/buildmake.sh.in: 1.9-1.12
Make sure nbmake is always built with the right _PATH_DEFSYSPATH.
--
Restore formatting/indentation of the configure call in rebuildmake()
to what it used to be.
--
G/c unused runcmd.
--
Do not use HOST_CFLAGS to link the make binary.
--
Do not use HOST_CFLAGS and others. build.sh calls configure with
CFLAGS set to HOST_CFLAGS, etc - so HOST_* environment variables are
already taken into account if set.
OTOH, if configure were to add anything to CFLAGS etc, the old code
would happily ignore those changes, picking up original environment
variables instead.
 1.9 20-Jul-2023  lukem tools/make: regen
 1.8 14-Oct-2007  apb regen
 1.7 09-Oct-2006  apb branches: 1.7.8;
Configure the bootstrap make in such a way that it can use a shell other
than "sh" for executing commands. Useful in a cross-build environment.

* Do not define _PATH_BSHELL, because it is no longer used by make.

* In addition to _PATH_DEFSHELLDIR (the directory in which the default
shell can be found), define _BASENAME_DEFSHELL (the shell's basename).

* Use shell builtin string manipulation instead of sed to extract
the directory name and basename from $BSHELL.

OK sjg, christos
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 04-Oct-2002  thorpej Check for <poll.h>. If it is not found, -DUSE_SELECT=1.
 1.4 27-Apr-2002  bjh21 Define _PATH_BSHELL to the first "sh" on the PATH when bootstrapping
nbmake. This should remove our dependency on a nobbled /bin/sh on
Solaris.
 1.3 24-Apr-2002  bjh21 Check for the location of sh on the path, and use that to construct the
value for _PATH_DEFSHELLDIR. In theory, _PATH_DEFSHELLDIR will also be
used to find csh, but ".SHELL csh" shouldn't be used anywhere in our source
tree, and this make shouldn't be used for other things.

This should cause nbmake to use the right shell for most purposes when
cross-compiling from Solaris.
 1.2 25-Jan-2002  tv Make util.c replacement functions use autoconf conditionals to probe
what is Really available in the host OS.
 1.1 15-Jan-2002  tv Break out make(1) bootstrap config into an autoconf-based mechanism that
generates a shell script. Check for existence of POSIX regex, and make
sure an appropriate library is pulled in for it as needed.
 1.7.8.1 06-Nov-2007  matt sync with HEAD
 1.11 20-Jul-2023  lukem tools/make: build with -Wno-deprecated-declarations

Use NB_CHECK_CC_FLAG() from ../tools/compat to determine
if the compiler supports -Wno-deprecated-declarations.
Avoids sooking about vfork() on macOS.
 1.10 20-Jul-2023  lukem tools/make/configure.ac: style tweaks

Consistently use () in zero argument macro calls.
Display results at end.
 1.9 14-Oct-2007  apb Adapt to the changed way of telling make which shell to use.
 1.8 14-Oct-2007  apb * Add Makefile.regen to regenerate configure from configure.ac;
* Add comments in configure.ac to explain how to regenerate configure.
 1.7 09-Oct-2006  apb branches: 1.7.8;
Configure the bootstrap make in such a way that it can use a shell other
than "sh" for executing commands. Useful in a cross-build environment.

* Do not define _PATH_BSHELL, because it is no longer used by make.

* In addition to _PATH_DEFSHELLDIR (the directory in which the default
shell can be found), define _BASENAME_DEFSHELL (the shell's basename).

* Use shell builtin string manipulation instead of sed to extract
the directory name and basename from $BSHELL.

OK sjg, christos
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 04-Oct-2002  thorpej Check for <poll.h>. If it is not found, -DUSE_SELECT=1.
 1.4 27-Apr-2002  bjh21 Define _PATH_BSHELL to the first "sh" on the PATH when bootstrapping
nbmake. This should remove our dependency on a nobbled /bin/sh on
Solaris.
 1.3 24-Apr-2002  bjh21 Check for the location of sh on the path, and use that to construct the
value for _PATH_DEFSHELLDIR. In theory, _PATH_DEFSHELLDIR will also be
used to find csh, but ".SHELL csh" shouldn't be used anywhere in our source
tree, and this make shouldn't be used for other things.

This should cause nbmake to use the right shell for most purposes when
cross-compiling from Solaris.
 1.2 25-Jan-2002  tv Make util.c replacement functions use autoconf conditionals to probe
what is Really available in the host OS.
 1.1 15-Jan-2002  tv Break out make(1) bootstrap config into an autoconf-based mechanism that
generates a shell script. Check for existence of POSIX regex, and make
sure an appropriate library is pulled in for it as needed.
 1.7.8.1 06-Nov-2007  matt sync with HEAD
 1.9 07-Mar-2011  he This tool now depends on updated target includes in the tools build
for an UPDATE build to succeed; ensure that by including
${.CURDIR}/../Makefile.nbincludes.
 1.8 06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.7 14-May-2003  dbj branches: 1.7.50;
use reachover relative paths in compat include files instead of
symlinking ufs include files into installboot and makefs tool objdirs
reviewed by lukem and thorpej on tech-toolchain
 1.6 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.5 31-May-2002  matt Make Solaris 8 happy: use ln -f -s instead of ln -fs
 1.4 05-Mar-2002  pk branches: 1.4.2;
Make $(OBJS) depend on the ufs headers link.
 1.3 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.2 10-Jan-2002  lukem Symlink ./ufs to ${.CURDIR}/../../sys/ufs, and add -I. to HOST_CPPFLAGS.
This means that <ufs/*/*.h> come from ../../sys/ufs, but other
<sys/*> header files still come from the host system's /usr/include.

This slightly ugly hack to the Makefile means that makefs compiles on
-current and 1.5.x machines (and other systems), without requiring
major code rewrites in sys/ufs/ffs to allow sharing and without
requiring duplication of sys/ufs/ffs* under usr.sbin/makefs.
 1.1 05-Jan-2002  mrg build this as a host tool.
 1.4.2.1 31-May-2002  tv Pull up revision 1.5 (requested by matt in ticket #104):
Make Solaris 8 happy: use ln -f -s instead of ln -fs
 1.7.50.1 08-Feb-2011  bouyer Sync with HEAD
 1.3 01-May-2018  christos Centralize NOMAN handling.
 1.2 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.1 24-Jun-2015  matt branches: 1.1.8; 1.1.14;
Support building the xorg X11 libraries under MKCOMPAT.
Add XORG_MACHINE_ARCH to compat's bsd.*.mk
Turn xorg makekeys and makestrs into real host tools which are installed into
${TOOLSDIR}
 1.1.14.1 02-May-2018  pgoyette Synch with HEAD
 1.1.8.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.1 24-Jun-2015  matt Support building the xorg X11 libraries under MKCOMPAT.
Add XORG_MACHINE_ARCH to compat's bsd.*.mk
Turn xorg makekeys and makestrs into real host tools which are installed into
${TOOLSDIR}
 1.3 14-Jun-2003  wiz Use "nbnroff" instead of "nroff".
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 29-Nov-2001  thorpej Build makewhatis as a host tool, since it is used at the end of
the build.

XXX Needs a -lz hostlib.
 1.16 19-Jun-2025  gutteridge tools/mandoc/Makefile: quote HOST_CC

Addresses PR toolchain/59468 from Sotiris Lamprinidis, who provided the
patch.
 1.15 26-Mar-2025  christos don't define _OPENBSD_SOURCE from the command line; it is defined again
in the generated config.h
 1.14 15-Aug-2018  christos branches: 1.14.12;
Expose re{c,}allocarray decls in current.
 1.13 01-May-2018  christos branches: 1.13.2;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.12 01-May-2018  christos Centralize NOMAN handling.
 1.11 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.10 07-Sep-2017  joerg branches: 1.10.2;
Honor HOST_CC.
 1.9 27-Jan-2016  christos branches: 1.9.8;
clean Makefile.local
 1.8 17-Dec-2015  christos kill -x, files that don't exist anymore
 1.7 16-Jan-2014  christos eliminate use of bsd.sys.mk from Makefiles
 1.6 05-Jan-2014  joerg Update build system and import script for mdocml 1.12.3.
 1.5 20-Feb-2010  joerg branches: 1.5.6; 1.5.12;
Add intermediate files to CLEANFILES. Explicitly include bsd.sys.mk to
ensure that HOST_SH is set, even when e.g. cleandir is used.
Noticed by Nicolas Joly.
 1.4 19-Feb-2010  joerg Update tool version for mdocml 1.9.15.
 1.3 30-Oct-2009  joerg Need to provide NOMAN explicitly before bsd.own.mk.
 1.2 26-Oct-2009  joerg Hard-wire NetBSD major+minor version for the tool version of mandoc.
This gives "NetBSD 5.99" for .Os in -current and "NetBSD 6.0" for the
next release.
 1.1 21-Oct-2009  joerg Build glue for mdocml and for mandoc as standalone tool.
 1.5.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.8.2 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.9.8.1 13-Mar-2018  martin Pull up following revision(s) (requested by hans in ticket #623):
external/bsd/mdocml/dist/configure: revision 1.10
tools/mandoc/Makefile: revision 1.10
Honor HOST_CC.
 1.10.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.10.2.1 02-May-2018  pgoyette Synch with HEAD
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.12.1 02-Aug-2025  perseant Sync with HEAD
 1.19 30-Jun-2024  christos Don't hardcode the binutils subdir
 1.18 30-Jun-2024  christos Adjust for binutils-2.42
 1.17 01-May-2018  christos branches: 1.17.14;
Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.16 01-May-2018  christos Centralize NOMAN handling.
 1.15 01-May-2018  christos PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.14 27-Dec-2017  christos branches: 1.14.2;
Better EXTERNAL_TOOLCHAIN support from Zachary McGrew
- Allow mdsetimage and dbsym to be built with EXTERNAL_TOOLCHAIN
- Allow BFDDIR and IBERTYDIR to be overwritten for mdsetimage and dbsym
 1.13 06-Jan-2017  christos branches: 1.13.6;
handle the case where we don't have the files built yet
 1.12 06-Jan-2017  christos don't run grep if we don't have the Makefile, like when we are building
objdirs
 1.11 01-Feb-2016  christos branches: 1.11.2;
kill error message
 1.10 01-Feb-2016  christos Add -ldl if it is needed
 1.9 31-Oct-2011  mrg branches: 1.9.6;
obsolete now useless (and wrongly set to "219" :-) HAVE_BINUTILS.
switch the sense of the gdb and gcc tests to list the platforms not
switched to gcc 4.5 or gdb 7, which is now:

GCC 4.1:
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_CPU} == "arm" || \
${MACHINE_CPU} == "m68k" || \
${MACHINE_CPU} == "vax"

GDB 6:
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "hppa" || \
${MACHINE_CPU} == "mips" || \
${MACHINE_CPU} == "sh3" || \
${MACHINE_ARCH} == "vax"

let's go, people! (-:
 1.8 27-Oct-2009  tsutsui Use HOST_SRCDIR=external/gpl3/binutils/usr.sbin/foo
in $(HAVE_BINUTILS)=="219" case.
Fixes build failures on Cygwin. (new libbfd depends on libz)

BTW, should we revive old ones under src/usr.sbin for
native dbsym(8)/mdsetimage(8) binaries which don't need libbfd?
 1.7 04-Dec-2003  mrg look for libbfd etc in binutils always now.
 1.6 25-Jul-2003  mrg - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
 1.5 13-Dec-2001  lukem missed a couple of NOMAN= :(
 1.4 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.3 25-Oct-2001  thorpej Avoid some annoying pitfalls of HOST_CPPFLAGS:=... in Makefile.host.
 1.2 24-Oct-2001  thorpej Build a properly target-prefixed cross-tool version of mdsetimage,
using libbfd.
 1.1 21-Oct-2001  jmc Pull in mdsetimage to the tools builds. (XXX - using libbfd here would
probably be preferrable long term).
 1.9.6.1 20-Nov-2012  matt Support building GPL2 versions of binutils, dbsym, gdb, and mdsetimage
 1.11.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.13.6.1 05-May-2018  martin Pull up following revision(s) (requested by christos in ticket #796):

tools/mdsetimage/Makefile: revision 1.15
tools/compat/Makefile: revision 1.82
tools/gdb/Makefile: revision 1.35
tools/lorder/Makefile: revision 1.13
tools/gcc/Makefile: revision 1.85
tools/dtc/Makefile: revision 1.3
tools/cvslatest/Makefile: revision 1.2
tools/ctfmerge/Makefile: revision 1.8
tools/libelf/Makefile: revision 1.9
tools/libdwarf/Makefile: revision 1.8
tools/ctfconvert/Makefile: revision 1.7
tools/makekeys/Makefile: revision 1.2
tools/gettext/Makefile: revision 1.7
tools/binstall/Makefile: revision 1.12
tools/libfdt/Makefile: revision 1.3
tools/libctf/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.27
tools/mandoc/Makefile: revision 1.11
tools/Makefile.host: revision 1.32
tools/dbsym/Makefile: revision 1.13
tools/genassym/Makefile: revision 1.7
tools/Makefile.inc: revision 1.14

PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
first. This will also allow us to control other tools options from a
single location if we need to.

XXX: pullup-8
 1.14.2.1 02-May-2018  pgoyette Synch with HEAD
 1.17.14.1 01-Jul-2024  perseant Sync with HEAD.
 1.6 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.5 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.4 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.3 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.2 18-Oct-2001  jmc Set MKSHARE=no so the real Makefile won't pull in bsd.files.mk
 1.1 13-Oct-2001  jmc Add menuc as a hosted tool
 1.3 03-Sep-2016  christos use the nbcompat copies for those files
 1.2 08-Dec-2002  thorpej branches: 1.2.74;
Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 23-Feb-2002  gmcgarry Add elf2ecoff as a build tool for mips ports.
 1.2.74.1 12-May-2017  snj Pull up following revision(s) (requested by skrll in ticket #1406):
sys/arch/mips/include/ecoff_machdep.h: revision 1.23
sys/sys/exec_ecoff.h: revision 1.21
tools/Makefile.nbincludes: revision 1.5
tools/mips-elf2ecoff/Makefile: revision 1.3
tools/mips-elf2ecoff/machine/ecoff_machdep.h: revision 1.3
tools/mips-elf2ecoff/sys/exec_elf.h: file removal
tools/mips-elf2ecoff/sys/exec_ecoff.h: file removal
usr.bin/elf2ecoff/elf2ecoff.c: revision 1.30-1.33
use the nbcompat copies for those files
--
ignore the abiflags section
--
Add exec_ecoff.h
--
provide ecoff 32 defines.
--
This only works with 32 bit Elf and COFF files, make it specific this way
and use sized types so that it works on 64 bit systems (so it can become
a tool).
--
Provided sized definitions for ecoff 32 bit headers.
--
refresh
--
fix printf format.
--
fix printf format
 1.3 24-Feb-2017  christos refresh
 1.2 23-Mar-2002  bouyer branches: 1.2.76; 1.2.80; 1.2.84;
Use fixed-type in ecoff structures, so that elf2ecoff will produce proper
32bit ecoff when used on LP64 host.
 1.1 23-Feb-2002  gmcgarry Add elf2ecoff as a build tool for mips ports.
 1.2.84.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.80.1 20-Mar-2017  pgoyette Sync with HEAD
 1.2.76.1 12-May-2017  snj Pull up following revision(s) (requested by skrll in ticket #1406):
sys/arch/mips/include/ecoff_machdep.h: revision 1.23
sys/sys/exec_ecoff.h: revision 1.21
tools/Makefile.nbincludes: revision 1.5
tools/mips-elf2ecoff/Makefile: revision 1.3
tools/mips-elf2ecoff/machine/ecoff_machdep.h: revision 1.3
tools/mips-elf2ecoff/sys/exec_elf.h: file removal
tools/mips-elf2ecoff/sys/exec_ecoff.h: file removal
usr.bin/elf2ecoff/elf2ecoff.c: revision 1.30-1.33
use the nbcompat copies for those files
--
ignore the abiflags section
--
Add exec_ecoff.h
--
provide ecoff 32 defines.
--
This only works with 32 bit Elf and COFF files, make it specific this way
and use sized types so that it works on 64 bit systems (so it can become
a tool).
--
Provided sized definitions for ecoff 32 bit headers.
--
refresh
--
fix printf format.
--
fix printf format
 1.1 26-Jun-2003  tshiozak Citrus iconv support(3)
add host tools : mkcsmapper and mkesdb
mkcsmapper - coded character set mapping table compiler
mkesdb - encoding scheme database compiler
 1.8 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.7 10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.6 03-Jan-2002  tv Add more tolerant script-based implementation of mkdep for host tool
compiles. Based loosely on mkdep.old.compiler (so CSRG license copied),
but now uses just one rewrite (awk) process per cpp invocation and
determines the proper way to run cpp and awk via a "configure" script.

Use HOST_MKDEP in bsd.hostlib/hostprog.mk (defaulting to the old override
value of MKDEP), and give it a TOOLDIR equivalent in bsd.own.mk.
 1.5 12-Dec-2001  tv Fix use of @.
 1.4 11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.2 10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.1 03-Jan-2002  tv Add more tolerant script-based implementation of mkdep for host tool
compiles. Based loosely on mkdep.old.compiler (so CSRG license copied),
but now uses just one rewrite (awk) process per cpp invocation and
determines the proper way to run cpp and awk via a "configure" script.

Use HOST_MKDEP in bsd.hostlib/hostprog.mk (defaulting to the old override
value of MKDEP), and give it a TOOLDIR equivalent in bsd.own.mk.
 1.2 10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.1 03-Jan-2002  tv Add more tolerant script-based implementation of mkdep for host tool
compiles. Based loosely on mkdep.old.compiler (so CSRG license copied),
but now uses just one rewrite (awk) process per cpp invocation and
determines the proper way to run cpp and awk via a "configure" script.

Use HOST_MKDEP in bsd.hostlib/hostprog.mk (defaulting to the old override
value of MKDEP), and give it a TOOLDIR equivalent in bsd.own.mk.
 1.3 10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.2 04-Jan-2002  tv Work around some braindamage in our "yacc": its generated #line directives
always name the file "y.tab.c", not what it is really named via "-o".
 1.1 03-Jan-2002  tv Add more tolerant script-based implementation of mkdep for host tool
compiles. Based loosely on mkdep.old.compiler (so CSRG license copied),
but now uses just one rewrite (awk) process per cpp invocation and
determines the proper way to run cpp and awk via a "configure" script.

Use HOST_MKDEP in bsd.hostlib/hostprog.mk (defaulting to the old override
value of MKDEP), and give it a TOOLDIR equivalent in bsd.own.mk.
 1.1 26-Jun-2003  tshiozak Citrus iconv support(3)
add host tools : mkcsmapper and mkesdb
mkcsmapper - coded character set mapping table compiler
mkesdb - encoding scheme database compiler
 1.1 31-May-2024  tsutsui branches: 1.1.4;
Build mkhybrid as a build tool.
 1.1.4.2 03-Jul-2024  martin Pull up following revision(s) (requested by tsutsui in ticket #733):

external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.6
distrib/cdrom/Makefile: revision 1.55
distrib/cdrom/macppc_installboot/Makefile: revision 1.12
external/gpl2/mkhybrid/dist/getopt.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/LEGAL.NOTICE: revision 1.1
external/gpl2/mkhybrid/dist/write.c: revision 1.1
distrib/cdrom/Makefile: revision 1.56
distrib/cdrom/macppc_installboot/Makefile: revision 1.13
distrib/cdrom/macppc_installboot/installboot.c: revision 1.6
external/gpl2/mkhybrid/dist/getopt.c: revision 1.3
external/gpl2/mkhybrid/dist/write.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/data.h: revision 1.1
distrib/cdrom/Makefile: revision 1.57
distrib/cdrom/macppc_installboot/Makefile: revision 1.14
distrib/cdrom/macppc_installboot/installboot.c: revision 1.7
tools/Makefile: revision 1.221
tools/Makefile: revision 1.222
external/gpl2/mkhybrid/dist/libhfs_iso/file.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/README: revision 1.1
distrib/macppc/Makefile: revision 1.18
external/gpl2/mkhybrid/dist/TODO: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/record.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.2
external/gpl2/mkhybrid/dist/volume.c: revision 1.1
external/gpl2/mkhybrid/dist/volume.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/internal.h: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.2
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.3
external/gpl2/mkhybrid/dist/README.mkisofs: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hybrid.h: revision 1.1
tools/mkhybrid/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_magic: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.1
external/gpl2/mkhybrid/dist/include/prototyp.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.1
external/gpl2/mkhybrid/dist/desktop.c: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.2
external/gpl2/mkhybrid/dist/desktop.c: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.4
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.5
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.6
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.7
external/gpl2/mkhybrid/dist/getopt.h: revision 1.1
distrib/cdrom/macppc_installboot/installboot.h: revision 1.5
etc/etc.mac68k/Makefile.inc: revision 1.25
external/gpl2/mkhybrid/dist/getopt.h: revision 1.2
external/gpl2/mkhybrid/dist/write.h: revision 1.1
etc/etc.mac68k/Makefile.inc: revision 1.26
external/gpl2/mkhybrid/dist/rock.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/record.h: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_boot: revision 1.1
external/gpl2/mkhybrid/dist/README: revision 1.1
external/gpl2/mkhybrid/dist/README.win32: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.1
external/gpl2/mkhybrid/dist/config.h.in: revision 1.2
distrib/cdrom/boothfs.uue: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.3
external/gpl2/mkhybrid/dist/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/volume.h: revision 1.2
external/gpl2/mkhybrid/dist/ChangeLog: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.2
external/gpl2/mkhybrid/dist/mapping: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/include/statdefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/Makefile: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.2
external/gpl2/mkhybrid/dist/magic: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/node.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.3
external/gpl2/mkhybrid/dist/acconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/eltorito.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/patchlevel.h: revision 1.1
share/mk/bsd.own.mk: revision 1.1375
share/mk/bsd.own.mk: revision 1.1376
external/gpl2/mkhybrid/dist/README.session: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.2
tools/macppc_installboot/Makefile: revision 1.1
external/gpl2/mkhybrid/README.md: revision 1.1
etc/etc.macppc/Makefile.inc: revision 1.13
external/gpl2/mkhybrid/dist/defaults.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.spec: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.h: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.3
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.2
external/gpl2/mkhybrid/dist/libfile/proto.h: revision 1.1
external/gpl2/mkhybrid/dist/COPYING: revision 1.1
external/gpl2/mkhybrid/dist/name.c: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.2
external/gpl2/mkhybrid/dist/mac_label_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.c: revision 1.1
distrib/cdrom/macppc_mkboothfs/mkboothfs.c: revision 1.4
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.c: revision 1.1
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.5
external/gpl2/mkhybrid/dist/config.h: revision 1.1
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.2
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.6
external/gpl2/mkhybrid/dist/config.h: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/node.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/data.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/file.c: revision 1.1
external/gpl2/mkhybrid/dist/README.eltorito: revision 1.1
external/gpl2/mkhybrid/dist/include/fctldefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libfile/README: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.c: revision 1.1
external/gpl2/mkhybrid/dist/mactypes.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.2
external/gpl2/mkhybrid/dist/multi.c: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.1
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/lvolume.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.2
external/gpl2/mkhybrid/dist/configure: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.2
external/gpl2/mkhybrid/dist/install-sh: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.3
distrib/cdrom/macppc_installboot/cd9660.c: file removal
external/gpl2/mkhybrid/dist/README.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/ChangeLog.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/iso9660.h: revision 1.1
external/gpl2/mkhybrid/dist/joliet.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.2
external/gpl2/mkhybrid/dist/apple.c: revision 1.3
etc/Makefile: revision 1.471
external/gpl2/mkhybrid/dist/apple.c: revision 1.4
external/gpl2/mkhybrid/dist/tree.c: revision 1.1
etc/Makefile: revision 1.472
external/gpl2/mkhybrid/dist/tree.c: revision 1.2
external/gpl2/mkhybrid/dist/tree.c: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.8: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.4
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.5
distrib/cdrom/Makefile: revision 1.54
external/gpl2/mkhybrid/dist/getopt.c: revision 1.1

Add -data-change-warn to MKISOFS_ARGS for macppc as done for mac68k:
https://mail-index.netbsd.org/source-changes/2023/05/19/msg144826.html

Creating Type&Creator mappings for .bin (macbinary encoded) files,
mkisofs changes files, then turns around and complains they have been
changed.
This is a self-inflicted wound, so demote the error to a warning.
This looks to make macppccd builds with cdrtools-3.02a10.
Sync with src/usr.sbin/installboot/cd9660.c:
- include now properly updated cd9660_extern.h for function prototypes
and remove them from local installboot.h
- use ISO_MAXNAMLEN rather than (BSD specific and incorrect) MAXNAMLEN
- use proper names for the secondary boot file
- appease several pointer signedness warnings (not fatal on HOST tools)
Use native cd9660 blocksize to specify block numbers in cd9660.c.
This reduces diffs from src/usr.sbin/installboot/cd9660.c.
Also explicitly call cd9660_match() to get fstype->blocksize properly.
Pull sharable src/usr.sbin/installboot/cd9660.c.
Import mkhybrid from OpenBSD 7.3 to create ISO9660/HFS hybrid ISO images.
- files in libfile except proto.h prepared by OpenBSD are not imported
due to non-standard license
(newer BSD Licensed versions will be imported later)
- unnecessary files for tools build are not imported
- RCSId strings are trimmed to avoid unintended substitutions
Proposed on tech-toolchain@:
https://mail-index.netbsd.org/tech-toolchain/2024/05/25/msg004355.html

Import BSD licensed libfile for mkhybrid builds from cdrtools-3.01.
- unnecessary files for tools build are not imported
- file.c is renamed to lfile.c to avoid conflict with libhfs_iso
- RCSId strings are trimmed
Remove dependencies on non-existent exclude.h.
Pull changes from mkisofs-1.12.1 to avoid statvfs(2).
Make newer BSD Licensed libfile sources build as tools.
Update mkhybrid Makefile for NetBSD's tools builds.
Suppress implicit declaration warnings.
Appease discard-const warnings.
Remove duplicated SYSTEM_ID_DEFAULT definitions.
Don't redefine SYSTEM_ID_DEFAULT if it's specified in CPPFLAGS.
Remove ancient rlimit hacks for NetBSD disabled in cdrtools-2.01.
Always use local getopt.h as cdrtools-2.01 did.
Tweak and regen configure using autoconf-2.13 to use pkgsrc tools.
Check <stdlib.h> and <flock.h> in configure and regen config.h.
Use HAVE_CONFIG_H to include <stdlib.h> and <string.h> in getopt sources.
Appease more warnings and remove unused getopt functions.
Pull options -hide-joliet-trans-tbl and -hide-rr-moved from mkisofs-1.13.
Pull -graft-points option from mkisofs-1.13 and cdrtools-2.01.
Also remove #ifdef APPLE_HYB for NON-HFS changes to reduce diffs.
Tweak OPTION_* definitions to reduce diffs from mkisofs-1.13.
Pull malloc related fixes from cdrtools-2.01.
This seems to fix SIGSEGV during free(3) in write.c:write_one_file().
Build mkhybrid as a build tool.
Build mac68k and macppc iso images using tools/mkhybrid.
Drop -data-change-warn from MKISOFS_FLAGS.
It's available only on cdrtools-3.x and later.
Use tools/mkhybrid as MKISOFS for mac68k and future macppc.
Note about current status.
Also pull man page description of options pulled from mkisofs-1.13.
Don't print progress if -quiet is specfied as cdrtools-2.01 and later.
Exclude debug.tgz and xdebug.tgz from mac68k ISO to save ~320MB.
Drop -T (for non-Rock Ridge capable systems) from ${MKISOFS_FLAGS}.
Even old mac68k and macppc don't require it, and somehow TRANS.TBL
files are shown on NetBSD when the ISO images created with both -T
and and -hide-joliet-trans-tbl are mounted by mount_cd9660(8).
Note this also happens with mkisofs(8) from cdrtools-3.02,
but I have not investigated if it's expected behavior.
Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.
Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
Make sure NetBSD_BootBlock partition has 32KB to avoid extra padding.
It looks at least OpenFirmware 2.x fails to load the primary bootloader
in the NetBSD_BootBlock partition if the partition size is too small,
probably because OpenFirmware read() function implicitly uses 32KB blocks.
Build macppc iso with TOOL_MKHYBRID via "iso-image" target in src/etc.
No need to check and redefine C89 strerror(3) and strtoul(3).
Fixes build error on MacOS 10.4 with Xcode 2.5.
 1.1.4.1 31-May-2024  martin file Makefile was added on branch netbsd-10 on 2024-07-03 18:38:54 +0000
 1.7 18-Mar-2011  tsutsui tools/mklocale has not required ctype_bits.h since the following fix:
http://mail-index.NetBSD.org/source-changes/2010/06/20/msg011122.html

Tested build.sh tools on CentOS 5.
 1.6 19-Jun-2010  riz Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.5 19-Jun-2010  riz mklocale now requires <sys/ctype_bits.h> to build, so install it
under ${TOOLDIR} when building as a host tool.

XXX Makefile.disklabel is clearly mis-named. I'll deal with that
shortly.
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 20-Oct-2001  jmc Add mklocale to cross-tools and turn it back on for the builds.
 1.1 27-Oct-2003  lukem add mknod as a host tool
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Sep-2002  thorpej branches: 1.3.2;
Re-add mktemp as a host tool; it is used in more places than Ben
thought.
 1.2 01-Apr-2002  bjh21 On second thoughts, don't make mktemp a host tool. It's only used once, for
creating a temporary directory for maketars, and mkdir can do that safely
enough.
 1.1 31-Mar-2002  bjh21 Add mktemp as a host tool.
 1.3.2.2 30-Nov-2002  he Pull up revision 1.3 (requested by thorpej in ticket #804):
Re-add mktemp as a host tool.
 1.3.2.1 14-Sep-2002  he file Makefile was added on branch netbsd-1-6 on 2002-11-30 14:37:15 +0000
 1.1 18-Jun-2010  jmcneill branches: 1.1.4; 1.1.8;
hook mkubootimage into the build
 1.1.8.2 26-Jul-2011  matt Add mkubootimage from -HEAD
 1.1.8.1 18-Jun-2010  matt file Makefile was added on branch matt-nb5-pq3 on 2011-07-26 02:57:30 +0000
 1.1.4.2 20-May-2011  matt Backport mkubootimage from -current
 1.1.4.1 18-Jun-2010  matt file Makefile was added on branch matt-nb5-mips64 on 2011-05-20 15:05:11 +0000
 1.3 28-Nov-2013  mrg update to MPC 1.0.1.
 1.2 15-Apr-2012  mrg branches: 1.2.2;
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.1 20-Jun-2011  mrg branches: 1.1.2; 1.1.4;
tools build framework for gmp, mpfr and mpc. from chuq.
 1.1.4.1 07-May-2012  riz Pull up following revision(s) (requested by mrg in ticket #207):
tools/gmp/Makefile: revision 1.2
tools/mpfr/Makefile: revision 1.2
tools/file/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.22
tools/mpc/Makefile: revision 1.2
force ac_cv_path_mkdir to be set to nbinstall -d. this will avoid
gmp/configure from trying to use its install-sh for mkdir -p, and
should fix sourcesets created tarball builds.
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.1.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.2.1 17-Apr-2012  yamt sync with head
 1.2.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2 15-Apr-2012  mrg force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.1 20-Jun-2011  mrg branches: 1.1.2; 1.1.4;
tools build framework for gmp, mpfr and mpc. from chuq.
 1.1.4.1 07-May-2012  riz Pull up following revision(s) (requested by mrg in ticket #207):
tools/gmp/Makefile: revision 1.2
tools/mpfr/Makefile: revision 1.2
tools/file/Makefile: revision 1.7
tools/binutils/Makefile: revision 1.22
tools/mpc/Makefile: revision 1.2
force ac_cv_path_mkdir to be set to nbinstall -d. this will avoid
gmp/configure from trying to use its install-sh for mkdir -p, and
should fix sourcesets created tarball builds.
force set ac_cv_mkdir_path to our install -d program.
fixes the remaining issues with 'sourcesets' and 'tools'.
 1.1.2.1 17-Apr-2012  yamt sync with head
 1.6 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.5 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.4 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.3 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.2 18-Oct-2001  jmc Set MKSHARE=no so the real Makefile won't pull in bsd.files.mk
 1.1 13-Oct-2001  jmc Add msgc as a hosted tool
 1.7 06-Feb-2013  christos Don't create a crippled mtree with no hashes. We have hash support in
libcompat, use it. If that breaks cross-compilation, we'll fix it.
 1.6 26-Aug-2005  elad branches: 1.6.42; 1.6.48;
Tools can't use SHA2. Noted by Geoff Wing.
 1.5 08-Dec-2002  thorpej branches: 1.5.6;
Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.4 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.3 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.2 11-Nov-2001  jmc Turn on defines to disable all the hashing functions. We don't need these for
the build and some systems won't have all the routines.
 1.1 09-Oct-2001  enami Make mtree a host tool and use it when appropriate.
 1.5.6.1 12-Sep-2005  tron Apply patch (requested by elad in ticket #755):
Add support for SHA2 in mtree(8).
 1.6.48.1 25-Feb-2013  tls resync with head
 1.6.42.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1 06-May-2021  rin PR port-mvme68k/56146

Build wrtvid as tools.
 1.3 01-Nov-2011  joerg Hook up nbperf into the normal tool build.
 1.2 03-Feb-2010  roy Store our generated files in CVS and remove nbperf from the toolchain.
This allows us to build consistent libs without an ever changing hash.
 1.1 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 25-Jan-2002  lukem build pax as a host tool, for -N and to work around borken vendor paxes
 1.5 19-Jun-2010  riz Rename Makefile.disklabel to Makefile.nbincludes, as this file has
been used by more than disklabel for years. New name suggestion from
mrg@ .
 1.4 30-Jan-2007  dogcow paxctl got moved to usr.sbin, it seems.
 1.3 22-Nov-2006  riz branches: 1.3.2;
Add the nbinclude directory to the include path, so that
<hppa/elf_machdep.h> (and possibly others) can be found.
 1.2 22-Nov-2006  riz Make sys/exec_elf.h and machine/elf_machdep.h available to host
tools, and allow paxctl to use them when compiled as a host
tool. This fixes the build on MacOS X (and perhaps other platforms)
 1.1 10-Nov-2006  christos Add paxctl as a tool.
 1.3.2.1 07-Feb-2007  tron Pull up following revision(s) (requested by elad in ticket #396):
tools/paxctl/Makefile: revision 1.4
paxctl got moved to usr.sbin, it seems.
 1.3 30-Mar-2016  riastradh Disable stripping pcc tool.

We don't have a tool that strips tools -- we have only a tool that
strips target programs. $TOOLDIR/bin/$PLATFORM-install supports -s
by invoking the target-stripping tool, which chokes if you try to use
it to strip tools on a sufficiently different cross build. So let's
just not strip the pcc tool -- it's tiny enough that I'm not worried
about its unstripped size!
 1.2 13-Jun-2011  plunky because we use --sysroot, force the default paths to be normal

while here, enable tls support
 1.1 24-Aug-2008  gmcgarry branches: 1.1.2; 1.1.20;
Build pcc as host tool if requested.
 1.1.20.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.1.2.1 24-Aug-2008  wrstuden file Makefile was added on branch wrstuden-revivesa on 2008-09-18 04:37:35 +0000
 1.1 18-Jun-2010  mrg add support to build pigz as a host tool.

still missing:
- TOOL_PIGZ
- support to use it instead of the host's "gzip"
 1.2 12-Jan-2020  christos make this compile.
 1.1 01-Dec-2009  uebayasi branches: 1.1.46;
Add pkg_install as a tool.
 1.1.46.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3 17-Jan-2020  christos don't try to include the library if we are building it.
 1.2 12-Jan-2020  christos make this compile.
 1.1 01-Dec-2009  uebayasi branches: 1.1.46;
Add pkg_install as a tool.
 1.1.46.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 13-Jan-2020  christos branches: 1.2.4;
use the host compiler
 1.1 12-Jan-2020  christos add Makefile
 1.2.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.1 13-Jan-2020  martin file Makefile was added on branch phil-wifi on 2020-04-13 08:05:40 +0000
 1.2 12-Jan-2020  christos make this compile.
 1.1 01-Dec-2009  uebayasi branches: 1.1.46;
Add pkg_install as a tool.
 1.1.46.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 12-Jan-2020  christos make this compile.
 1.1 01-Dec-2009  uebayasi branches: 1.1.46;
Add pkg_install as a tool.
 1.1.46.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 12-Jan-2020  christos make this compile.
 1.1 01-Dec-2009  uebayasi branches: 1.1.46;
Add pkg_install as a tool.
 1.1.46.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 12-Jan-2020  christos make this compile.
 1.1 01-Dec-2009  uebayasi branches: 1.1.46;
Add pkg_install as a tool.
 1.1.46.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 12-Jan-2020  christos make this compile.
 1.1 01-Dec-2009  uebayasi branches: 1.1.46;
Add pkg_install as a tool.
 1.1.46.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1 30-Apr-2008  garbled branches: 1.1.4;
Convert prep to use the new unified mkbootimage rather than it's own. This
mkbootimage can be shared by prep, rs6000, and bebox.

TODO: Convert bebox to use this. Needs someone to test.
 1.1.4.2 18-May-2008  yamt sync with head.
 1.1.4.1 30-Apr-2008  yamt file Makefile was added on branch yamt-pf42 on 2008-05-18 12:36:04 +0000
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 07-Dec-2001  jmc Add pwd_mkdb as a toolchain bit for builds
 1.6 22-Jun-2019  hannken Update tools/compat/configure for new path of "rpc/types.h".

Remove intermediate patch from rpcgen/Makefile.

Patch from Nick Hudson, errors from me.
 1.5 21-Jun-2019  kamil Instruct tools/rpcgen about new path for rpc headers

Fixes build on Gentoo.
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.1 18-Jun-2006  gdamore Make TOOL_SED, to allow using our own sed in cases where the host's version
is busted in some way.

The TOOL_SED doesn't use TIOCGWINSIZE, and has some changes to include
nbtool_config.h in a cross build environment.

Combined with some other changes (not yet committed), this allows cross
compiling m68k code on Solaris 10/amd64.
 1.2 30-Dec-2003  jmc Add ID line
 1.1 08-Nov-2003  sekiya Build sgivol as a host tool.
 1.1 14-Apr-2011  elric Tool for slc, a command built during the Heimdal build.
 1.1 18-Dec-2015  christos Add sortinfo
 1.1 08-Jun-2004  abs branches: 1.1.2;
Add sparkcrc (used to generate checksums for acorn32 bootloader sparkive)
as a host tool.
 1.1.2.2 17-Jun-2004  tron Pull up revision 1.1 (requested by abs in ticket #497):
Add sparkcrc (used to generate checksums for acorn32 bootloader sparkive)
as a host tool.
 1.1.2.1 08-Jun-2004  tron file Makefile was added on branch netbsd-2-0 on 2004-06-17 08:06:25 +0000
 1.1 20-Jul-2003  lukem add stat(1) as a host tool
 1.1 26-Sep-2008  apb Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
 1.5 18-Sep-2021  christos Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.4 12-Nov-2003  matt Don't use TERMCAP if host tool.
 1.3 27-Jan-2003  uwe Build with -DNO_S_COMMAND. We don't need to set the in-core label
when we are a host tool. This avoids a conflict with inline dkcksum()
in FreeBSD's <sys/disklabel.h>.
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 10-Jan-2002  mrg branches: 1.1.2;
build sunlabel as a host tool (not enabled in tools/Makefile yet)
 1.1.2.1 16-Jun-2004  jmc Pull in some fixes from trunk so this compiles on non-NetBSD hosts. Found
during fixes for PR#24481
 1.11 14-Jun-2013  tsutsui Invoke tools/binstall/mkmanifest for Cygwin via ${HOST_SH}.
Fixes builds using source sets that drop executable bits.
 1.10 17-Feb-2013  christos Arrange for manifest
 1.9 08-Dec-2002  thorpej branches: 1.9.54; 1.9.60;
Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.8 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.7 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.6 31-Oct-2001  tv * Always descend into "tools" regardless of USETOOLS setting. Instead,
just don't build the tools if USETOOLS!=yes. This permits objdirs to
be created even when USETOOLS=no.

* Clean up use of "-m" by specifying it to .MAKEFLAGS: if needed.
 1.5 19-Oct-2001  tv Set TEXINFO_MAINT to an empty string when configuring texinfo, so that
the doc rebuilding (doc/help2man), which requires perl, is not invoked.
 1.4 08-Oct-2001  tv Prevent parallelism problemswhen recursing into the GNU makefiles by
disabling parallelism in those builds.
 1.3 08-Oct-2001  tv Move the setting of DESTDIR from the environment to the command line, deals
with DESTDIR being set on the command line at the top level (as per MAKEFLAGS
propagation in newer make(1) sources).
 1.2 04-Oct-2001  tv Clear DESTDIR from the environment when invoking make on the toolchain's
GNU makefiles. Some of these tools are (amazingly) DESTDIR aware, but
we don't want that handling for host tools.

Fixes PR bin/14079.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.9.60.2 23-Jun-2013  tls resync from head
 1.9.60.1 25-Feb-2013  tls resync with head
 1.9.54.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6 05-Apr-2020  roy tools: Build tic with full fat terminfo
 1.5 02-Nov-2011  christos branches: 1.5.40;
Handle auto-generating hash.c
 1.4 22-Feb-2010  roy branches: 1.4.6;
libterminfo can now compile a single terminfo description which allows
$TERMINFO to be a terminfo description as well as a file reference.

This enables the user to modify the terminfo description on read-only
media.
 1.3 20-Feb-2010  roy Use HOST_SRCS instead of adding to SRCS for hash.c
 1.2 20-Feb-2010  roy Use the pre-built hash table.
 1.1 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.4.6.1 10-Nov-2011  yamt sync with head
 1.5.40.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.4 18-Sep-2021  christos Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.3 24-Sep-2006  dbj implement HOST_CPPFLAGS+= -DNO_BASE64
this fixes cross compiling
 1.2 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.1 31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.1 23-Oct-2024  kalvisd Add mopcopy as a build tool for the VAX port.

OK rin@
 1.2 20-Dec-2006  agc Fixes to allow veriexecgen to be built as a host tool.
 1.1 19-Dec-2006  agc Build veriexecgen as a host tool
 1.4 18-Sep-2021  christos Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.3 17-May-2019  nakayama Use ${_TOOL_PREFIX} instead of hardcoding "nb" for consistency.
 1.2 15-Jul-2014  christos branches: 1.2.2; 1.2.6; 1.2.28;
use host rules for files.
 1.1 15-Jul-2014  christos build glue
 1.2.28.1 10-Jun-2019  christos Sync with HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 15-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:04:56 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 15-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 06:57:47 +0000
 1.1 12-Apr-2025  rin branches: 1.1.2;
tools: Add what(1); not mandatory, but provides good diagnostics
 1.1.2.2 14-Apr-2025  martin Pull up following revision(s) (requested by rin in ticket #1096):

tools/what/Makefile: revision 1.1
external/cddl/osnet/usr.bin/ctfdump/Makefile: revision 1.10
tools/ctfmerge/Makefile: revision 1.13
tools/Makefile: revision 1.228
tools/Makefile: revision 1.229
tools/Makefile.ctftools: revision 1.1
usr.bin/what/what.c: revision 1.16
tools/Makefile: revision 1.230
tools/ctfconvert/Makefile: revision 1.12
tools/ctfdump/Makefile: revision 1.1
external/cddl/osnet/dist/tools/ctf/dump/dump.c: revision 1.3
external/cddl/osnet/dist/tools/ctf/common/utils.c: revision 1.2
(all via patch)

tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.
Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.

tools: Add what(1); not mandatory, but provides good diagnostics

tools/Makefile: Add missing `\` for previous
 1.1.2.1 12-Apr-2025  martin file Makefile was added on branch netbsd-10 on 2025-04-14 09:58:17 +0000
 1.2 19-Nov-2018  aymeric branches: 1.2.2;
Prepend ${_TOOL_PREFIX} to xz, too.
 1.1 25-Sep-2018  joerg branches: 1.1.2;
Update build glue for xz-5.2.4. Hook up tools version.
 1.1.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 25-Sep-2018  pgoyette file Makefile was added on branch pgoyette-compat on 2018-09-30 01:45:59 +0000
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 19-Nov-2018  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:16 +0000
 1.4 18-Sep-2021  christos Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
 1.3 13-Jun-2020  lukem tools: configure --silent if MAKEVERBOSE == 0
 1.2 25-Sep-2018  joerg branches: 1.2.2; 1.2.4;
Don't include NLS for the tools build of xz.
 1.1 25-Sep-2018  joerg Update build glue for xz-5.2.4. Hook up tools version.
 1.2.4.2 10-Jun-2019  christos Sync with HEAD
 1.2.4.1 25-Sep-2018  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:16 +0000
 1.2.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.2.1 25-Sep-2018  pgoyette file Makefile was added on branch pgoyette-compat on 2018-09-30 01:45:59 +0000
 1.3 02-Jun-2023  lukem tools: use NONLS= not MKNLS=no
 1.2 25-Sep-2018  riz branches: 1.2.2; 1.2.4;
Add CPPFLAGS+= -std=c99 so tools can build on systems where the
system compiler doesn't default to C99 (eg, NetBSD 6.1).
 1.1 25-Sep-2018  joerg Add missing Makefile.inc for xz tools.
 1.2.4.2 10-Jun-2019  christos Sync with HEAD
 1.2.4.1 25-Sep-2018  christos file Makefile.inc was added on branch phil-wifi on 2019-06-10 22:10:16 +0000
 1.2.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.2.1 25-Sep-2018  pgoyette file Makefile.inc was added on branch pgoyette-compat on 2018-09-30 01:45:59 +0000
 1.1 25-Sep-2018  joerg branches: 1.1.2; 1.1.4;
Update build glue for xz-5.2.4. Hook up tools version.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 25-Sep-2018  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:17 +0000
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 25-Sep-2018  pgoyette file Makefile was added on branch pgoyette-compat on 2018-09-30 01:45:59 +0000
 1.5 29-Oct-2009  christos use new yacc
 1.4 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.3 14-Nov-2001  tv Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
 1.2 12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.1 14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.7 29-Oct-2022  christos don't require gettext
 1.6 03-Mar-2011  nakayama Fix build on Solaris 10.
 1.5 07-Mar-2010  hans branches: 1.5.2;
Fix build on Solaris. "seems reasonable" by joerg.
 1.4 02-Jan-2010  tsutsui Include "nbtool_config.h" for src/tools/zic/ and
remove bogus -DNOID to disable __RCSID().

XXX: should we also remove #ifndef lint from scheck.c and zic.c?
 1.3 08-Dec-2002  thorpej Centralize the definition of the tool name prefix (i.e. "nb") into
bsd.own.mk, as the _TOOL_PREFIX variable.
 1.2 31-Jan-2002  tv Define NOID to eliminate the rcsid.
 1.1 05-Jan-2002  mrg build zic as a host tool.
 1.5.2.1 05-Mar-2011  bouyer Sync with HEAD

RSS XML Feed