History log of /src/tools/gcc/
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
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.


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: netbsd-10-base
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


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
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..


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
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


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609
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


Revision tags: pgoyette-compat-20190127
1.88 19-Jan-2019 mrg

obsolete gcc 5 support.
add gcc 7 support. call it "nb1 20190119"


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
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.


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502
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


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
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().


Revision tags: pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
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


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
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.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
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


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
1.57 18-Jul-2013 matt

m68k doesn't support with-float=soft


Revision tags: riastradh-drm2-base
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.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
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.


Revision tags: yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
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@


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
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.


Revision tags: cherry-xenmp-base
1.35 24-Mar-2011 joerg

branches: 1.35.2;
Enable support for --sysroot in binutils and gcc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
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.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
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


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base
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.


Revision tags: matt-mips64-base2
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.


Revision tags: mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
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.


Revision tags: matt-mips64-base
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


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 netbsd-4-base
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.


Revision tags: abandoned-netbsd-4-base
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.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
1.24 21-Jul-2025 mrg

add a note about "isl".


Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
1.23 30-Sep-2019 mrg

branches: 1.23.10;
remove HAVE_GCC == 6 support, add HAVE_GCC == 8 support


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.)


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base
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.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
1.20 14-Jun-2014 mrg

remove remaining makefile support for GCC < 45 that i found.


Revision tags: yamt-pagecache-base9
1.19 22-Apr-2014 joerg

Retire USE_COMPILERCRTSTUFF=yes.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
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


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
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.


Revision tags: agc-symver-base yamt-pagecache-base8
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.


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
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)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
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.


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-premerge-20091211
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}.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base netbsd-4-base
1.6 23-Aug-2006 mrg

point out the GCC4 dirs not the GCC3 dirs.


Revision tags: abandoned-netbsd-4-base
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)


Revision tags: netbsd-3-0-3-RELEASE netbsd-3-0-2-RELEASE netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
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.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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
1.28 21-Jul-2025 mrg

call our GCC 12.5 "nb1 20250721".


Revision tags: perseant-exfatfs-base-20240630
1.27 30-Jun-2024 mrg

update netbsd gcc version/date.


Revision tags: perseant-exfatfs-base
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.


Revision tags: netbsd-10-base
1.22 23-Jul-2022 mrg

branches: 1.22.2;
bump the netbsd version GCC to yesterday's date.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
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.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
1.18 11-Mar-2020 mrg

update date for GCC 8.4.0 import.


Revision tags: is-mlppp-base phil-wifi-20191119
1.17 30-Sep-2019 mrg

remove HAVE_GCC == 6 support, add HAVE_GCC == 8 support


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609
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.


Revision tags: pgoyette-compat-20190127
1.13 19-Jan-2019 mrg

obsolete gcc 5 support.
add gcc 7 support. call it "nb1 20190119"


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
1.12 11-Nov-2018 mrg

our GCC 6.5 is "nb4 20181109".


Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
1.11 05-Sep-2018 mrg

remove GCC 5 marker. this is now nb3 20180905.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330
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".


Revision tags: pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.


Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
1.7 22-Feb-2017 maya

branches: 1.7.4;
GC more gcc 4.8 specific (dead) logic


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
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.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
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.)


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
1.1 09-Aug-2023 christos

jump through hoops to make the native build find gmp for gdb.


1.122 29-Oct-2025 mrg

pullout parts of libbacktrace for libstdc++.


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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
1.118 21-Feb-2024 mrg

branches: 1.118.4;
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.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
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.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
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.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
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.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609
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


Revision tags: pgoyette-compat-20190127
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


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
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.)


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
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.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
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.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
1.79 29-May-2014 skrll

Don't grab libstdc++-v3/config.h it's not used.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
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


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
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


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
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.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
1.66 10-Jan-2012 skrll

Fix bootstrap-libgcc for gcc 4.5


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
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.


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
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.


Revision tags: matt-premerge-20091211
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.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2
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.


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
1.23 08-Feb-2008 skrll

Collect the libobjc config.h


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base
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


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
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.


Revision tags: netbsd-2-0-base
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.13 13-Nov-2025 mrg

pullout libbacktrace stuff for gcc 12 libstdc++ as well.


1.12 16-Sep-2025 mrg

adjust these so mknative-gcc.old is for gcc 12 and mknative-gcc
is for gcc 14.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
1.11 28-Jul-2023 mrg

gcc 10 is now in gcc.old, make mknative-gcc.old gcc-10 happy.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
1.6 05-Sep-2018 mrg

copy across GCC 6.4 mknative-gcc into mknative-gcc.old.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
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.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 tls-maxphys-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
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.


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base tls-maxphys-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422
1.16 15-Apr-2018 christos

fix the variable name for then non-gmake case.


Revision tags: pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
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.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base hpcarm-cleanup-base
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.


Revision tags: abandoned-netbsd-4-base netbsd-4-base
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()


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
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


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
1.1 27-Nov-2003 mrg

common part of mknative