Commit Graph

1143 Commits

Author SHA1 Message Date
joerg
d8eb4f1993 Update build system glue for LLVM 3.6RC1. Notable changes:
- Old JIT is removed.
- Improvements to debug information handling.
- ARM: check for deprecated instructions and warn in the integrated
  assembler
- PPC: VSX support, va_arg support for struct/union types, -fPIC vs
  -fpic supported, faster atomics
- x86: improved vectorizer
2015-01-29 20:41:33 +00:00
uwe
803bb83c30 Add endian_machdep.h files for sh3 machines to _ARCH_INCS as
sh3/include/elf_machdep.h needs it since r1.11.

Unbreaks tools build on non-netbsd hosts (and whatever problems on
netbsd hosts of different endianness that might have been caused by
the mismatch).
2015-01-24 16:21:33 +00:00
christos
8283eb918f add strtoi strtou (Kamil Rytarowski) 2015-01-18 18:09:10 +00:00
christos
ee9a7d9469 we have lto... 2015-01-16 20:10:26 +00:00
christos
17972cafc9 regen 2015-01-16 18:44:31 +00:00
christos
b89ab6e264 strto{i,u} 2015-01-16 18:44:06 +00:00
skrll
b4b886e5d8 Fix gcc PR target/64479 [SH] wrong optimization delayed-branch 2015-01-15 08:42:14 +00:00
joerg
72e6048ca0 Reorganise the way xorg is build. Move build of makestrs into src/tools
as it is needed for the "includes" phase. Make it symlink all necessary
headers in obj to decouple it from "includes" itself, breaking the
dependency cycle. Move the do-x11 target between do-lib and do-build, so
that libraries can get the benefit of build_install (correct .WAIT
behavior) and everything else like "includes" uses the plain SUBDIR
entry in external/mit.
2015-01-07 20:42:01 +00:00
joerg
025900ca94 cleandir-llvm should not exist in the filesystem 2015-01-05 18:41:59 +00:00
apb
5ffb287e29 Update documentation about tools being restricted to C89 (or not).
It's not practical for the C89 restriction to be maintained for
compilers, but it is still desirable for most tools.  The "long long"
data type is in wide use despite not being in C89.  C99 library features
(as opposed to language features) can often be added to the compat
framework when the need becomes apparent.
2015-01-03 13:20:11 +00:00
christos
1741549da9 add __UNVOLATILE 2014-12-24 16:18:46 +00:00
christos
acfd168486 remove unused constants (Kamil Rytarowski) 2014-12-22 18:08:39 +00:00
pooka
6c078a85f6 build genassym for TOOLS_BUILDRUMP 2014-12-05 01:50:47 +00:00
mrg
e4e7131a68 use --disable-shared on m68000 for mknative. 2014-11-22 19:41:27 +00:00
joerg
706f66c9f4 If the internals are not explicitly requested, use #include_next to pick
up the system version. <locale> from libc++ requires this and is used by
src/tools/elftosb2.
2014-11-12 15:08:52 +00:00
skrll
d5fd623ace Note new date for version - this is the import date. 2014-10-20 08:37:30 +00:00
mrg
c1ff61510d add --enable-libstdcxx-time=rt for the GCC 4.8 build. 2014-10-10 20:23:22 +00:00
christos
0fe1d114cc add gpt 2014-09-30 19:38:25 +00:00
christos
92e39ddd46 now gpt works under macosx. 2014-09-30 18:00:28 +00:00
apb
8c50b72e75 Say that tools should use C89, not C99; Say that tools may use
HAVE_NBTOOL_CONFIG_H to conditionally exclude features.  Many
other small changes.
2014-09-30 07:34:50 +00:00
christos
0097d76426 add opendisk 2014-09-29 21:05:11 +00:00
christos
fe3105d7f6 Not ready for prime time, needs at least proplib. 2014-09-29 20:29:44 +00:00
apb
3512e573be It is usually easy to add new definitions to src/tools/compat, and that
is usually better than adding compatibility definitions to individual
tools.
2014-09-24 16:17:39 +00:00
christos
1ffd7c80d4 put O_CLOEXEC definition here. 2014-09-24 13:17:35 +00:00
matt
58bfd92e80 Add sys/arch/riscv. 2014-09-19 17:30:13 +00:00
christos
17d648a1fc Fix problem reading the last line when it did not contain a delimiter
(Hubert Garavel)
2014-09-16 17:23:50 +00:00
martin
5621a8b94e Avoid overflowing the "year" value by making the field uint64_t. Adapt
arguments and local variables accordingly.
This now fixes PR 49144 for real.
2014-09-07 11:50:23 +00:00
matt
e1c4f892b5 or1k does not support --with-float 2014-09-03 19:25:29 +00:00
matt
667791d88d Add or1k 2014-09-03 19:24:52 +00:00
apb
893aa1d4bf Add tools/README, to collect hints like how to use
.if defined(HOSTPROG)

and

#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif /* HAVE_NBTOOL_CONFIG_H */
2014-09-01 13:50:15 +00:00
apb
20e1ccfe27 Copy definitions of __type_min(t), __type_max(t), and some related macros,
from <sys/cdefs.h>, for use when building tools.
2014-09-01 11:20:06 +00:00
martin
d67a8a7def Add a slightly stripped down version of sys/dev/clock/clock_subr.h to make
this code available for tools.
2014-09-01 07:48:16 +00:00
christos
2b177d3981 switch to the new gmake 2014-08-18 06:58:51 +00:00
joerg
f14316bcbc Update build glue for LLVM/Clang 3.6svn r215315. Changes include various
performance improvements across all backends and a much improved PPC32
backend.
2014-08-10 17:32:54 +00:00
matt
547b3a3b01 Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only.  While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
2014-08-10 05:56:36 +00:00
christos
786e78dabb use host rules for files. 2014-07-15 16:04:35 +00:00
christos
86eb29ab38 descend to vgrind 2014-07-15 13:19:44 +00:00
christos
373bce115f build glue 2014-07-15 13:19:13 +00:00
pooka
bb567b2891 Add cat, rpcgen and stat to TOOLS_BUILDRUMP. They're useful for
installing headers for the app stack cases that need it done, and small
enough to not matter for the kernel-only cases that don't.
2014-06-15 14:36:57 +00:00
mrg
ac641cb906 remove remaining makefile support for GCC < 45 that i found. 2014-06-14 20:49:36 +00:00
christos
453a5cc5a8 Deal with errc/warnc 2014-06-06 01:40:40 +00:00
joerg
b1bb3099bf Update build system for LLVM/Clang snapshot r209886. This brings in the
merged AArch64 backend and the move of eARM to DWARF exception handling
for NetBSD. C++11 is required for building.
2014-05-30 18:28:13 +00:00
skrll
bca753667d Don't grab libstdc++-v3/config.h it's not used. 2014-05-29 16:27:50 +00:00
mrg
955b6c1f27 commonize the netbsd local version string. (the native one wasn't
updated, and now that won't be a problem again.)
2014-05-29 07:40:37 +00:00
mrg
f6968e3347 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.
2014-05-28 07:32:22 +00:00
skrll
e0000582f3 Update with-pkgversion date for gcc 4.8.3 import. 2014-05-27 09:19:30 +00:00
joerg
61731496eb Retire USE_COMPILERCRTSTUFF=yes. 2014-04-22 13:20:58 +00:00
apb
e9ba37c365 Clarify the NetBSD-specific and Linux-specific code at the top of
compat_defs.h:

* Explain why _NETBSD_SOURCE should not be defined on NetBSD.
* Move NetBSD-specific block to the top of the file.
* Improve comment about Linux <feature.h>.
* Move #undef _POSIX_SOURCE and #undef _POSIX_C_SOURCE to the
  Linux-specific block instead of a place that would affect all
  non-NetBSD platforms.  This makes the code match the comment.

This will need to be re-visited if other platforms also need
#undef _POSIX_SOURCE or #undef _POSIX_C_SOURCE.  At present, I suspect
that they are needed only for Linux.
2014-04-19 19:01:08 +00:00
riastradh
7410f91473 ctfconvert/ctfmerge need libdwarf &c., so build them if MKCTF=yes. 2014-04-03 18:23:38 +00:00
martin
aad6ef8bb5 Bring back the playstation2 port - now that a toolchain for it is
available again.
2014-03-31 11:25:47 +00:00
ozaki-r
1339b2cc13 Add MKCTF
This variable separates CTF stuffs from MKDTRACE; we can build DTrace
solely without building and using them. This allows us to use DTrace
even if CTF stuffs have problems (actually they have now).

This variable would be merged into MKDTRACE eventually, once CTF stuffs
work correctly again.
2014-03-25 09:52:55 +00:00
christos
c20b670602 switch to the new libelf and libdwarf 2014-03-09 17:12:03 +00:00
christos
9b48ab4fda switch to the new libdwarf 2014-03-09 17:10:38 +00:00
christos
482608c0a5 switch to the new libelf 2014-03-09 17:10:12 +00:00
mrg
4e43797c9f don't collect gthr-default.h anymore. 2014-03-02 04:58:20 +00:00
mrg
4501ec6885 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/.
2014-03-02 03:17:14 +00:00
mrg
b53d27fc90 define GCCDIST properly for GCC 4.1, and since it is now the same
as GCCSRCDIR remove the latter.
2014-02-27 20:15:53 +00:00
matt
c265e52e42 To build elftosb with clang++, it needs more than nl_types.h provides.
XXX to workaround with, if compiling on __NetBSD__ just include the real
nl_types.h
2014-02-27 01:07:52 +00:00
mrg
afa90f2bf5 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.
2014-02-26 09:54:32 +00:00
skrll
6d3ceb1d61 Rename NetBSD/hp700 to NetBSD/hppa.
Unfortunately our VCS isn't very helpful here.
2014-02-24 07:23:38 +00:00
christos
eff9fc76a8 put back some cppflags we lost. 2014-02-18 01:34:18 +00:00
christos
8140d3b7fb Merge gcc-4.8 mknative bits. 2014-02-17 21:39:43 +00:00
skrll
9897c7a624 The mpfr sources moved down into a src directory - deal with this in
mknative.
2014-02-16 11:26:31 +00:00
tsutsui
11b13dddf7 No need to specify ${.OBJDIR} for target files.
It rather fails if MKHOSTOBJ=yes.
2014-02-15 13:34:28 +00:00
joerg
1df17bf6cf For the tools build, always use the Bison-created m68 asm parser.
Fixes build on Linux, where the glibc guards trip up the
"must-be-included-first" check in config.h.
2014-01-29 23:35:13 +00:00
christos
3f604fd430 Add the {v,}{err,warn}c functions 2014-01-16 17:24:56 +00:00
matt
4783f46508 Pass HOST_CXX to llvm configure as CXX=${HOST_CXX:Q} since llvm wants c++
more than cc.
2014-01-16 09:00:55 +00:00
christos
2b043c75b6 eliminate use of bsd.sys.mk from Makefiles 2014-01-16 01:15:32 +00:00
joerg
dd255ccea4 Update build glue for LLVM/Clang 3.5svn r199312. Noticable changes
include bug fixes for the loop vectorizer, initial work for assembler
parser/disassembler on SPARC, improvements to ARM assembler and .code16
support on x86.
2014-01-15 22:21:33 +00:00
apb
d74d486617 fix prototype for strnlen. 2014-01-09 16:08:46 +00:00
apb
c9b2ee2cd1 Declare and define strnlen if necessary. 2014-01-09 11:31:12 +00:00
apb
5318071613 regen 2014-01-09 11:27:31 +00:00
apb
fd3f18ac6d Add strnlen to configure tests in tools/compat 2014-01-09 11:26:58 +00:00
joerg
66153a214b Update build system and import script for mdocml 1.12.3. 2014-01-05 19:49:57 +00:00
joerg
6d322f2f45 Update LLVM family to 3.5svn r198450. Interesting changes include:
- Improvements in the SPARC64 support
- ARM backend can almost build a full NetBSD/EABI system with the
  integrated assembler
- PowerPC grows disassembler support
- LLD supports copy relocation, beginning of MIPS backend
- New diagnostic for use of bool expression as size_t argument for
  strncmp and friends
2014-01-05 16:38:05 +00:00
dsl
7c4ad3905a Remove the borked definition of ELF64_Shalf from some more places.
Remove the _KERNEL parts of some clones of sys/elf_exec.h
One might ask why this file has got cloned so many times.
2014-01-03 16:50:54 +00:00
joerg
aceb213538 Allow kernel code to access constant databases by moving cdbr(3) and the
required mi_vector_hash(3) into src/common.
2013-12-11 01:24:08 +00:00
mrg
75219f3a01 update to MPC 1.0.1. 2013-11-28 12:08:56 +00:00
apb
3c49568a05 Define __USE for use during a tools build. 2013-10-24 13:59:47 +00:00
skrll
28fd2e75c0 Improve wording and remove typos 2013-10-21 09:02:08 +00:00
skrll
c31e8e667f Move the GNUHOSTDIST assignment back to the top of the Makefile. 2013-10-21 08:59:29 +00:00
skrll
2143de4353 Group the mknative stuff together - no functional change 2013-10-20 17:12:23 +00:00
skrll
739e5cb01a g/c VAX_CONFIGURE_ARGS 2013-10-20 17:10:15 +00:00
skrll
e0d4b1e3bf Make sure gmake is quiet when grabbing variables. 2013-10-20 16:00:20 +00:00
skrll
02cb02f748 Deleted 1 line too many in previous commit. 2013-10-20 14:55:28 +00:00
skrll
cc4d923295 g/c gcc3 goop 2013-10-20 14:14:18 +00:00
christos
ff5462c4ef more files needed 2013-10-03 18:58:37 +00:00
skrll
41c37f737d Grab enable_initfini_array from the ld Makefile 2013-10-01 15:41:17 +00:00
joerg
6c440ed37c Update LLVM/Clang snapshot to r189662. This includes many improvements
to the new SLP vectorizer, fast codegen support for PPC and using
terminfo for the color sequences. In addition, add (optional) build
infrastructure for lld to allow easier testing. This is controlled by
MKLLD.
2013-09-02 14:34:55 +00:00
joerg
6bc52dcb42 Preserve -std=* options as they may change the dependency list. 2013-09-02 08:37:11 +00:00
joerg
4879d4747d Support __format_arg. 2013-08-18 20:48:17 +00:00
gsutre
f5edbcbeb8 Use makeinfo built from src/tools/texinfo. Fixes PR toolchain/48123.
ok apb@
2013-08-16 10:29:32 +00:00
jmcneill
7184d9f2f5 regen 2013-08-14 10:15:14 +00:00
jmcneill
6d54013fc1 add test for struct tm tm_gmtoff member 2013-08-14 10:14:45 +00:00
drochner
86d6df49cc pass HOST_SH to the build, to keep it from picking up a "bash"
from $PATH
2013-08-13 20:41:25 +00:00
jmcneill
b54c1c7c33 regen 2013-08-09 20:13:21 +00:00
jmcneill
a46673afc5 makefs_udf uses clock_gettime, and on some versions of linux that lives in librt 2013-08-09 20:12:38 +00:00
apb
b042dd28fe Revert previous change to tools/Makefile.gnuhost. When getenv("M4")
contains multiple words, flex fails.

Adjust tools/autoconf/Makefile to pass the necessary extra arguments via
M4=... in CONFIGURE_ENV.  This is similar to what used to be in
revision 1.4 of tools/autoconf/Makefile, but it's now after instead of
before the inclusion of Makefile.gnuhost, because it has to override the
value of M4=...  that Makefile.gnuhost stores in CONFIGURE_ENV.
2013-08-07 17:50:55 +00:00
apb
1f64f4d863 Compile snprintb.c into libnbcompat. The source file is found in the
common/lib/libutil directory.
2013-08-06 22:04:25 +00:00
apb
0c6780a550 declare snptintb_m() and snprintb() if HAVE_SNPRINTB is not defined. 2013-08-06 21:58:46 +00:00