Commit Graph

210 Commits

Author SHA1 Message Date
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
christos a1d4324dc0 fix the variable name for then non-gmake case. 2018-04-15 15:13:37 +00:00
mrg 3e838582ee bump the NetBSD GCC version. both GCC 5 and 6 got x86 spectre
mitigation code, and both are now "nb2 20180327".
2018-03-28 19:30:41 +00:00
mrg af3901dedb also fetch GCOV_DUMP_OBJS. 2018-02-06 07:04:01 +00:00
mrg 1fcc5cabfc mark GCC 6.4 has nb1 20180203 2018-02-05 06:22:27 +00:00
mrg adfccf1e30 pullout port_specific_symbol_files from libstdc++. 2018-02-03 19:06:25 +00:00
mrg 6d188dd0d7 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.)
2018-02-02 01:02:39 +00:00
christos 3e65cf6f80 Be more selective about what to quote-quote: only paths and version numbers. 2017-11-29 03:32:28 +00:00
christos 6933911900 backslash me harder! 2017-11-29 03:06:46 +00:00
christos cb9e65d7bb since gmake does not have :Q handle it in sed... 2017-11-29 02:10:15 +00:00
christos 7a367c106f use make -C path/to -f Makefile instead of make -f path/to/Makefile
so that includes with relative paths work.
2017-11-28 22:05:57 +00:00
mrg 3141ce7b36 update netbsd version. 2017-11-13 08:47:24 +00:00
christos 8018b9b342 use the variable for the source dir instead of duplicating it. 2017-10-04 21:42:20 +00:00
christos d8288c95fa - 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.
2017-10-04 21:29:43 +00:00
mrg 26c43e3543 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.
2017-08-22 09:17:50 +00:00
riastradh ef315f7931 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.
2017-05-21 15:28:36 +00:00
chs 7e30e94394 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().
2017-03-22 23:11:07 +00:00
maya c3094abd94 GC more gcc 4.8 specific (dead) logic 2017-02-22 12:34:49 +00:00
christos 9d29ca0833 revert our changes; softfloat removal is now done in libgcc/config.host 2016-10-05 19:25:49 +00:00
christos ca4d0436a9 We provide our own soft-float implementation in libc, so elide the libgcc
sources for it.
2016-10-05 14:16:12 +00:00
mrg 7e5bd89da2 set gcc 5.4 netbsd version to 2016-06-06 2016-06-07 08:12:13 +00:00
mrg 814d336214 set _OUTDIR and _OUTDIRBASE properly for gcc.old, and fix a sed. 2016-04-21 07:22:15 +00:00
mrg c6df9b1e81 use --with-diagnostics-color=auto-if-env as the default for GCC 5. 2016-03-26 09:02:56 +00:00
mrg 1e7ce98d0d set NETBSD_GCC_VERSION for GCC 5.3 separately.
don't collect crtstuff anymore.
2016-03-17 23:41:21 +00:00
mrg 6550c74580 grab insn-modes.h, and do the libgcc bootstrap from gcc as well. 2016-03-16 11:16:05 +00:00
mrg a37431532b unwind.h has a new problem, and fix the grabbing of x86 specific files. 2016-03-16 05:47:43 +00:00
mrg df62ea31af - 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
2016-03-15 21:38:32 +00:00
mrg e008877335 update for GCC 5.3 libgcov and libstdc++ 2016-03-15 06:10:13 +00:00
mrg 334c303b3a very first baby steps towards GCC 5.3 mknative. 2016-03-15 03:22:06 +00:00
mrg 8872ffd0f4 remove some more GCC 4.5 code. make GCC 5.3 be HAVE_GCC=53, so that,
for example, HAVE_GCC >= 48 works properly.
2016-03-13 01:06:51 +00:00
martin c9d7952e8d Add missing closing ) and line continuation for mknative 2016-02-15 13:25:12 +00:00
mrg e369ed1ed0 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.
2016-01-24 05:10:26 +00:00
mrg bb92a8ab71 add a comment saying this is for GCC 4.8 2016-01-24 05:02:23 +00:00
christos d14bf0b7ec bump for printf/syslog format changres 2015-10-16 00:41:07 +00:00