CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 07:32:32 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: varmod-loop.exp varmod-loop.mk

Log Message:
make(1): add test for empty variable name in :@var@...@ modifier


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/varmod-loop.exp \
src/usr.bin/make/unit-tests/varmod-loop.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src

2020-09-13 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Sun Sep 13 07:35:15 UTC 2020

Modified Files:
src/sbin/wsconsctl: keyboard.c
src/share/man/man4: wskbd.4

Log Message:
Document keyboard mode ioctls and let wsconsctl manage it.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sbin/wsconsctl/keyboard.c
cvs rdiff -u -r1.22 -r1.23 src/share/man/man4/wskbd.4

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/share/man/man4

2020-09-13 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sun Sep 13 07:36:55 UTC 2020

Modified Files:
src/share/man/man4: wskbd.4

Log Message:
Bump date for previous.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/share/man/man4/wskbd.4

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 07:42:20 UTC 2020

Modified Files:
src/usr.bin/make: var.c
src/usr.bin/make/unit-tests: varmod.exp varmod.mk

Log Message:
make(1): in lint mode, complain about erroneous $$

Since 2008-12-21, make has silently ignored strange variable names in
constructs like '$$', '$}', '$' followed by nothing.  Ignoring these
bugs in makefiles instead of reporting them is not a good idea.

To improve the situation, make complains about these errors now, but
only in lint mode (-dL).  This preserves existing behavior while still
allowing to validate existing makefiles that they don't depend on this
bug.

If the test phase goes well, these error messages may be enabled
unconditionally.

https://mail-index.netbsd.org/pkgsrc-users/2020/09/12/msg032229.html


To generate a diff of this commit:
cvs rdiff -u -r1.506 -r1.507 src/usr.bin/make/var.c
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/varmod.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/varmod.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 08:11:40 UTC 2020

Modified Files:
src/usr.bin/make: var.c

Log Message:
make(1): inline call to strchr in ValidShortVarname

It's a pity that neither GCC 5 nor GCC 10 nor Clang 9 inline this code
themselves, even though it would be easy to do.

Clang 9 at least replaces strchr with memchr, but that is still too
complicated for a simple "is this character one of these" question.

For a repeated "if (varname != ...)" instead of the switch, GCC 10
generates really boring and inefficient code, even though it is easy to
see that the order of the comparisons doesn't matter.


To generate a diff of this commit:
cvs rdiff -u -r1.507 -r1.508 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 08:17:14 UTC 2020

Modified Files:
src/usr.bin/make: var.c

Log Message:
make(1): rename ApplyModifier_Exclam

The names of all other ApplyModifier functions already describe the
effect instead of the spelling.


To generate a diff of this commit:
cvs rdiff -u -r1.508 -r1.509 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 08:51:59 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common:
sanitizer_platform_limits_netbsd.cc
sanitizer_stoptheworld_netbsd_libcdep.cc

Log Message:
Add missing dkbad.h include and define _KERNTYPES so we get all internal
types (like register_t) that we need for ptrace.
Fixes the build on sparc64.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \

src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.cc
cvs rdiff -u -r1.2 -r1.3 \

src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 09:17:47 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: Makefile

Log Message:
make(1): fix sync-mi helper target, at least for adding tests


To generate a diff of this commit:
cvs rdiff -u -r1.138 -r1.139 src/usr.bin/make/unit-tests/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 09:20:23 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: Makefile
Added Files:
src/usr.bin/make/unit-tests: directive-dinclude.exp
directive-dinclude.mk directive-hyphen-include.exp
directive-hyphen-include.mk directive-include-fatal.exp
directive-include-fatal.mk directive-include.exp
directive-include.mk directive-sinclude.exp directive-sinclude.mk

Log Message:
make(1): add tests for the various .include directives


To generate a diff of this commit:
cvs rdiff -u -r1.139 -r1.140 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/directive-dinclude.exp \
src/usr.bin/make/unit-tests/directive-dinclude.mk \
src/usr.bin/make/unit-tests/directive-hyphen-include.exp \
src/usr.bin/make/unit-tests/directive-hyphen-include.mk \
src/usr.bin/make/unit-tests/directive-include-fatal.exp \
src/usr.bin/make/unit-tests/directive-include-fatal.mk \
src/usr.bin/make/unit-tests/directive-include.exp \
src/usr.bin/make/unit-tests/directive-include.mk \
src/usr.bin/make/unit-tests/directive-sinclude.exp \
src/usr.bin/make/unit-tests/directive-sinclude.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 09:23:14 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: directive-include-fatal.exp

Log Message:
make(1): fix line number in expected test result for .include


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/usr.bin/make/unit-tests/directive-include-fatal.exp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 09:23:48 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: export-variants.mk

Log Message:
make(1): fix explanations in test for exporting variables


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/export-variants.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 09:25:52 UTC 2020

Modified Files:
src/usr.bin/make: parse.c

Log Message:
make(1): clean up the documentation for Parse_File


To generate a diff of this commit:
cvs rdiff -u -r1.296 -r1.297 src/usr.bin/make/parse.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 09:35:10 UTC 2020

Modified Files:
src/usr.bin/make: var.c

Log Message:
Initialize endc unconditionally, gcc complains and it is not obvious
whether this is a false positive.


To generate a diff of this commit:
cvs rdiff -u -r1.509 -r1.510 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 09:43:01 UTC 2020

Modified Files:
src/usr.bin/make: parse.c

Log Message:
make(1): inline strchr call in IsInclude


To generate a diff of this commit:
cvs rdiff -u -r1.297 -r1.298 src/usr.bin/make/parse.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 10:20:11 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: directive-include-fatal.mk

Log Message:
make(1): test another attempt at resuming from fatal errors


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/usr.bin/make/unit-tests/directive-include-fatal.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/lib/libsa

2020-09-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Sep 13 11:09:02 UTC 2020

Modified Files:
src/sys/lib/libsa: loadfile_elf32.c

Log Message:
Elf64_Phdr::p_flags is 32 bits, not 64


To generate a diff of this commit:
cvs rdiff -u -r1.57 -r1.58 src/sys/lib/libsa/loadfile_elf32.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/netinet

2020-09-13 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Sun Sep 13 11:47:12 UTC 2020

Modified Files:
src/sys/netinet: tcp_input.c

Log Message:
inet: Fix build without ARP


To generate a diff of this commit:
cvs rdiff -u -r1.422 -r1.423 src/sys/netinet/tcp_input.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/net

2020-09-13 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Sun Sep 13 11:48:45 UTC 2020

Modified Files:
src/sys/net: files.net

Log Message:
nd needs arp or inet6. inet is not enough.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/net/files.net

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/sys/dev/nvmm/x86

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 11:54:10 UTC 2020

Modified Files:
src/sys/dev/nvmm/x86 [netbsd-9]: nvmm_x86.c nvmm_x86_svm.c
nvmm_x86_vmx.c

Log Message:
Pull up following revision(s) (requested by maxv in ticket #1077):

sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.68
sys/dev/nvmm/x86/nvmm_x86_svm.c: revision 1.74
sys/dev/nvmm/x86/nvmm_x86.c: revision 1.16

Improve emulation of MSR_IA32_ARCH_CAPABILITIES: publish only the *_NO
bits. Initially they were the only ones there, but Intel then added other
bits we aren't interested in, and they must be filtered out.

nvmm-x86-svm: improve the handling of MSR_EFER

Intercept reads of it as well, just to mask EFER_SVME, which the guest
doesn't need to see.

nvmm-x86: improve the CPUID emulation

 - Mask DTES64, DS_CPL, CID, SDBG, xTPR, PN.
 - B10, B20 and IA64 do not exist, so just remove them.


To generate a diff of this commit:
cvs rdiff -u -r1.7.4.5 -r1.7.4.6 src/sys/dev/nvmm/x86/nvmm_x86.c
cvs rdiff -u -r1.46.4.11 -r1.46.4.12 src/sys/dev/nvmm/x86/nvmm_x86_svm.c
cvs rdiff -u -r1.36.2.13 -r1.36.2.14 src/sys/dev/nvmm/x86/nvmm_x86_vmx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/sys/dev/nvmm/x86

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 11:56:44 UTC 2020

Modified Files:
src/sys/dev/nvmm/x86 [netbsd-9]: nvmm_x86_svm.c nvmm_x86_vmx.c

Log Message:
Pull up following revision(s) (requested by maxv in ticket #1078):

sys/dev/nvmm/x86/nvmm_x86_svm.c: revision 1.73
sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.73
sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.74

nvmm-x86-vmx: improve the handling of CR4
 - Filter out certain features we don't want the guest to enable. This is
   for general correctness, and future-proofness.
 - Flush the guest TLB when certain flags change.

nvmm-x86: improve the handling of RFLAGS.RF
 - When injecting certain exceptions, set RF. For us to have an up-to-date
   view of RFLAGS, we commit the state before the event.
 - When advancing RIP, clear RF.


To generate a diff of this commit:
cvs rdiff -u -r1.46.4.12 -r1.46.4.13 src/sys/dev/nvmm/x86/nvmm_x86_svm.c
cvs rdiff -u -r1.36.2.14 -r1.36.2.15 src/sys/dev/nvmm/x86/nvmm_x86_vmx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/usr.bin/sockstat

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:00:46 UTC 2020

Modified Files:
src/usr.bin/sockstat [netbsd-9]: Makefile sockstat.c

Log Message:
Pull up following revision(s) (requested by kim in ticket #1079):

usr.bin/sockstat/sockstat.c: revision 1.22
usr.bin/sockstat/Makefile: revision 1.5
usr.bin/sockstat/Makefile: revision 1.6

RR/54971: scole_mail: sockstat command output incorrect for normal
user As the PR hints, it is not enough to have kern.expose_address=1
to see kernel addresses, we also need to have the PK_KMEM bit set
which we achieve by installing sockstat setgid kmem and opening
and closing /dev/mem. (/usr/src/sys/kern/kern_proc.c:311). It is
unfortunate that we need to give the program more privilege, to
prove to the kernel that we have the privilege to see the data.

turn on fortify since it is setgid (from scole_mail)


To generate a diff of this commit:
cvs rdiff -u -r1.3.46.1 -r1.3.46.2 src/usr.bin/sockstat/Makefile
cvs rdiff -u -r1.20.2.1 -r1.20.2.2 src/usr.bin/sockstat/sockstat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:11:07 UTC 2020

Modified Files:
src/etc/defaults [netbsd-9]: rc.conf
src/etc/rc.d [netbsd-9]: motd
src/share/man/man5 [netbsd-9]: rc.conf.5

Log Message:
Pull up following revision(s) (requested by kim in ticket #1080):

etc/rc.d/motd: revision 1.10
etc/rc.d/motd: revision 1.11
share/man/man5/rc.conf.5: revision 1.186
share/man/man5/rc.conf.5: revision 1.187
etc/defaults/rc.conf: revision 1.159

Add optional release info in /etc/motd

My personal preferencese for /etc/rc.conf:

update_motd_release=YES
motd_release_tag='Binaries: '

This provides an explanation to users about the second version in motd.

Document update_motd_release and motd_release_tag

New sentence, new line.

Make a ": " suffix a fixed part of the release info tag

This results in correct updates to /etc/motd even when the value of
motd_release_tag is changed (a likely event).

Add safe quoting to outputting the read kernel version.

Thanks to kre@ for the feedback.


To generate a diff of this commit:
cvs rdiff -u -r1.151.2.1 -r1.151.2.2 src/etc/defaults/rc.conf
cvs rdiff -u -r1.9 -r1.9.96.1 src/etc/rc.d/motd
cvs rdiff -u -r1.181 -r1.181.2.1 src/share/man/man5/rc.conf.5

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-8] src

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:13:13 UTC 2020

Modified Files:
src/etc/rc.d [netbsd-8]: motd
src/share/man/man5 [netbsd-8]: rc.conf.5

Log Message:
Pull up following revision(s) (requested by kim in ticket #1603):

etc/rc.d/motd: revision 1.10
etc/rc.d/motd: revision 1.11
share/man/man5/rc.conf.5: revision 1.186
share/man/man5/rc.conf.5: revision 1.187
etc/defaults/rc.conf: revision 1.159

Add optional release info in /etc/motd

My personal preferencese for /etc/rc.conf:

update_motd_release=YES
motd_release_tag='Binaries: '

This provides an explanation to users about the second version in motd.

Document update_motd_release and motd_release_tag

New sentence, new line.

Make a ": " suffix a fixed part of the release info tag

This results in correct updates to /etc/motd even when the value of
motd_release_tag is changed (a likely event).

Add safe quoting to outputting the read kernel version.

Thanks to kre@ for the feedback.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.9.86.1 src/etc/rc.d/motd
cvs rdiff -u -r1.166.6.2 -r1.166.6.3 src/share/man/man5/rc.conf.5

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-8] src/sys/netinet

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:16:34 UTC 2020

Modified Files:
src/sys/netinet [netbsd-8]: tcp_input.c

Log Message:
Pull up following revision(s) (requested by kardel in ticket #1604):

sys/netinet/tcp_input.c: revision 1.420

PR/kern 55567
fix the data-only fast path. RCV.UP and SND.WL1 could be left behind
on long sequences of data only packets. pull them along to avoid relative
sequence wraps.
consistent with FreeBSD

addresses second failure mode of PR/kern 55567.
pullup to netbsd-8
pullup to netbsd-9


To generate a diff of this commit:
cvs rdiff -u -r1.357.4.6 -r1.357.4.7 src/sys/netinet/tcp_input.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-8] src/doc

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:17:25 UTC 2020

Modified Files:
src/doc [netbsd-8]: CHANGES-8.3

Log Message:
Tickets #1603 and #1604


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.34 -r1.1.2.35 src/doc/CHANGES-8.3

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/sys/netinet

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:18:16 UTC 2020

Modified Files:
src/sys/netinet [netbsd-9]: tcp_input.c

Log Message:
Pull up following revision(s) (requested by kardel in ticket #1081):

sys/netinet/tcp_input.c: revision 1.420

PR/kern 55567
fix the data-only fast path. RCV.UP and SND.WL1 could be left behind
on long sequences of data only packets. pull them along to avoid relative
sequence wraps.
consistent with FreeBSD

addresses second failure mode of PR/kern 55567.
pullup to netbsd-8
pullup to netbsd-9


To generate a diff of this commit:
cvs rdiff -u -r1.414.2.3 -r1.414.2.4 src/sys/netinet/tcp_input.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:20:22 UTC 2020

Modified Files:
src/lib/libc/atomic [netbsd-9]: membar_ops.3
src/share/man/man9 [netbsd-9]: atomic_loadstore.9 ipi.9

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1082):

share/man/man9/atomic_loadstore.9: revision 1.6
share/man/man9/ipi.9: revision 1.5
lib/libc/atomic/membar_ops.3: revision 1.6

Spell out acronyms in title for clarity.

Update membar_ops(3) man page with examples and relation to C11.

Add exhortation to always always always document how membars come in
pairs for synchronization between two CPUs when you use them.

atomic_load/store_* appeared in NetBSD 9, not 10.

Pullup preceded release of 9.0.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.5.6.1 src/lib/libc/atomic/membar_ops.3
cvs rdiff -u -r1.5.2.2 -r1.5.2.3 src/share/man/man9/atomic_loadstore.9
cvs rdiff -u -r1.4 -r1.4.2.1 src/share/man/man9/ipi.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:25:29 UTC 2020

Modified Files:
src/sys/miscfs/genfs [netbsd-9]: genfs_rename.c
src/tests/fs/vfs [netbsd-9]: t_renamerace.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1083):

sys/miscfs/genfs/genfs_rename.c: revision 1.5
tests/fs/vfs/t_renamerace.c: revision 1.37
tests/fs/vfs/t_renamerace.c: revision 1.38

tests/fs/vfs/t_renamerace: Test a screw case hannken@ found.

genfs_rename: Fix deadlocks in cross-directory cyclic rename.

Reproducer:
A: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600);
rmdir("c/d/e"); rmdir("c/d"); }
B: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600);
rename("c", "c/d/e"); }
C: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600);
rename("c/d/e", "c"); }

Deadlock:
- A holds c and wants to lock d; and either
- B holds . and d and wants to lock c, or
- C holds . and d and wants to lock c.

The problem with these is that genfs_rename_enter_separate in B or C
tried lock order .->d->c->e (in A/B, fdvp->tdvp->fvp->tvp; in A/C,
tdvp->fdvp->tvp->fvp) which violates the ancestor->descendant order
.->c->d->e.

The resolution is to change B to do fdvp->fvp->tdvp->tvp and C to do
tdvp->tvp->fdvp->fvp.  But there's an edge case: tvp and fvp might be
the same (hard links), and we can't detect that until after we've
looked them both up -- and in some file systems (I'm looking at you,
ufs), there is no mere lookup operation, only lookup-and-lock, so we
can't even hold the lock on one of tvp or fvp when we look up the
other one if there's a chance they might be the same.

Fortunately the cases
(a) tvp = fvp
(b) tvp or fvp is a directory
are mutually exclusive as long as directories cannot be hard-linked.

In case (a) we can just defer locking {tvp, fvp} until the end, because
it can't possibly have {fdvp or fvp, tdvp or tvp} as descendants.  In
case (b) we can just lock them in the order fdvp->fvp->tdvp->tvp or
tdvp->tvp->fdvp->fvp if the first one of {fvp, tvp} is a directory,
because it can't possibly coincide with the second one of {fvp, tvp}.

With this change, we can now prove that the locking order is consistent
with the ancestor->descendant partial ordering.  Where two nodes are
incommensurate under that partial ordering, they are only ever locked
by rename and there is only ever one rename at a time.

Proof:
- For same-directory renames, genfs_rename_enter_common locks the
  directory first and then the children.  The order
  directory->child[i] is consistent with ancestor->descendant and
  child[0]/child[1] are incommensurate.
- For cross-directory renames:
  . While a rename is in progress and the fs-wide rename lock is held,
directories can be created or removed but not changed, so the
outcome of gro_genealogy -- which, given fdvp and tdvp, returns
the node N relating fdvp/N/.../tdvp or null if there is none --
can only transition from finding N to not finding N, if one of
the directories is removed while any of the vnodes are unlocked.
Merely creating directories cannot change the ancestry of tdvp,
and concurrent renames are not possible.
Thus, if a gro_genealogy determined the operation to have the
form fdvp/N/.../tdvp, then it might cease to have that form, but
only because tdvp was removed which will harmlessly cause the
rename to fail later on.  Similarly, if gro_genealogy determined
the operation _not_ to have the form fdvp/N/.../tdvp then it
can't begin to have that form until after the rename has
completed.
The lock order is,
=> for fdvp/.../tdvp:
   1. lock fdvp
   2. lookup(/lock/unlock) fvp (consistent with fdvp->fvp)
   3. lock fvp if a directory (consistent with fdvp->fvp)
   4. lock tdvp (consistent with fdvp->tdvp and possibly fvp->tdvp)
   5. lookup(/lock/unlock) tvp (consistent with tdvp->tvp)
   6. lock fvp if a nondirectory (fvp->t* or fvp->fdvp is impossible)
   7. lock tvp if not fvp (tvp->f* is impossible unless tvp=fvp)
=> for incommensurate fdvp & tdvp, or for tdvp/.../fdvp:
   1. lock tdvp
   2. lookup(/lock/unlock) tvp (consistent with tdvp->tvp)
   3. lock tvp if a directory (consistent with tdvp->tvp)
   4. lock fdvp (either incommensurate with tdvp and/or tvp, or
  consistent with tdvp(->tvp)->fdvp)
   5. lookup(/lock/unlock) fvp (consistent with fdvp->fvp)
   6. lock tvp if a nondirectory (tvp->f* or tvp->tdvp is impossible)
   7. lock fvp if not tvp (fvp->t* is impossible unless fvp=tvp)

Deadlocks found by hannken@; resolution worked out with dholland@.

XXX I think we could improve concurrency somewhat -- with a likely
big win for applications like tar and rsync that create many files
with temporary names and then rename them to the permanent one in the
same directory -- by making vfs_renamelock a reader/writ

CVS commit: [netbsd-9] src/doc

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 12:26:36 UTC 2020

Modified Files:
src/doc [netbsd-9]: CHANGES-9.1

Log Message:
Tickets #1077 - #1083


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.109 -r1.1.2.110 src/doc/CHANGES-9.1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/distrib/sets/lists/tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 13:03:16 UTC 2020

Modified Files:
src/distrib/sets/lists/tests: mi

Log Message:
make(1): add recently added tests to distrib file list


To generate a diff of this commit:
cvs rdiff -u -r1.921 -r1.922 src/distrib/sets/lists/tests/mi

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 13:17:44 UTC 2020

Modified Files:
src/usr.bin/make: parse.c

Log Message:
make(1): reduce complexity of PrintLocation

Analyzing a printf statement that is split into several small pieces is
harder than necessary in this case.  Joing the printf statements into
simple strings.  While here, remove the needless casts to int and add a
few empty lines for visual guidance.


To generate a diff of this commit:
cvs rdiff -u -r1.298 -r1.299 src/usr.bin/make/parse.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 13:22:29 UTC 2020

Modified Files:
src/usr.bin/make: parse.c

Log Message:
make(1): fix comment for ParseVErrorInternal


To generate a diff of this commit:
cvs rdiff -u -r1.299 -r1.300 src/usr.bin/make/parse.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 13:25:07 UTC 2020

Modified Files:
src/usr.bin/make: parse.c

Log Message:
make(1): clean up comments for ParseErrorInternal and ParseMessage


To generate a diff of this commit:
cvs rdiff -u -r1.300 -r1.301 src/usr.bin/make/parse.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/lib/libsa

2020-09-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Sep 13 13:31:36 UTC 2020

Modified Files:
src/sys/lib/libsa: loadfile_elf32.c

Log Message:
Elf64_Phdr::p_offset is 64 bits, not 32


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/lib/libsa/loadfile_elf32.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 13:50:27 UTC 2020

Modified Files:
src/usr.bin/make: cond.c make.h nonints.h parse.c var.c

Log Message:
make(1): clean up API for evaluating conditions

There was no need to make struct If publicly visible.

There was no need to have parameters in the public API that were passed
the same constants all the time.

The former function names had not been distinctive.


To generate a diff of this commit:
cvs rdiff -u -r1.141 -r1.142 src/usr.bin/make/cond.c
cvs rdiff -u -r1.140 -r1.141 src/usr.bin/make/make.h
cvs rdiff -u -r1.116 -r1.117 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.301 -r1.302 src/usr.bin/make/parse.c
cvs rdiff -u -r1.510 -r1.511 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 13:53:55 UTC 2020

Modified Files:
src/usr.bin/make: cond.c

Log Message:
make(1): fix parameter type of CondEvalExpression


To generate a diff of this commit:
cvs rdiff -u -r1.142 -r1.143 src/usr.bin/make/cond.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/tests/net/arp

2020-09-13 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Sun Sep 13 14:36:32 UTC 2020

Modified Files:
src/tests/net/arp: t_arp.sh

Log Message:
arp test: Use the ndp cache expiration test in place of the old one

As the logic is the same.
While here, GC some variables and comment out a redundant sleep.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/tests/net/arp/t_arp.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 15:15:51 UTC 2020

Modified Files:
src/usr.bin/make: arch.c buf.c compat.c cond.c dir.c enum.c for.c
hash.c job.c lst.c main.c make.c make.h make_malloc.c metachar.c
parse.c str.c strlist.c suff.c targ.c trace.c util.c var.c

Log Message:
make(1): clean up RCSID blocks

These blocks mostly consisted of redundant structure, following the same
#ifndef pattern over and over, with only minimal variation.

It's easier to maintain if the common structure is only written once and
encapsulated in a macro.

To avoid "defined but unused" warnings from GCC in the case where
MAKE_NATIVE is not defined, I had to add volatile.  Adding
MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the
resulting binary.


To generate a diff of this commit:
cvs rdiff -u -r1.113 -r1.114 src/usr.bin/make/arch.c
cvs rdiff -u -r1.37 -r1.38 src/usr.bin/make/buf.c
cvs rdiff -u -r1.144 -r1.145 src/usr.bin/make/compat.c
cvs rdiff -u -r1.143 -r1.144 src/usr.bin/make/cond.c
cvs rdiff -u -r1.141 -r1.142 src/usr.bin/make/dir.c src/usr.bin/make/make.h
cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/enum.c src/usr.bin/make/strlist.c
cvs rdiff -u -r1.82 -r1.83 src/usr.bin/make/for.c
cvs rdiff -u -r1.31 -r1.32 src/usr.bin/make/hash.c
cvs rdiff -u -r1.231 -r1.232 src/usr.bin/make/job.c
cvs rdiff -u -r1.62 -r1.63 src/usr.bin/make/lst.c
cvs rdiff -u -r1.336 -r1.337 src/usr.bin/make/main.c
cvs rdiff -u -r1.135 -r1.136 src/usr.bin/make/make.c
cvs rdiff -u -r1.18 -r1.19 src/usr.bin/make/make_malloc.c
cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/metachar.c
cvs rdiff -u -r1.302 -r1.303 src/usr.bin/make/parse.c
cvs rdiff -u -r1.64 -r1.65 src/usr.bin/make/str.c
cvs rdiff -u -r1.154 -r1.155 src/usr.bin/make/suff.c
cvs rdiff -u -r1.87 -r1.88 src/usr.bin/make/targ.c
cvs rdiff -u -r1.15 -r1.16 src/usr.bin/make/trace.c
cvs rdiff -u -r1.59 -r1.60 src/usr.bin/make/util.c
cvs rdiff -u -r1.511 -r1.512 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 15:27:25 UTC 2020

Modified Files:
src/usr.bin/make: buf.h hash.h make_malloc.h metachar.h nonints.h

Log Message:
make(1): fix position of MAKE_ATTR_UNUSED in inline functions

The attribute needs to be before the return type, otherwise GCC 5
complains that Hash_GetValue is defined but not used, when compiling
with USER_CPPFLAGS=-Dinline=.  The other functions don't get any
warnings.  It's probably because Hash_GetValue is the only inline
function that returns a pointer.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/usr.bin/make/buf.h
cvs rdiff -u -r1.22 -r1.23 src/usr.bin/make/hash.h
cvs rdiff -u -r1.10 -r1.11 src/usr.bin/make/make_malloc.h
cvs rdiff -u -r1.8 -r1.9 src/usr.bin/make/metachar.h
cvs rdiff -u -r1.117 -r1.118 src/usr.bin/make/nonints.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/crypto/external/bsd/openssl/dist/crypto/engine

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 15:51:06 UTC 2020

Modified Files:
src/crypto/external/bsd/openssl/dist/crypto/engine [netbsd-9]:
eng_devcrypto.c

Log Message:
Pull up following revision(s) (requested by tsutsui in ticket #1084):

crypto/external/bsd/openssl/dist/crypto/engine/eng_devcrypto.c: 
revision 1.8

Restore a local change for PR/54740 lost during openssl 1.1.1e merge.
syslogd(8) complains "Could not open /dev/crypto: Device not configured"
again when pseudo-device crypto(4) is not configured in a kernel.

 
http://cvsweb.netbsd.org/bsdweb.cgi/src/crypto/external/bsd/openssl/dist/crypto/engine/eng_devcrypto.c#rev1.5
 
http://cvsweb.netbsd.org/bsdweb.cgi/src/crypto/external/bsd/openssl/dist/crypto/engine/eng_devcrypto.c#rev1.7

Should be pullued up to netbsd-9.


To generate a diff of this commit:
cvs rdiff -u -r1.4.4.3 -r1.4.4.4 \
src/crypto/external/bsd/openssl/dist/crypto/engine/eng_devcrypto.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/doc

2020-09-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 13 15:52:03 UTC 2020

Modified Files:
src/doc [netbsd-9]: CHANGES-9.1

Log Message:
Ticket #1084


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.110 -r1.1.2.111 src/doc/CHANGES-9.1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 16:47:24 UTC 2020

Modified Files:
src/usr.bin/make: var.c
src/usr.bin/make/unit-tests: counter.exp vardebug.exp
varname-dot-shell.exp

Log Message:
make(1): shorten debug output of ApplyModifiers

Having the words "eflags" and "vflags" in the debug output was too
repetitive.  That they are flags is made obvious by the '|' separator,
and the flags have clearly distinguishable names (VARE_* vs. VAR_*),
which lowers the chance for confusion.


To generate a diff of this commit:
cvs rdiff -u -r1.512 -r1.513 src/usr.bin/make/var.c
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/counter.exp
cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/vardebug.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/varname-dot-shell.exp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 16:53:19 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: varname-dot-includes.mk
varname-dot-libs.mk

Log Message:
make(1): fix tests for .INCLUDES and .LIBS

Found by an early draft of a refactoring of Var_Parse to properly report
errors.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/varname-dot-includes.mk \
src/usr.bin/make/unit-tests/varname-dot-libs.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/net

2020-09-13 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Sep 13 17:17:31 UTC 2020

Modified Files:
src/sys/net: if_wg.c

Log Message:
wg: Add missing kpreempt_disable/enable around pktq_enqueue.


To generate a diff of this commit:
cvs rdiff -u -r1.56 -r1.57 src/sys/net/if_wg.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/net

2020-09-13 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Sep 13 17:18:13 UTC 2020

Modified Files:
src/sys/net: if_wg.c

Log Message:
wg: Use RUN_ONCE to defer workqueue_create until after configure.

Should really fix workqueue(9) so workqueue_create can be done before
CPUs have been detected in configure, but this will serve as a stop-
gap measure.


To generate a diff of this commit:
cvs rdiff -u -r1.57 -r1.58 src/sys/net/if_wg.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/net

2020-09-13 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Sep 13 17:18:54 UTC 2020

Modified Files:
src/sys/net: if_wg.c

Log Message:
wg: Fix detach logic.

Not tested but this should be less of a rake to step on if anyone
made an unloadable wg module.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/net/if_wg.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 18:27:39 UTC 2020

Modified Files:
src/usr.bin/make: arch.c cond.c nonints.h parse.c suff.c var.c

Log Message:
make(1): prepare Var_Parse for proper error handling and reporting

Right now, Var_Parse swallows many errors during parsing and evaluation.
Ideally, these errors should propagate from the deeply nested
expressions where they occur up to the top-level expressions.  When such
an error occurs, the depending expressions should not be evaluated any
further.  They may still be parsed, but side effects should be
minimized.

The goal is to prevent incomplete expressions like the "xy}" in
moderrs.exp:106 from being evaluated and eventually passed to the shell
for execution.  This expression is a left-over from a parse error in the
mod-t-parse target in moderrs.mk:154.

This commit is a first step in analyzing and verifying the current state
of affairs. The modelling in VarParseErrors already looks complicated
but is expected to closely match reality.


To generate a diff of this commit:
cvs rdiff -u -r1.114 -r1.115 src/usr.bin/make/arch.c
cvs rdiff -u -r1.144 -r1.145 src/usr.bin/make/cond.c
cvs rdiff -u -r1.118 -r1.119 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.303 -r1.304 src/usr.bin/make/parse.c
cvs rdiff -u -r1.155 -r1.156 src/usr.bin/make/suff.c
cvs rdiff -u -r1.513 -r1.514 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 19:16:22 UTC 2020

Modified Files:
src/usr.bin/make: nonints.h var.c

Log Message:
make(1): make documentation of VarParseErrors more precise


To generate a diff of this commit:
cvs rdiff -u -r1.119 -r1.120 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.514 -r1.515 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 19:28:46 UTC 2020

Modified Files:
src/usr.bin/make: var.c
src/usr.bin/make/unit-tests: opt-debug-lint.exp opt-debug-lint.mk

Log Message:
make(1): in lint mode, improve error handling for undefined variables

It's a first step for improving the error message that make prints.


To generate a diff of this commit:
cvs rdiff -u -r1.515 -r1.516 src/usr.bin/make/var.c
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/opt-debug-lint.exp \
src/usr.bin/make/unit-tests/opt-debug-lint.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 19:46:23 UTC 2020

Modified Files:
src/usr.bin/make: cond.c nonints.h var.c
src/usr.bin/make/unit-tests: opt-debug-lint.exp

Log Message:
make(1): suppress wrong "Malformed conditional" for undefined variables

This only has an effect in lint mode right now.


To generate a diff of this commit:
cvs rdiff -u -r1.145 -r1.146 src/usr.bin/make/cond.c
cvs rdiff -u -r1.120 -r1.121 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.516 -r1.517 src/usr.bin/make/var.c
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/opt-debug-lint.exp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 20:04:27 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: dep-var.mk

Log Message:
make(1): explain why the dep-var test behaves differently in lint mode


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/dep-var.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 20:21:24 UTC 2020

Modified Files:
src/usr.bin/make: var.c
src/usr.bin/make/unit-tests: opt-debug-lint.exp opt-debug-lint.mk

Log Message:
make(1): in lint mode, report undefined variables in conditions


To generate a diff of this commit:
cvs rdiff -u -r1.517 -r1.518 src/usr.bin/make/var.c
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/opt-debug-lint.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/opt-debug-lint.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 20:38:47 UTC 2020

Modified Files:
src/usr.bin/make: nonints.h

Log Message:
make(1): fix documentation of VarParseErrors

It does not matter whether lint mode is enabled or not, Var_Parse must
reliably return whether an error message has been printed or not.

In the current phase where proper error handling is implemented only in
lint mode, this leads to code that looks a bit bloated since a few extra
branches are added, but that's ok.  Eventually the SILENT constants will
all be removed, and then the number of different cases will shrink
again.


To generate a diff of this commit:
cvs rdiff -u -r1.121 -r1.122 src/usr.bin/make/nonints.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/share/mk

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 20:59:18 UTC 2020

Modified Files:
src/share/mk: bsd.own.mk

Log Message:
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).


To generate a diff of this commit:
cvs rdiff -u -r1.1211 -r1.1212 src/share/mk/bsd.own.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make/unit-tests

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 21:00:34 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: varparse-dynamic.mk

Log Message:
make(1): add test for dynamic variable with modifiers in Var_Parse


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/varparse-dynamic.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 21:03:15 UTC 2020

Modified Files:
src/usr.bin/make: var.c

Log Message:
make(1): in Var_Parse, replace bmake_strldup with bmake_strsedup


To generate a diff of this commit:
cvs rdiff -u -r1.518 -r1.519 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.bin/make

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Sun Sep 13 21:12:08 UTC 2020

Modified Files:
src/usr.bin/make: parse.c

Log Message:
make(1): rename local variables in PrintLocation

For PrintLocation, there is no "current" filename or line number,
therefore the "c" in the variable names was confusing.


To generate a diff of this commit:
cvs rdiff -u -r1.304 -r1.305 src/usr.bin/make/parse.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/binutils/dist/ld

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 21:14:02 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
merge riscv*-netbsd* target support.


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/binutils/usr.bin/ld/arch

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 21:18:50 UTC 2020

Modified Files:
src/external/gpl3/binutils/usr.bin/ld/arch/riscv32: defs.mk
ldemul-list.h
src/external/gpl3/binutils/usr.bin/ld/arch/riscv64: defs.mk
ldemul-list.h

Log Message:
regen for riscv32/riscv64 target emulation list.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/gpl3/binutils/usr.bin/ld/arch/riscv32/defs.mk
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/binutils/usr.bin/ld/arch/riscv32/ldemul-list.h
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/binutils/usr.bin/ld/arch/riscv64/defs.mk
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/binutils/usr.bin/ld/arch/riscv64/ldemul-list.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/gcc

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 21:21:04 UTC 2020

Modified Files:
src/external/gpl3/gcc: README.gcc9

Log Message:
note some platforms switched and some are ready to switch.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/gcc/README.gcc9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/acpi

2020-09-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Sep 13 21:41:17 UTC 2020

Modified Files:
src/sys/arch/arm/acpi: acpi_iort.c acpi_pci_n1sdp.c acpi_platform.c
acpi_table.c

Log Message:
Make Arm MD ACPI code big endian friendly.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/acpi/acpi_iort.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/acpi/acpi_pci_n1sdp.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/acpi/acpi_platform.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/acpi/acpi_table.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/mit/xorg/server/xorg-server

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 23:01:03 UTC 2020

Modified Files:
src/external/mit/xorg/server/xorg-server/Xext: Makefile
src/external/mit/xorg/server/xorg-server/fb: Makefile.fb
src/external/mit/xorg/server/xorg-server/hw/vfb: Makefile
src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg: Makefile
src/external/mit/xorg/server/xorg-server/record: Makefile

Log Message:
remove additional -DHAVE_DIX_CONFIG_H.

add ${X11FLAGS.DIX} ${X11INCS.DIX} to record.  fixes build on riscv64.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/mit/xorg/server/xorg-server/Xext/Makefile
cvs rdiff -u -r1.12 -r1.13 \
src/external/mit/xorg/server/xorg-server/fb/Makefile.fb
cvs rdiff -u -r1.19 -r1.20 \
src/external/mit/xorg/server/xorg-server/hw/vfb/Makefile
cvs rdiff -u -r1.17 -r1.18 \
src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg/Makefile
cvs rdiff -u -r1.2 -r1.3 \
src/external/mit/xorg/server/xorg-server/record/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/gcc

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 23:23:00 UTC 2020

Modified Files:
src/external/gpl3/gcc: README.gcc9

Log Message:
riscv64 vs xorg-server is solved (non-gcc specific issue.)


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/gcc/README.gcc9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 23:32:04 UTC 2020

Modified Files:
src/external/gpl3/gcc: README.gcc9
src/share/mk: bsd.own.mk

Log Message:
switch riscv and ia64 to GCC 9.
switch riscv to binutils 2.34.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/gcc/README.gcc9
cvs rdiff -u -r1.1212 -r1.1213 src/share/mk/bsd.own.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/share/mk

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 23:33:21 UTC 2020

Modified Files:
src/share/mk: bsd.own.mk

Log Message:
fix syntax errors in previous.


To generate a diff of this commit:
cvs rdiff -u -r1.1213 -r1.1214 src/share/mk/bsd.own.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/share/mk

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep 14 00:11:45 UTC 2020

Modified Files:
src/share/mk: bsd.own.mk

Log Message:
switch m68k and sh3 to binutils 2.34.  testing sun3 in tme
and landisk in gxemul shows them both to work as well as
binutils 2.31.

that's binutils 2.34 for everyone now.


To generate a diff of this commit:
cvs rdiff -u -r1.1214 -r1.1215 src/share/mk/bsd.own.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/distrib/sets/lists/dtb

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep 14 00:01:51 UTC 2020

Added Files:
src/distrib/sets/lists/dtb: ad.earmv7eb

Log Message:
fix earmv7eb builds -- add the dtb set items.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/distrib/sets/lists/dtb/ad.earmv7eb

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src

2020-09-13 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Mon Sep 14 00:40:03 UTC 2020

Modified Files:
src/distrib/sets/lists/base: mi
src/distrib/sets/lists/comp: mi
src/sys/dev: Makefile

Log Message:
Revert previous to make iscsi kernel headers optional again, as
required by kamil.

Now, sanitizer in GCC9 has been fixed differently for MKISCSI=no.


To generate a diff of this commit:
cvs rdiff -u -r1.1263 -r1.1264 src/distrib/sets/lists/base/mi
cvs rdiff -u -r1.2353 -r1.2354 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/gcc

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep 14 01:19:50 UTC 2020

Modified Files:
src/external/gpl3/gcc: README.gcc9

Log Message:
fixed armv7-eb build issue; as not gcc related.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/gcc/README.gcc9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/net

2020-09-13 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Sep 14 04:57:21 UTC 2020

Modified Files:
src/sys/net: if_wg.c

Log Message:
wg: Add altq hooks.

While here, remove the IFQ_CLASSIFY bottleneck (takes the ifq lock,
so it would serialize all transmission to all peers on a single wg(4)
interface).

altq can be disabled at compile-time or at run-time; even if included
at comple-time the run-time impact should be negligible if disabled.


To generate a diff of this commit:
cvs rdiff -u -r1.59 -r1.60 src/sys/net/if_wg.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/sh3/include

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep 14 05:04:05 UTC 2020

Modified Files:
src/sys/arch/sh3/include: ptrace.h

Log Message:
apply some parens to make macros safe.  fixes GCC 9 sanitizer issues.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/sh3/include/ptrace.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep 14 06:22:59 UTC 2020

Modified Files:
src/distrib/sets/lists/tests: mi
src/usr.bin/make/unit-tests: Makefile cond-token-number.exp
cond-token-number.mk
Added Files:
src/usr.bin/make/unit-tests: cond-cmp-unary.exp cond-cmp-unary.mk

Log Message:
make(1): add tests for numbers in conditions


To generate a diff of this commit:
cvs rdiff -u -r1.922 -r1.923 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.140 -r1.141 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/cond-cmp-unary.exp \
src/usr.bin/make/unit-tests/cond-cmp-unary.mk
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/cond-token-number.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/cond-token-number.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src

2020-09-13 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep 14 06:44:50 UTC 2020

Modified Files:
src/distrib/sets/lists/tests: mi
src/usr.bin/make/unit-tests: Makefile
Added Files:
src/usr.bin/make/unit-tests: cond-undef-lint.exp cond-undef-lint.mk

Log Message:
make(1): add test for undefined expressions in conditions in lint mode


To generate a diff of this commit:
cvs rdiff -u -r1.923 -r1.924 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.141 -r1.142 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/cond-undef-lint.exp \
src/usr.bin/make/unit-tests/cond-undef-lint.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/gdb.old/dist/gdb

2020-09-13 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Mon Sep 14 06:50:31 UTC 2020

Removed Files:
src/external/gpl3/gdb.old/dist/gdb: rust-exp.c x86bsd-nat.c
x86bsd-nat.h

Log Message:
Sync with external/gpl3/gdb/dist/gdb by removing unused files:

- rust-exp.c is generated file.
- x86bsd-nat.[ch] were replaced by x86-bsd-nat.[ch] when 8.0.1 was merged.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r0 src/external/gpl3/gdb.old/dist/gdb/rust-exp.c
cvs rdiff -u -r1.1.1.1 -r0 src/external/gpl3/gdb.old/dist/gdb/x86bsd-nat.c \
src/external/gpl3/gdb.old/dist/gdb/x86bsd-nat.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.