Commit Graph

2983 Commits

Author SHA1 Message Date
mrg
881ec4a82d switch vax and ia64 to binutils 2.34. reverse the list and leave
the remaining m68k (untested), riscv (riscv64 ld is missing emulations
for 32 bit targets), and sh3 (untested).
2020-09-13 20:59:18 +00:00
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