Commit Graph

1344 Commits

Author SHA1 Message Date
thorpej
d380747e98 Add support for libprop as a host tool library. 2019-05-07 04:29:45 +00:00
joerg
0a0d40923d Add MKLLVMRT to build a subset of the LLVM stack for JIT purposes.
Hook up AMDGPU backend for clang.
2019-04-03 15:21:58 +00:00
joerg
0b0ec14911 Undo tools part of the AMDGPU changes for LLVM. 2019-04-03 15:15:16 +00:00
joerg
da48f03c8a Revert MKLLVMCMDS changes. 2019-04-03 15:12:44 +00:00
mrg
18e2edb50a 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).
2019-03-20 22:51:37 +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
5e9cdbeac0 add most of the AMDGPU target makefiles and stuff that don't
touch the build.  this comes from:

commit f90685c11d4460d3098fa35f48b58d1893e974e0
Author: Maya Rashish <maya@NetBSD.org>
Date:   Sat Feb 23 09:46:14 2019 +0200

    Separate MKCLANG from MKLLVM.

    build LLVM libraries as PIC.
    Add AMDGPU target, and adjust tools accordingly.
2019-03-10 12:14:05 +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
dholland
891635253f fix duplicated chunk from merge 2019-01-27 05:16:10 +00:00
dholland
4c5da2b349 Restore comment accidentally lost in merge. 2019-01-27 05:15:32 +00:00
pgoyette
d91f98a871 Merge the [pgoyette-compat] branch 2019-01-27 02:08:33 +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
christos
d761a9b5a4 use MACHINE_CPU for elf2aout 2019-01-02 13:29:22 +00:00
christos
81944f85bf Add an arm-specific elf2aout tool since objdump does not support a.out anymore 2018-12-31 13:35:15 +00:00
christos
dc83bc10dc explicitly disable initfini-array; we don't have it yet. 2018-12-27 16:26:52 +00:00
aymeric
531981e6f3 Prepend ${_TOOL_PREFIX} to xz, too. 2018-11-19 20:00:28 +00:00
mrg
5dda4a0b45 our GCC 6.5 is "nb4 20181109". 2018-11-11 23:05:25 +00:00
christos
ea1b76a438 need global replace 2018-11-08 02:08:35 +00:00
christos
21c73e0dad Adjust for 2.31.1 2018-11-07 01:14:19 +00:00
maya
c8e8986664 Adjust whitespace to look more like assignment than comparison. NFC 2018-10-22 13:19:42 +00:00
christos
2d7f932be5 detect clang instead of bundling it with Darwin 2018-10-21 00:26:24 +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
martin
bbde9f9ded Add FLEX to the configure env, from Lloyd Parkes on tech-toolchain.
Some configure scripts seem to need both LEX and FLEX.
2018-10-14 10:23:32 +00:00
maya
89195d5850 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.
2018-09-28 14:45:16 +00:00
riz
4bb1d11517 Add CPPFLAGS+= -std=c99 so tools can build on systems where the
system compiler doesn't default to C99 (eg, NetBSD 6.1).
2018-09-25 17:57:33 +00:00
joerg
e8a46266c8 Don't include NLS for the tools build of xz. 2018-09-25 11:41:35 +00:00
joerg
5ce009f19c Add missing Makefile.inc for xz tools. 2018-09-25 08:54:58 +00:00
joerg
d548dd2316 Update build glue for xz-5.2.4. Hook up tools version. 2018-09-25 05:42:08 +00:00
palle
1e0d01e5bc Add instructions for building NetBSD on modern Solaris 11 hosts 2018-09-09 19:17: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
14cc014e8a deal with getsubopt and strncasecmp (needed by mdocml) 2018-08-30 12:05:34 +00:00
christos
944c86d92b PR/53544: Add a dependency on the Makefile to fix incremental builds. 2018-08-23 06:21:37 +00:00
christos
f3451e1460 make sure that nbtools_compat.h is the first thing included for generated files 2018-08-20 10:27:32 +00:00
christos
b9f6c86d43 add strncasecmp 2018-08-16 12:03:36 +00:00
christos
fd7f76973a Expose re{c,}allocarray decls in current. 2018-08-15 14:31:22 +00:00
christos
05d8d1c80f Add WITHOUT_GZIP 2018-08-12 09:03:42 +00:00
christos
711626f8b9 add WITHOUT_BZ2 2018-08-12 07:53:38 +00:00
christos
6938dd0f89 hook in the tools version of grep 2018-08-11 19:46:03 +00:00
christos
0ffb3ff427 Add strcasecmp 2018-08-11 16:24:59 +00:00
joerg
bdc22b2e01 Update LLVM/Clang build system to r337282. 2018-07-17 18:55:24 +00:00
maya
c44313b349 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
2018-06-13 04:17:43 +00:00
christos
4fabbeb31b Move the typedefs before the header inclusions (except <features.h>) and
explain why.
2018-06-12 23:52:56 +00:00
maya
a3ebee93c8 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.
2018-06-11 18:48:24 +00:00
christos
3732eb3530 remove trailing newline 2018-05-19 17:48:51 +00:00
joerg
f0360e1d3e For EXTERNAL_TOOLCHAIN, MKLLVM=yes needs to build only tablegen. 2018-05-09 13:21:27 +00:00
christos
89df939d83 revert previous, breaks llvm build and not easy to fix. 2018-05-04 14:50:18 +00:00
christos
2acd48c6ea need bsd.hostinit.mk before bsd.endian.mk 2018-05-03 01:09:04 +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
c0d10d8e3a Centralize NOMAN handling. 2018-05-01 12:38:39 +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
maya
43018fddb4 Remove hack previously needed to build gcc/arm with clang.
genattrtab.c:1.2 makes this unnecessary.

Tested by thorpej.
2018-04-17 10:08:54 +00:00
christos
622f49cc74 Use the __clang__ preprocessor symbol to check for clang, since --version
might barf. From joerg@
2018-04-17 02:03:56 +00:00
christos
1c811476c7 do the bracket nesting only for clang for now. 2018-04-15 21:50:38 +00:00
christos
a1d4324dc0 fix the variable name for then non-gmake case. 2018-04-15 15:13:37 +00:00
snj
6e9004b7ce GCC build exceeds the macOS clang default bracket nesting level of 256.
Work around with -fbracket-depth=512.

From potr in PR toolchain/53178.
2018-04-13 06:15:26 +00:00
ryo
fe33aa2786 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@)
2018-04-01 04:35:01 +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
christos
e9e7b01807 undo previous; breaks the build. handle inside flex. 2018-03-11 18:32:43 +00:00
hans
ccac921152 Fix build of tools/lex on platforms lacking sys/cdefs.h by including
nbtool_config.h in tools/compat/regex.h. Tested on illumos.
2018-03-11 10:14:04 +00:00
uwe
6be0d6d9a0 Fix .endif comment for TOOLS_BUILDRUMP 2018-02-18 01:06:24 +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
skrll
ac34435581 Remove port-acorn26
OK core@
2018-01-24 09:04:40 +00:00
uwe
4f2e9ed826 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.
2018-01-16 08:53:51 +00:00
uwe
4b7a180ace Do not use HOST_CFLAGS to link the make binary. 2018-01-15 20:14:49 +00:00
uwe
4b89f891fb G/c unused runcmd. 2018-01-15 19:57:49 +00:00
uwe
06ddb7b0da Make sure nbmake is always built with the right _PATH_DEFSYSPATH. 2018-01-15 19:52:54 +00:00
christos
0e229e5357 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
2017-12-27 21:34:11 +00:00
sevan
d866c85be9 regen 2017-12-09 04:23:22 +00:00
sevan
bf692293ff 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
2017-12-09 04:22:53 +00:00
christos
273109cafb we want no-iconv for the tools build, but we want iconv for mknative. 2017-11-29 04:24:35 +00:00
christos
3e9314d067 Changes for gdb-8.0.1 2017-11-29 03:33:01 +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
c4e49a61b5 Adjust to gdb-8.0.1 which uses c++
XXX: quoting of variables that contain paths and versions is broken.
2017-11-28 22:25:16 +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
joerg
bf5991674e Be consistent with our header. 2017-10-03 10:28:30 +00:00
christos
2dfeb58bd4 fix fpurge declaration 2017-10-03 01:43:03 +00:00
christos
d9a3cc43b7 Simplify. 2017-10-02 22:32:04 +00:00