Commit Graph

3032 Commits

Author SHA1 Message Date
kamil 4b3dee3027 Build and install GCC TSan for 64-bit CPUs 2020-09-13 02:37:31 +00:00
jmcneill 0d54a9589a Add HAVE_ACPI and HAVE_UEFI flags to bsd.own.mk and use them to
conditionally include ACPI and UEFI bits instead of relying on adhoc
MACHINE_ARCH tests.
2020-09-12 15:25:41 +00:00
mrg a1c8c273ac switch to GCC 9 on arm and x86.
note GCC 8.3, 8.4 and 9.3 import dates.  add an UPDATING entry.
2020-09-12 08:31:39 +00:00
mrg 065d223908 switch sparc to binutils 2.34. tested on an ss20. 2020-09-10 06:02:30 +00:00
rin 3787a83d7c Turn off -mpltseq for kernel modules on powerpc for GCC >= 9.
Otherwise, object files compiled with -mlongcall contain relocation types
referring PLT, which our in-kernel linker cannot handle.

This ends up with failure in kernel module load with
``kobj_reloc: unexpected relocation type 31'' (31 == R_PPC_PLT16_HA here).

See descriptions for -mlongcall in gcc(1) of GCC9 for more details.
2020-09-10 02:34:13 +00:00
mrg 210197e402 switch mips to binutils 2.34. 2020-09-07 10:19:02 +00:00
mrg cb93b81028 add support for new GCC 9 warnings that may be too much to fix
right now.  new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree.  mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it.  (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.)  clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.
2020-09-06 07:20:26 +00:00
mrg 05e7ff1ac3 disable -Wabi for GCC 9. 2020-09-05 13:38:43 +00:00
jakllsch 80196aad5b Teach bsd.endian.mk about aarch64eb 2020-09-02 15:17:19 +00:00
mrg 8b6f6bbcd0 make GCC 8 consumers to use gcc.old. 2020-08-20 03:08:07 +00:00
mrg 16596b51e5 switch netbsd/m68k to GCC 8.
special thanks to rin@ for fixing many things and figuring out
what was the major issue (STACK_BOUNDARY.)
2020-08-16 06:43:05 +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 65244620f1 fix various missing transforms for man page, ala PR#55422.
add method to transform both the "__foo__" and "@foo@"
version of various transforms, while upstream are converting
from the former to the latter it seems.  convert all the
common transforms to this method.

expand the grep for .pc files to look for missing @foo@
fixes to the man page genration, and ignore a few things
(thanks uwe@ - .IN lines, and stuff between tab(@) and .TE.)

xorg-server __default_font_path__ -> @default_font_path@,
and xfree86 transform xconfigdir, xkbdir, and modulepath
using new both method.
2020-08-10 09:23:37 +00:00
christos 7b0a191e28 Expose 64 bit fileystems API's on Linux and make the default FS API 64 bits
Should unbreak newfs's of fs's, using the tool version of newfs.
2020-08-09 21:13:38 +00:00
skrll 97f524ff8a Don't define _LKM. LKMs are dead. Long live modules. 2020-07-27 08:26:09 +00:00
rillig 3a4242ba1d share/mk/bsd.README: fix typo 2020-07-26 09:22:43 +00:00
tsutsui 090a690dad Switch x68k to HAVE_XORG_SERVER_VER=120.
Confirmed both color "Graph" VRAM and mono "Text" VRAM servers on XM6i.
2020-07-21 14:42:44 +00:00
tsutsui 2414371414 Switch ports using MI wsfb drivers to HAVE_XORG_SERVER_VER=120.
Xorg wsfb servers from 1.20 for dreamcast (16bpp), hp300 (8bpp), and
luna68k (1bpp) work fine even on NetBSD 9.0, and zaurus is also
confirmed working.

Discussed with mrg@ and macallan@ on tech-x11:
 https://mail-index.netbsd.org/tech-x11/2020/07/thread1.html#002098
2020-07-20 14:24:13 +00:00
tsutsui 879355ad78 Fix typos in ${X11INCS.DIX} include paths. PR/55500 2020-07-20 13:55:08 +00:00
mrg 6ba881664e MKLLVMRT is automatically enabled on x86 and arm64, not mesa18+. 2020-07-13 07:22:51 +00:00
chs af5290a884 the x86 xen and non-xen modules are identical,
so remove the unneeded extra copies.
Xen kernels now use the same modules as native kernels.
2020-07-04 21:02:15 +00:00
maxv f235863a23 Enable trace-cmp. 2020-07-03 16:12:16 +00:00
jmcneill 891b1559b6 Document OBJMACHINE_ARCH 2020-07-02 10:22:28 +00:00
lukem 1defdf0961 bsd.dep.mk: fix "make tags" (again)
[repeat revision 1.85]

Fix "make tags" to actually build a tags file:
- Use !commands() instead of !target(), so that the rule actually works
- Write to ${.OBJDIR}/tags for read-only source (don't know why ${.TARGET}
  isn't sufficient).
- Only match *.[cly] from ${.ALLSRCS} - just excluding *.h causes failures
  because of ${targ}: subdir-${targ} in bsd.subdir.mk.

Thanks to uwe@ for assistance.
2020-07-01 07:38:29 +00:00
lukem c72411c4b5 bsd.dep.mk: revert 1.85 (for now)
Revert my recent 1.85 revision that fixed "make tags".  It causes too
much build breakage elsewhere in the tree that needs to be resolved first.

Issues include:
- Directories using TESTS_CXX with .cpp and .cxx extension instead of the
  default .cc extension (see bsd.prog.mk). Most of these have been fixed.
- external/gpl3/gcc build of .cc files. (No idea what's wrong there).
2020-06-22 01:04:26 +00:00
lukem caf254b942 document PROGS and PROGS_CXX, and default c++ SRCS 2020-06-21 13:29:05 +00:00
lukem 6445c9ec5a bsd.dep.mk: fix "make tags"
Fix "make tags" to actually build a tags file:
- Use !commands() instead of !target(), so that the rule actually works
- Write to ${.OBJDIR}/tags for read-only source (don't know why ${.TARGET}
  isn't sufficient).
- Only match *.[cly] from ${.ALLSRCS} - just excluding *.h causes failures
  because of ${targ}: subdir-${targ} in bsd.subdir.mk.

Thanks to uwe@ for assistance.
2020-06-21 03:39:21 +00:00
christos 2f0bfbf344 Rename blacklist -> blocklist 2020-06-15 01:57:29 +00:00
joerg 001816e78d sun2 and vax have no native TLS support, so avoid using modern jemalloc
as it has a couple of nasty race conditions when using TSD.
2020-06-06 22:06:42 +00:00
jmcneill ea2cc58941 Set USE_XZ_SETS for evbarm-aarch64 2020-06-02 14:26:01 +00:00
christos 6e8b36d108 1. if ${LIBISPRIVATE} == "pic", create _pic.a so that we can embed the library
to another shared object
2. Don't compare ${LIBISPRIVATE} to "yes", because there are 3 places in
   Makefiles which set it to empty (this was a bug)
3. For private libraries, don't create .so* files
2020-06-01 14:39:14 +00:00
christos e4bfa5b301 Make libuv private, requested by joerg@ 2020-05-30 20:47:58 +00:00
christos dc0fae96c0 Allow LIBISPRIVATE to build a pic version of itself for embedding into
other shared libraries.
2020-05-30 19:51:32 +00:00
mrg 0fe23762b1 remove useless MACHINE_ARCH == sh3 check for GCC 8. 2020-05-29 01:20:43 +00:00
mrg 8b564e4261 switch vax to GCC 8. testing in simh shows the same set of bugs. 2020-05-29 00:14:07 +00:00
jmcneill 5c836d1bfa Set MKDTB=yes for armv6 2020-05-27 10:53:18 +00:00
mrg 4aaecf0671 switch alpha to GCC 8. tested by rin@, same atf result as with GCC 7.
thanks rin!  only vax, sh3 and m68k left.
2020-05-27 06:06:37 +00:00
christos b43a201fc6 Move sun2 and alpha to new binutils 2020-05-26 19:29:59 +00:00
rin 0ff014d53b Add GNU_ARCH for earmv5hf{,eb}. 2020-05-24 21:09:49 +00:00
christos 0f8b984644 Add libuv 2020-05-24 19:58:02 +00:00
martin 2628ec890f Switch sparc64 to binutils 2.34 2020-05-20 15:43:29 +00:00
rin 1436d99d73 Fix dtblist; our echo(1) does not interpret \t. 2020-05-19 08:59:36 +00:00
rin c08d500faf Try to fix fallout from addition of dtb.tgz; MKDTB was added to both
_MKVARS.yes and _MKVARS.no. Remove it from the former.
2020-05-19 08:07:44 +00:00
jmcneill 043d88a7c1 Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
2020-05-18 21:19:34 +00:00
maxv 50bfcd3de6 Don't add KCOV instrumentation on top of the KUBSAN instrumentation,
this is useless and too bloated.
2020-05-15 19:07:01 +00:00
skrll 26371ac3a2 Update the list of hppa options to build working kernel modules. 2020-05-11 10:21:24 +00:00
maxv e4eb677baa Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.
2020-05-10 06:38:24 +00:00
skrll 533e6b2e7c switch hppa to new binutils (2.34) 2020-05-05 20:47:38 +00:00
christos 4f121a6996 document MKCOMPATMODULES 2020-05-02 19:46:58 +00:00
rin 021d8db65a Fix previous; add missing <module>.kmod.debug to realall. 2020-05-02 09:15:30 +00:00
christos 0e244e0f79 Install <module>.kmod.debug files for kernel crash debugging. 2020-05-01 22:23:00 +00:00
mrg 89f8a416b9 invert the GCC 7/8 conditional.
only alpha, vax, m68k and sh3 are still on GCC 7.
2020-04-27 03:15:12 +00:00
mrg 17ce967706 switch mips to GCC 8. 2020-04-26 22:06:01 +00:00
skrll 76f1fdb56e Switch hppa to gcc 8 2020-04-26 20:13:43 +00:00
bouyer 224cc4e632 Add /usr/include/xen/intrdefs.h to sets
Add xen to KLINKFILES for amd64/i386
2020-04-25 15:46:59 +00:00
christos d8fa6d0b7a Swirch arm to the new binutils 2020-04-23 19:24:53 +00:00
christos 649d42183a need more || 2020-04-15 23:10:27 +00:00
christos 851d50d82c fix backslash 2020-04-15 23:09:28 +00:00
christos 0a84c4d611 switch ppc to the new binutils 2020-04-15 21:28:08 +00:00
christos c6e7fca7f4 Document and set a default for KERNEL_DIR 2020-04-04 23:54:06 +00:00
christos 2cc98f83cd make sure _OSRELEASE is defined where it is needed. 2020-04-04 23:19:08 +00:00
christos d361eb2a3d Switch x86 to the new binutils. 2020-04-04 20:47:56 +00:00
christos d8e96a2d4f Infrastructure for putting kernel+modules in /netbsd/kernel and
/netbsd/modules respectively instead of /netbsd and
/stand/<arch>/<version>/modules.  This is only supported for x86,
and is turned off by default. To try it, add KERNEL_DIR=yes in your
/mk.conf and install a system from that build.
2020-04-04 19:50:53 +00:00
christos e9be03e610 Linker semantics have changed; we now don't automatically link dependent
libraries from other DSO's. For example in /usr/bin/passwd:
ld: krb5_passwd.o: undefined reference to symbol \
	'UI_UTIL_read_pw_string@@OPENSSL_1_1_0'
ld: /usr/obj/amd64-x86_64/release/lib/libcrypto.so.14: error adding symbols: \
	DSO missing from command line
2020-04-04 13:33:14 +00:00
maxv 7f5f3e6b75 KCOV doesn't depend on specificdata and cpu_intr_p() anymore, so drop
references.
2020-04-04 07:03:57 +00:00
christos a4770732da Fix kerberos libraries order 2020-04-04 03:35:01 +00:00
christos 0916a77251 Add libgnuctf 2020-04-04 01:35:22 +00:00
christos 00f1d03533 Switch to binutils.old 2020-04-03 17:57:30 +00:00
mrg 2f8ce28306 note that MKLLVMRT affects more than amdgpu. 2020-03-24 07:56:26 +00:00
christos 7acab15b19 Add fido and cbor 2020-03-03 02:25:03 +00:00
macallan ae5f09c21f ZFS works fine on my v210, so let's enable it for sparc64 2020-02-27 12:52:20 +00:00
mrg 7d2bf6fde2 update for xorg-server 1.20.6. 2020-02-23 10:28:16 +00:00
maya f9068bab35 Don't special case aarch64 and add -fomit-frame-pointer to builds.
This behaviour is probably due to a past behaviour of clang, where it
always emitted frame pointer code.
This is no longer true for clang on netbsd, and I don't think it was true
for GCC.

Meanwhile, this flag bleeds into pkgsrc where it breaks random packages,
requiring workarounds like lang/ruby*-base/hacks.mk.
2020-02-08 21:16:53 +00:00
maxv 081da2e4c3 Retire KLEAK.
KLEAK was a nice feature and served its purpose; it allowed us to detect
dozens of info leaks on the kernel->userland boundary, and thanks to it we
tackled a good part of the infoleak problem 1.5 years ago.

Nowadays however, we have kMSan, which can detect uninitialized memory in
the kernel. kMSan supersedes KLEAK: it can detect what KLEAK was able to
detect, but in addition, (1) it operates in all of the kernel and not just
the kernel->userland boundary, (2) it requires no user interaction, and (3)
it is deterministic and not statistical.

That makes kMSan the feature of choice to detect info leaks nowadays;
people interested in detecting info leaks should boot a kMSan kernel and
just wait for the magic to happen.

KLEAK was a good ride, and a fun project, but now is time for it to go.

Discussed with several people, including Thomas Barabosch.
2020-02-08 07:07:06 +00:00
jmcneill d9ff5e3a53 Update comment 2020-02-07 14:08:11 +00:00
uwe b453cdfc13 Switch powerpc to GCC 8 again now that alloca() is fixed.
PR port-macppc/54827
2020-01-22 21:46:06 +00:00
uwe 10180bec9c Switch powerpc back to GCC 7 until we fix alloca() PR port-macppc/54827
ok mrg@
2020-01-22 08:32:33 +00:00
jmcneill 8f8fe2de40 Install nouveau and radeon firmware on aarch64 2020-01-19 00:57:18 +00:00
christos f58ad7d37c Back to libarchive's bsdtar 2020-01-17 16:26:12 +00:00
christos 53517b7626 Back to pax as tar until I figure out how I broke libarchive (hard link
extraction creates 0 length files for existing hard-links).
2020-01-14 16:48:18 +00:00
christos 852bfb5491 re-enable BSDTAR now that the two issues (symlinks/atomicity) have been fixed. 2020-01-12 16:11:51 +00:00
christos 0fb78fffb4 Back out previous. This has no chance to work unless the make variable parsing
is not changed do that instead of scanning for a single character delim ':',
it scans for "?:". This is because !empty(COMPILE.c:M*-pg*) contains a ':'.
2020-01-08 22:04:24 +00:00
christos 42506d4e49 tweak the DBG rule that -fomit-frame-pointer for aarch64 when profiling
(because the compiler complains), to use a match with the compile flags
and *pg*, instead of using a match to a target suffix (which is NetBSD
build-specific). Pointed out by phone@.
2020-01-08 04:15:45 +00:00
christos e33a0ba00d move MV to sys.mk because it is used there. Pointed out by joerg@ 2019-12-20 04:04:25 +00:00
mrg 74b9b609f1 switch powerpc to GCC 8. 2019-12-14 10:59:25 +00:00
jmcneill 2aeb9a97d8 Enable DTrace on aarch64 2019-12-04 11:47:52 +00:00
jmcneill 84d4c1fb40 Enable ZFS support on aarch64 2019-12-01 20:28:25 +00:00
jmcneill 2e3c4047ee Build aarch64 modules without fp or simd instructions. 2019-12-01 20:24:47 +00:00
kamil 018b416e9d Disable KCOV instrumentation in x86_machdep.c
This allows to use cpu_intr_p() directly inside KCOV.
2019-12-01 17:25:47 +00:00
martin 9d445e0761 Document NETBSD_OFFICIAL_RELEASE and add it to /etc/release - it is
important information when trying to reproduce a build.
2019-11-22 13:30:19 +00:00
mrg 540580a78d switch riscv32/64 to GCC 8. 2019-11-21 07:56:58 +00:00
christos 249752ac15 Compare libraries that the bsd.prog.mk "knows about" vs the ones we actually
install... Yes, pretty bad right now.
2019-11-18 16:23:28 +00:00
christos 4d3961b8b8 Improve the script to check for installed libraries, and fix the wrong
names and obsolete libraries it found.
2019-11-18 16:09:21 +00:00
christos e2cf0109bf switch arm to gcc-8 2019-11-18 15:38:07 +00:00
mrg bc98eb4506 switch powerpc64 to GCC 8. 2019-11-17 02:59:25 +00:00
mrg 1cf39b370c switch ia64 to GCC 8. boots just as far as GCC 7 in ski. 2019-11-17 02:52:18 +00:00
mrg a7e410a84d sparc & sparc64 -> GCC 8. 2019-11-16 10:23:36 +00:00
mrg 0d35e2c2c3 i386 -> GCC 8. 2019-11-16 10:22:20 +00:00
maxv 65ee926c5a Make kMSan compatible with KCOV. With kMSan we are forced to stay with the
fsanitize flag on subr_kcov.c, which means that kMSan will instrument KCOV.
We add a bunch of __nomsan attributes to reduce this instrumentation, but
it does not remove it completely. That's fine.
2019-11-15 09:44:44 +00:00
joerg 3cdbfa93d9 Restore pax-as-tar. 2019-11-13 22:32:16 +00:00
maxv b7edd3d132 Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us
to detect race conditions at runtime. It is a variation of TSan that is
easy to implement and more suited to kernel internals, albeit theoretically
less precise than TSan's happens-before.

We do basically two things:

 - On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell
   describing the access, and delay the calling CPU (10ms).

 - On all memory accesses, we verify if the memory we're reading/writing
   is referenced in a cell already.

The combination of the two means that, if for example cpu0 does a read that
is selected and cpu1 does a write at the same address, kCSan will fire,
because cpu1's write collides with cpu0's read cell.

The coverage of the instrumentation is the same as that of kASan. Also, the
code is organized in a way similar to kASan, so it is easy to add support
for more architectures than amd64. kCSan is compatible with KCOV.

Reviewed by Kamil.
2019-11-05 20:19:17 +00:00
martin 66ef6a30f0 PR misc/54657: let RELEASEMACHINEDIR default to ${MACHINE}-${MACHINE_ARCH}
for evb{arm,mips,sh3}*.
2019-10-31 06:43:19 +00:00
maxv a8c6c0bf54 Add nvmmctl, with two commands for now. 2019-10-28 13:04:18 +00:00
christos 20f77b55bf 1. All Makefiles that use ARM_APCS_FLAGS add -marm unconditionally and
bsd.own.mk also adds it for gcc only (so we end up with 2 -marm for gcc).
   Just add -marm unconditionally in bsd.own.mk in ARM_APCS_FLAGS and remove
   it from everywhere else.
2. gcc-8 now warns about thumb internetwork in APCS mode. This does not make
   sense because the documentation says that this flag does not make a
   difference in apcs mode, but might produce larger code in non-APCS mode.
   So we just add it to silence the warnings.
2019-10-24 18:46:20 +00:00
christos 78be1c9f56 move a{md,arch}64 to gcc 8 2019-10-22 13:49:30 +00:00
christos 0c7a7c13c0 Allow individual lex and yacc sources to override/extend LFLAGS and YFLAGS
respectively.
2019-10-15 15:05:00 +00:00
mrg 69f74cd544 make GCC_NO_STRINGOP_OVERFLOW apply to gcc 7 too. 2019-10-13 10:12:13 +00:00
mrg de11d87641 introduce some common variables for use in GCC warning disables:
GCC_NO_FORMAT_TRUNCATION    -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION  -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW    -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE   -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints.  many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
2019-10-13 07:28:04 +00:00
jhigh 0090dad153 added backend support for argon2 password scheme 2019-10-09 13:13:08 +00:00
uwe 0892295b90 Don't add -Wabi to CXXFLAGS for gcc 8. It warns about differences
from the most up-to-date ABI, which in gcc 8 is used by default.
XXX: This needs a better condition.
2019-10-05 18:37:39 +00:00
mrg 4be7da17b5 gcc 7 can now be found in gcc.old. 2019-09-29 22:10:55 +00:00
bad c296e4670d Also don't add a sysroot at all if a rumpkernel build. 2019-09-15 21:17:08 +00:00
maya 4bf438acf0 Allow overriding the default man substitutions with X11EXTRAMANTRANSFORMS 2019-09-13 10:23:07 +00:00
kamil 1a5f018b01 Enhance the support of LLVM sanitizers
Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio
code. This caused new build issued with duplicated symbols in few places
and rump kernel code picking different code paths borrowed from libc.
Handle all this in one go.

Add bsd.sanitizer.mk to share common code used by programs and libraries.

Switch from realall to beforeinstall target in .syms files. This is more
reliable in MKSANITIZER.
2019-08-27 22:48:53 +00:00
mrg 1db21b1df3 fix MKCXX=no:
- don't build GDB
- don't build sanitizers
- don't build GCC commands
- fix some set lists
2019-08-23 08:17:26 +00:00
kamil 92253c7761 Add PAXCTL_FLAG rules for MKSANITIZER
Add per-program rules to disable ASLR for ASan, TSan and MSan in all
sanitized programs. This flag is not needed for other supported sanitizers.

Without this change, sanitized init(8) dies early on startup.

Approach originally suggested by <joerg>
2019-08-17 00:14:48 +00:00
kamil 0e6f677375 Add SANITIZER_RENAME_CLASSES in bsd.prog.mk
This adds a more flexible version of SANITIZER_RENAME_SYMBOL.

New symbol allows to specify MKSANITIZER specific renames on per-file and
per-symbol basis.
2019-08-15 08:42:59 +00:00
christos a3a94da6c9 Add a script to compare the library lists so we can keep them in sync easier. 2019-08-10 12:50:36 +00:00
christos 9b5a96cd27 Make the X11 library lists consistent again. 2019-08-10 12:46:38 +00:00
christos 806cddf3f2 Don't install PIC libraries by default because they are too big since they
contain debug symbols. I supplied a patch in PR/54449 to remove the debugging
symbols but folks preferred to not install them at all.
2019-08-10 12:20:17 +00:00
roy cb24add28c MKBSDTAR now defaults to yes
Starting to see some modern archives not opening, it's time to make them
work!

OK joerg@ agc@
2019-07-24 09:28:29 +00:00
mrg 9d9d771525 add util-macros src dir. 2019-07-20 20:25:35 +00:00
wiz c4e128da50 Install the nouveau gm206 firmware as used by my graphics card.
Also add the other gm20x nouveau firmwares to the source tree
to make it easier to add them for someone who can test them.

Installed if MKNOUVEAUFIRMWARE is set to 'yes'.
This defaults to no except on amd64 and i386 (like for radeon).
2019-07-20 19:09:21 +00:00
mrg f791ec1b3a break the build if a .pc generation leaves something matching "@.*@".
this is an error in the build that doesn't trigger issues until you
try to integrate with eg, pkgsrc.
2019-07-10 21:53:35 +00:00
hannken ce2428b9c3 When building a module keep symbols if built with "MKCTF" and "COPTS=-g". 2019-07-05 08:28:16 +00:00
mrg b436459a98 turn on MKLLVMRT for aarch64 X11 builds.
with llvmpipe vs swrast, on pinebook 1080p i see 6x speed up for glxgears,
seamonkey & google maps is significantly faster, and ksudoku is workable.
2019-06-11 04:52:44 +00:00
mrg 963bac2566 minor hack fix for the previous:
MKX11 is used before it was defaulted, leading to eg:

... Malformed conditional (${MKX11} != "no" && ${HAVE_MESA_VER} == "18")

gain knowledge that it defaults to "no" immediately below.
could split this list, but seems uglier.
2019-06-02 21:29:13 +00:00
mrg 047719ee02 fix building x86 with X11 but not LLVM:
- change the defaults for MKLLVMRT and MKX11 so we don't have to
  force-override later.  this makes "build.sh -V MKLLVMRT=no"
  work to disable building the LLVM Mesa components.

- in gallium, don't BUILD_RADEON if MKLLVMRT is no.

this stops GL from working, but basic X seems OK enough for Xvideo
to still work on modern radeon (ie, video mostly works fine, though
eg, "mpv -vo gpu" won't.  use "mpv -vo xv".)
2019-06-02 11:35:55 +00:00
mrg ac10ab4460 xorg-server 1.20.5 is now current. 2019-06-01 06:57:03 +00:00
christos 39d9abd938 Everyone is on gdb-8.3 now. 2019-05-30 21:33:57 +00:00
christos 61da06b1fb add vax to new gdb 2019-05-30 01:20:41 +00:00
christos 7bb3ca8936 move sparc* to new gdb. 2019-05-29 22:12:16 +00:00
christos a9359532ef Add i386 2019-05-29 18:19:03 +00:00
christos fb2b3c4056 amd64 switched to gdb-8.3 2019-05-29 01:57:59 +00:00
christos 70494b87c4 build gdb from gdb.old 2019-05-26 20:26:43 +00:00
kamil 7d75527c60 Allow to use KCOV + kASan together
Stop instrumenting KCOV files with kASan and the other way around.
This fixes booting of the setup of using them together.

In theory the checks could be more fine grained, however there is no good
reason (except extra DIAGNISTIC) for running a kernel sanitizer without
kernel coverage.

Patch by <R3x>
2019-05-22 08:31:25 +00:00
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
christos 3dedd71659 Everyone is using gcc-7 now. 2019-05-11 02:40:31 +00:00
mrg 324b4eb87f add an entry to find upcoming intel-2014 driver. 2019-05-10 06:19:54 +00:00
maya e5523bd00e G/C unused code.
gcc -combine is no longer a thing, so this entire block isn't usable.
2019-05-09 23:34:51 +00:00
kamil 55506a14cd Fix typo cost -> host 2019-04-19 22:06:03 +00:00
mrg 660c4904e1 switch ia64 to GCC 7. scole@ commited a workaround for the one new problem.
this leaves ppc64 as the only GCC 6 port left.
2019-04-19 21:34:26 +00:00
mrg 6c9d474098 turn on MKCOMPAT for riscv64. 2019-04-18 20:11:57 +00:00
mrg 1ce78da3f1 enable EGL and glamor. partly from maya@.
for x86 and evbarm:
- install headers and libEGL
- install xorg-server glamoregl component
- link xorg drivers against gbm/egl

bonus fix:
- fix some wrongly marked compatx11file files


build tested on shark, sgimips, evbarm64-el, amd64 and i386.
run tested on radeon, intel and nvidia on amd64, including
'modesetting' driver on amd64.  however, my systems disable
it due to llvmpipe so i'm not sure what is happening.
2019-04-16 21:20:50 +00:00
maya 226aa51e27 Don't build compat libraries for riscv, for now. 2019-04-15 15:56:40 +00:00
christos ac84be3749 Add -r so that we get the location of redefinitions 2019-04-07 19:32:24 +00:00
maya 45fb16f000 Switch everyone to mesa 18. 2019-04-05 15:58:17 +00:00
maya a63f4c9283 Limit MKLLVMRT being enabled with MKX11 to x86. 2019-04-05 15:22:35 +00:00