Commit Graph

243 Commits

Author SHA1 Message Date
mrg 7f2f931bcb bump the netbsd version GCC to yesterday's date. 2022-07-23 19:01:18 +00:00
mrg 7e76252b1d 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.
2022-07-22 06:50:26 +00:00
christos a043955316 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
2021-09-18 01:47:07 +00:00
mrg 5399f8db9c fetch experimental_headers, experimental_bits_headers, and ext_host_headers
to install install experimental/* and ext/opt_random.h.
2021-08-16 06:25:45 +00:00
christos cc3abd3a65 Disable again initfini; breaks some archs and not worth dealing with when
we have both gcc's active in the tree.
2021-05-08 19:36:28 +00:00
christos 6bf278a2a9 enable initfini-array since all platforms support it. 2021-05-07 23:00:04 +00:00
mrg c30145c84d add a netbsd version for GCC 10. properly generate omp-device-properties.h. 2021-04-11 23:55:47 +00:00
mrg 8aa3f3d2d3 fetch omp-device-properties.h and don't try to fetch sanitizer
stuff automatically yet.
2021-04-11 07:35:45 +00:00
mrg d369354e2d make mknative-gcc.old for GCC 9. begin to update mknative-gcc for GCC 10. 2021-04-11 01:44:14 +00:00
mrg d875c5372c more consolidation and properly condition all variables like previously. 2020-09-09 07:12:04 +00:00
mrg ca7ab82162 consolidate a bunch of libstdc++ variable collection. 2020-09-09 04:52:32 +00:00
mrg d841008ee6 oops, pull out the value of pstl_headers. 2020-09-08 19:17:24 +00:00
mrg 006c30bace 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.)
2020-09-06 21:59:33 +00:00
mrg 6e26327fd8 pass down earm* not earmv5* to mknative-gcc. 2020-09-06 02:24:38 +00:00
mrg ecb0fdec1f 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".
2020-09-05 10:58:08 +00:00
mrg ef2e34874f pull out a few more things for GCC 9. 2020-09-05 09:49:32 +00:00
mrg 6df74746d4 port to GCC 9.3. 2020-09-05 09:16:46 +00:00
mrg d1531a5681 set MODULE to ${EXTERNAL_GCC_SUBDIR} so this actually works.. 2020-08-13 10:57:53 +00:00
mrg 802242f985 set _OUTDIRBASE depending on $0, and then set _OUTDIR based on this.
now you can copy mknative-gcc to mknative-gcc.old without edit.
2020-08-13 01:52:37 +00:00
mrg 5e4a6425f4 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.
2020-08-12 08:53:20 +00:00
mrg 1956332deb update GCC 7 version to nb4 20200810, and fix the unknown GCC version
error assignment from "=?" to "?=" so it works as designed.
2020-08-11 09:51:57 +00:00
mrg e94febb36e update date for GCC 8.4.0 import. 2020-03-11 10:07:01 +00:00
mrg 500cd05674 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.
2019-11-06 07:26:31 +00:00
christos eba0817981 arm needs more files 2019-10-24 03:19:14 +00:00
mrg 55a26eb0f8 copy arm-cpu.h and arm-isa.h for arm platforms. 2019-10-16 06:57:24 +00:00
mrg 647857abb4 remove HAVE_GCC == 6 support, add HAVE_GCC == 8 support 2019-09-30 08:40:20 +00:00
maya da2c419ac4 Fix bugurl. PR toolchain/48712 2019-09-09 13:57:13 +00:00
mrg e5309b49fe 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.
2019-03-20 05:09:26 +00:00
mrg 44d3eb23e0 enable the workarounds for cortex a53 errata 835769 and 843419 by default. 2019-03-19 05:55:00 +00:00
mrg 58612d4540 also bump the X in "nbX" with previous 2019-02-27 09:11:01 +00:00
mrg 194a5ab70b bump netbsd gcc version date. 2019-02-27 09:10:38 +00:00
christos 5a888a1653 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
2019-02-26 21:09:18 +00:00
mrg c8eaee5359 pull out libstdc++ config.h as-is, for gnu.ver processing.
pull out the cxx11_sources and cxx98_sources values to avoid hard coding.
2019-02-23 06:54:45 +00:00
mrg f1ac420a3d 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.
2019-02-17 00:22:53 +00:00
mrg bbaa4a4045 - 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.
2019-02-09 03:57:00 +00:00
mrg 8d23280937 common-target source list is MD. make it so. 2019-02-04 01:46:59 +00:00
mrg 6f6cffb259 - 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
2019-02-04 00:55:26 +00:00
mrg 8ffe98c170 add || true to the gthr-default.h copy, it can fail first time around 2019-02-03 11:57:25 +00:00
mrg b42a39b7de - 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
2019-02-01 09:27:23 +00:00
mrg cba7a6aaf9 make includes works now.
pull out more data needed for headers and fix gthr-defaults.h.

libgcc_s has multiple symbols.
2019-01-19 20:02:06 +00:00
mrg e521445bd8 also pull out these variables:
enable_execute_stack
	unwind_header
	md_unwind_header
	sfp_machine_header
	thread_header
2019-01-19 17:08:39 +00:00
mrg 0b4f44e237 obsolete gcc 5 support.
add gcc 7 support.  call it "nb1 20190119"
2019-01-19 12:58:37 +00:00
mrg 5dda4a0b45 our GCC 6.5 is "nb4 20181109". 2018-11-11 23:05:25 +00:00
maya 2f4a4de5b9 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.
2018-10-19 16:16:21 +00:00
mrg ca7bf670d9 remove GCC 5 marker. this is now nb3 20180905. 2018-09-05 05:03:28 +00:00
mrg 958a20d339 copy across GCC 6.4 mknative-gcc into mknative-gcc.old. 2018-09-05 01:20:20 +00:00
mrg d352ad7b99 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.)
2018-09-04 22:57:25 +00:00
mrg e78a8a2b72 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.)
2018-09-04 06:40:37 +00:00
christos bf7113376a 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
2018-05-01 19:59:42 +00:00
christos b2a8932dbe 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
2018-05-01 00:04:34 +00:00