Commit Graph

1300 Commits

Author SHA1 Message Date
nakayama 43b52312c6 Use ${_TOOL_PREFIX} instead of hardcoding "nb" for consistency. 2019-05-17 13:51:36 +00:00
nakayama 0015932b89 Revert previous.
The binaries created are different, but according to joerg@ there
is no difference in functionality.
2019-05-17 13:44:55 +00:00
nakayama 95541573e2 Rename nb{clang,llvm}-tblgen to ${MACHINE_GNU_PLATFORM}-{clang,llvm}-tblgen
since they contain the default target (e.g. x86_64--netbsd).
2019-05-16 20:00:49 +00:00
thorpej 8319f966d5 Fix building libprop as a host tool library on platforms that don't have
the Matt Thomas rbtree:

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

Tested by simulating such a host system by renaming the host's
<sys/rbtree.h> out of the way (which reproduced the build failure)
and verifying that the host-tool installboot contained the rb_*
functions in its own .text segment.
2019-05-08 02:25:50 +00:00
hannken 7ccc083a7e Fix build, "pax" must be built before "libprop".
Ok: Matthew Green mrg@
2019-05-07 10:22:54 +00:00
thorpej 02d67d1066 Add installboot(8) support for evbarm (and, in the future, other evb*)
boards that use u-boot.  A known board database lists boards and their
respective u-boot packages.  u-boot packages are discovered at run-time
(in /usr/pkg/share/u-boot, by default).  These packages contain board
database overlays that describe u-boot installation procedure that's
specific for that board.

Support this as a native tool and as a host tool.  The native tool
will attempt to determine the running board type using OpenFirmware
calls.  Host tool and native tool alike may also specify a board type
directly using the "-o board=xxx option" or have installboot(8) determine
the board type from a device tree blob using "-o dtb=/path/to/board.dtb".
A "-o media=xxx" option is provided for boards that have different u-boot
binaries and/or installation procedures for different media types (e.g.
SDMMC, eMMC, or USB).

This is trivial to extend to other evb* platforms that use u-boot, even if
they don't use FDT for autoconfiguration.
2019-05-07 05:02:41 +00:00
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