CVS commit: src/sys/arch/aarch64

2020-11-09 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Tue Nov 10 07:51:19 UTC 2020

Modified Files:
src/sys/arch/aarch64/aarch64: aarch64_machdep.c genassym.cf pmap.c
pmap_page.S pmapboot.c
src/sys/arch/aarch64/include: asan.h vmparam.h

Log Message:
AA64 is not MIPS.

Change all KSEG references to directmap


To generate a diff of this commit:
cvs rdiff -u -r1.53 -r1.54 src/sys/arch/aarch64/aarch64/aarch64_machdep.c
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/aarch64/aarch64/genassym.cf
cvs rdiff -u -r1.95 -r1.96 src/sys/arch/aarch64/aarch64/pmap.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/aarch64/aarch64/pmap_page.S
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/aarch64/aarch64/pmapboot.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/aarch64/include/asan.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/aarch64/include/vmparam.h

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

Modified files:

Index: src/sys/arch/aarch64/aarch64/aarch64_machdep.c
diff -u src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.53 src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.54
--- src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.53	Thu Oct 22 07:31:15 2020
+++ src/sys/arch/aarch64/aarch64/aarch64_machdep.c	Tue Nov 10 07:51:19 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: aarch64_machdep.c,v 1.53 2020/10/22 07:31:15 skrll Exp $ */
+/* $NetBSD: aarch64_machdep.c,v 1.54 2020/11/10 07:51:19 skrll Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.53 2020/10/22 07:31:15 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.54 2020/11/10 07:51:19 skrll Exp $");
 
 #include "opt_arm_debug.h"
 #include "opt_cpuoptions.h"
@@ -150,8 +150,8 @@ cpu_kernel_vm_init(uint64_t memory_start
 	vaddr_t data_start = (vaddr_t)__data_start;
 	vaddr_t rodata_start = (vaddr_t)__rodata_start;
 
-	/* add KSEG mappings of whole memory */
-	const pt_entry_t ksegattr =
+	/* add direct mappings of whole memory */
+	const pt_entry_t dmattr =
 	LX_BLKPAG_ATTR_NORMAL_WB |
 	LX_BLKPAG_AP_RW |
 	LX_BLKPAG_PXN |
@@ -164,7 +164,7 @@ cpu_kernel_vm_init(uint64_t memory_start
 		(uint64_t)bootconfig.dram[blk].pages * PAGE_SIZE);
 
 		pmapboot_enter_range(AARCH64_PA_TO_KVA(start), start,
-		end - start, ksegattr, printf);
+		end - start, dmattr, printf);
 	}
 	aarch64_dcache_wbinv_all();
 
@@ -216,7 +216,7 @@ cpu_kernel_vm_init(uint64_t memory_start
  *
  *   0x_bfff__  End of direct mapped
  *   0x___  Start of direct mapped
- *  = AARCH64_KSEG_START
+ *  = AARCH64_DIRECTMAP_START
  *
  * Hole: 0xfffe___
  *   0x0001___
@@ -605,9 +605,9 @@ mm_md_kernacc(void *ptr, vm_prot_t prot,
 		*handled = true;
 		if ((v < data_start) && (prot & VM_PROT_WRITE))
 			return EFAULT;
-	} else if (IN_RANGE(v, AARCH64_KSEG_START, AARCH64_KSEG_END)) {
+	} else if (IN_RANGE(v, AARCH64_DIRECTMAP_START, AARCH64_DIRECTMAP_END)) {
 		/*
-		 * if defined PMAP_MAP_POOLPAGE, direct mapped address (KSEG)
+		 * if defined PMAP_MAP_POOLPAGE, direct mapped address
 		 * will be appeared as kvm(3) address.
 		 */
 		paddr_t pa = AARCH64_KVA_TO_PA(v);

Index: src/sys/arch/aarch64/aarch64/genassym.cf
diff -u src/sys/arch/aarch64/aarch64/genassym.cf:1.31 src/sys/arch/aarch64/aarch64/genassym.cf:1.32
--- src/sys/arch/aarch64/aarch64/genassym.cf:1.31	Tue Sep 15 09:28:20 2020
+++ src/sys/arch/aarch64/aarch64/genassym.cf	Tue Nov 10 07:51:19 2020
@@ -1,4 +1,4 @@
-# $NetBSD: genassym.cf,v 1.31 2020/09/15 09:28:20 ryo Exp $
+# $NetBSD: genassym.cf,v 1.32 2020/11/10 07:51:19 skrll Exp $
 #-
 # Copyright (c) 2014 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -70,8 +70,8 @@ define	VM_MIN_KERNEL_ADDRESS	VM_MIN_KERN
 define	VM_MAX_KERNEL_ADDRESS	VM_MAX_KERNEL_ADDRESS
 define	VM_KERNEL_IO_ADDRESS	VM_KERNEL_IO_ADDRESS
 define	VM_KERNEL_IO_SIZE	VM_KERNEL_IO_SIZE
-define	AARCH64_KSEG_START	AARCH64_KSEG_START
-define	AARCH64_KSEG_MASK	AARCH64_KSEG_MASK
+define	AARCH64_DIRECTMAP_START	AARCH64_DIRECTMAP_START
+define	AARCH64_DIRECTMAP_MASK	AARCH64_DIRECTMAP_MASK
 define	UPAGES			UPAGES
 define	USPACE			(UPAGES * PAGE_SIZE)
 

Index: src/sys/arch/aarch64/aarch64/pmap.c
diff -u src/sys/arch/aarch64/aarch64/pmap.c:1.95 src/sys/arch/aarch64/aarch64/pmap.c:1.96
--- src/sys/arch/aarch64/aarch64/pmap.c:1.95	Sat Nov  7 08:33:50 2020
+++ src/sys/arch/aarch64/aarch64/pmap.c	Tue Nov 10 07:51:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.c,v 1.95 2020/11/07 08:33:50 skrll Exp $	*/
+/*	$NetBSD: pmap.c,v 1.96 2020/11/10 07:51:19 skrll Exp $	*/
 
 /*
  * Copyright (c) 2017 Ryo Shimizu 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.95 2020/11/07 08:33:50 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.96 2020/11/10 07:51:19 skrll Exp 

CVS commit: src/usr.bin/make

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Tue Nov 10 07:40:30 UTC 2020

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

Log Message:
make(1): remove unnecessary NULL marker from functions list

Comparing the pointer works equally well and uses less memory.


To generate a diff of this commit:
cvs rdiff -u -r1.198 -r1.199 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.

Modified files:

Index: src/usr.bin/make/cond.c
diff -u src/usr.bin/make/cond.c:1.198 src/usr.bin/make/cond.c:1.199
--- src/usr.bin/make/cond.c:1.198	Mon Nov  9 00:07:06 2020
+++ src/usr.bin/make/cond.c	Tue Nov 10 07:40:30 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: cond.c,v 1.198 2020/11/09 00:07:06 rillig Exp $	*/
+/*	$NetBSD: cond.c,v 1.199 2020/11/10 07:40:30 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -93,7 +93,7 @@
 #include "dir.h"
 
 /*	"@(#)cond.c	8.2 (Berkeley) 1/2/94"	*/
-MAKE_RCSID("$NetBSD: cond.c,v 1.198 2020/11/09 00:07:06 rillig Exp $");
+MAKE_RCSID("$NetBSD: cond.c,v 1.199 2020/11/10 07:40:30 rillig Exp $");
 
 /*
  * The parsing of conditional expressions is based on this grammar:
@@ -726,37 +726,37 @@ CondParser_Func(CondParser *par, Boolean
 	size_t fn_name_len;
 	size_t (*fn_parse)(const char **, Boolean, const char *, char **);
 	Boolean (*fn_eval)(size_t, const char *);
-} fn_defs[] = {
+} fns[] = {
 	{ "defined",  7, ParseFuncArg,  FuncDefined },
 	{ "make", 4, ParseFuncArg,  FuncMake },
 	{ "exists",   6, ParseFuncArg,  FuncExists },
 	{ "empty",5, ParseEmptyArg, FuncEmpty },
 	{ "target",   6, ParseFuncArg,  FuncTarget },
-	{ "commands", 8, ParseFuncArg,  FuncCommands },
-	{ NULL,   0, NULL, NULL },
+	{ "commands", 8, ParseFuncArg,  FuncCommands }
 };
-const struct fn_def *fn_def;
+const struct fn_def *fn;
 char *arg = NULL;
 size_t arglen;
 const char *cp = par->p;
+const struct fn_def *fns_end = fns + sizeof fns / sizeof fns[0];
 
-for (fn_def = fn_defs; fn_def->fn_name != NULL; fn_def++) {
-	if (!is_token(cp, fn_def->fn_name, fn_def->fn_name_len))
+for (fn = fns; fn != fns_end; fn++) {
+	if (!is_token(cp, fn->fn_name, fn->fn_name_len))
 	continue;
 
-	cp += fn_def->fn_name_len;
+	cp += fn->fn_name_len;
 	cpp_skip_whitespace();
 	if (*cp != '(')
 	break;
 
-	arglen = fn_def->fn_parse(, doEval, fn_def->fn_name, );
+	arglen = fn->fn_parse(, doEval, fn->fn_name, );
 	if (arglen == 0 || arglen == (size_t)-1) {
 	par->p = cp;
 	*out_token = arglen == 0 ? TOK_FALSE : TOK_ERROR;
 	return TRUE;
 	}
 	/* Evaluate the argument using the required function. */
-	*out_token = ToToken(!doEval || fn_def->fn_eval(arglen, arg));
+	*out_token = ToToken(!doEval || fn->fn_eval(arglen, arg));
 	free(arg);
 	par->p = cp;
 	return TRUE;



CVS commit: src/sys/dev/ic

2020-11-09 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Tue Nov 10 07:39:12 UTC 2020

Modified Files:
src/sys/dev/ic: nvme.c

Log Message:
One more fix for big-endian machines.

Now, ld(4) at nvme(4) works perfectly for aarch64eb!

Tested on ROCKPro64 and qemu-system-aarch64.


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 src/sys/dev/ic/nvme.c

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

Modified files:

Index: src/sys/dev/ic/nvme.c
diff -u src/sys/dev/ic/nvme.c:1.51 src/sys/dev/ic/nvme.c:1.52
--- src/sys/dev/ic/nvme.c:1.51	Thu Sep 24 09:59:11 2020
+++ src/sys/dev/ic/nvme.c	Tue Nov 10 07:39:12 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: nvme.c,v 1.51 2020/09/24 09:59:11 ryo Exp $	*/
+/*	$NetBSD: nvme.c,v 1.52 2020/11/10 07:39:12 rin Exp $	*/
 /*	$OpenBSD: nvme.c,v 1.49 2016/04/18 05:59:50 dlg Exp $ */
 
 /*
@@ -18,7 +18,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nvme.c,v 1.51 2020/09/24 09:59:11 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nvme.c,v 1.52 2020/11/10 07:39:12 rin Exp $");
 
 #include 
 #include 
@@ -1377,7 +1377,7 @@ nvme_q_complete(struct nvme_softc *sc, s
 		if ((flags & NVME_CQE_PHASE) != q->q_cq_phase)
 			break;
 
-		ccb = >q_ccbs[cqe->cid];
+		ccb = >q_ccbs[lemtoh16(>cid)];
 
 		if (++q->q_cq_head >= q->q_entries) {
 			q->q_cq_head = 0;



CVS commit: src/sys/arch/riscv/riscv

2020-11-09 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Tue Nov 10 06:58:46 UTC 2020

Modified Files:
src/sys/arch/riscv/riscv: spl.S

Log Message:
Revamp to the point it builds, but needs more work


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/riscv/riscv/spl.S

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

Modified files:

Index: src/sys/arch/riscv/riscv/spl.S
diff -u src/sys/arch/riscv/riscv/spl.S:1.4 src/sys/arch/riscv/riscv/spl.S:1.5
--- src/sys/arch/riscv/riscv/spl.S:1.4	Wed Nov  4 07:09:46 2020
+++ src/sys/arch/riscv/riscv/spl.S	Tue Nov 10 06:58:46 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: spl.S,v 1.4 2020/11/04 07:09:46 skrll Exp $ */
+/* $NetBSD: spl.S,v 1.5 2020/11/10 06:58:46 skrll Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,41 +32,40 @@
 #include 
 #include "assym.h"
 
-__RCSID("$NetBSD: spl.S,v 1.4 2020/11/04 07:09:46 skrll Exp $")
+__RCSID("$NetBSD: spl.S,v 1.5 2020/11/10 06:58:46 skrll Exp $")
 
+#if notyet
 	.data
-	.globl	_C_LABEL(ipl_sr_map)
-	.type	_C_LABEL(ipl_sr_map), @object
+	.globl	_C_LABEL(ipl_si_map)
+	.type	_C_LABEL(ipl_si_map), @object
 	.p2align INT_SCALESHIFT
-_C_LABEL(ipl_sr_map):
-	.word	0			/* IPL_NONE */
-	.word	0			/* IPL_SOFTCLOCK */
-	.word	0			/* IPL_SOFTBIO */
-	.word	0			/* IPL_SOFTNET */
-	.word	0			/* IPL_SOFTSERIAL */
-	.word	SR_IM			/* IPL_VM */
-	.word	SR_IM			/* IPL_SCHED */
-	.word	SR_IM			/* IPL_DDB */
-	.word	SR_IM			/* IPL_HIGH */
+_C_LABEL(ipl_si_map):
+	.word	0	/* IPL_NONE */
+	.word	0	/* IPL_SOFTCLOCK */
+	.word	0	/* IPL_SOFTBIO */
+	.word	0	/* IPL_SOFTNET */
+	.word	0	/* IPL_SOFTSERIAL */
+	.word	SI_EXTERAL/* IPL_VM */
+	.word	SI_EXTERNAL | SI_TIMER			/* IPL_SCHED */
+	.word	SI_EXTERNAL | SI_SOFTWARE | SI_TIMER	/* IPL_HIGH */
+#endif
 
 ENTRY_NP(splx)
 	// a0 = new lower IPL
+	csrci	sstatus, SR_SIE		// disable interrupts
 	PTR_L	a3, L_CPU(tp)		// get curcpu()
 	INT_L	t0, CI_CPL(a3)		// get current IPL
 	beq	a0, t0, 2f
-.L_splset:
+
 	// a0 = new ipl
-	PTR_LA	t0, ipl_sr_map
-	slli	a1, a0, 2		// make integer index
-	add	t0, t0, a1		// index into table
-	INT_L	t0, (t0)		// get new mask bits to clear
-	li	t2, SR_IM		// get mask bits
-	xor	t0, t0, t2		// invert mask bits
-	csrc	sstatus, t2		// block everything
 	INT_S	a0, CI_CPL(a3)		// change IPL
 	beqz	t0, 2f
-	csrs	sstatus, t0		// unmask appropriate bits
-2:	INT_L	t4, CI_SOFTINTS(a3)	// get softint mask
+
+	//call riscv_do_pending_irqs
+2:
+	csrsi	sstatus, SR_SIE		// enable interrupts
+
+	INT_L	t4, CI_SOFTINTS(a3)	// get softint mask
 	srl	t4, t4, a0		// see what softints are pending.
 	beqz	t4, 3f			// none, just return
 	// there are softints that need to be delivered, so instead of
@@ -74,79 +73,82 @@ ENTRY_NP(splx)
 	// will do a tailcall back to splx and then we can return (if there
 	// are no pending softints).
 	tail	_C_LABEL(softint_deliver)
-3:	ret// return (or do softints)
+3:
+	ret// return (or do softints)
 END(splx)
 
 #if IPL_NONE != 0
 #error IPL_NONE is not 0
 #endif
 ENTRY_NP(spl0)
+	csrci	sstatus, SR_SIE		// disable interrupts
 	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	li	t0, SR_IM|SR_EI		// load SR_IM|EI
-	csrci	sstatus, SR_EI		// disable interrupts
 	INT_S	zero, CI_CPL(a3)	// set current IPL to IPL_NONE
-	csrs	sstatus, t0		// unmask all & enable interrupts
+
+	//call riscv_do_pending_irqs
+
+	csrsi	sstatus, SR_SIE		// enable interrupts
 	// spl0() is only called rarely so the overhead of always calling
 	// softint_deliver is minimal.
 	tail	_C_LABEL(softint_deliver)
 END(spl0)
 
 ENTRY_NP(splhigh)
+	csrci	sstatus, SR_SIE		// disable interrupts
 	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	INT_L	a0, CI_CPL(a3)		// get current IPL
-	li	t1, SR_IM		// load SR_IM
+	INT_L	a0, CI_CPL(a3)		// get current IPL for return value
 	li	t0, IPL_HIGH		//
-	csrc	sstatus, t1		// mask all interrupts
 	INT_S	t0, CI_CPL(a3)		// set it to IPL_HIGH
+	// interrupts remain disabled???
 	ret
 END(splhigh)
 
+
 ENTRY_NP(splsoftclock)
-	li	a0, IPL_SOFTCLOCK
-	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	j	.L_splset
+	li	t0, IPL_SOFTCLOCK
+	j	_splraise
 END(splsoftclock)
 
 ENTRY_NP(splsoftbio)
-	li	a0, IPL_SOFTBIO
-	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	j	.L_splset
+	li	t0, IPL_SOFTBIO
+	j	_splraise
 END(splsoftbio)
 
 ENTRY_NP(splsoftnet)
-	li	a0, IPL_SOFTNET
-	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	j	.L_splset
+	li	t0, IPL_SOFTNET
+	j	_splraise
 END(splsoftnet)
 
 ENTRY_NP(splsoftserial)
-	li	a0, IPL_SOFTSERIAL
-	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	j	.L_splset
+	li	t0, IPL_SOFTSERIAL
+	j	_splraise
 END(splsoftserial)
 
 ENTRY_NP(splvm)
-	li	a0, IPL_VM
-	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	j	.L_splset
+	li	t0, IPL_VM
+	j	_splraise
 END(splvm)
 
 ENTRY_NP(splsched)
-	li	a0, IPL_SCHED
-	PTR_L	a3, L_CPU(tp)		// get curcpu()
-	j	.L_splset
+	li	t0, IPL_SCHED
+	j	_splraise
 END(splsched)
 
 ENTRY_NP(splddb)
-	li	a0, IPL_DDB
-	PTR_L	a3, L_CPU(tp)		// get 

CVS commit: src/sys/uvm

2020-11-09 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Tue Nov 10 04:27:22 UTC 2020

Modified Files:
src/sys/uvm: uvm_bio.c

Log Message:
remove someone's leftover debug printfs.


To generate a diff of this commit:
cvs rdiff -u -r1.123 -r1.124 src/sys/uvm/uvm_bio.c

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

Modified files:

Index: src/sys/uvm/uvm_bio.c
diff -u src/sys/uvm/uvm_bio.c:1.123 src/sys/uvm/uvm_bio.c:1.124
--- src/sys/uvm/uvm_bio.c:1.123	Sun Oct 18 08:52:15 2020
+++ src/sys/uvm/uvm_bio.c	Tue Nov 10 04:27:22 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_bio.c,v 1.123 2020/10/18 08:52:15 rin Exp $	*/
+/*	$NetBSD: uvm_bio.c,v 1.124 2020/11/10 04:27:22 chs Exp $	*/
 
 /*
  * Copyright (c) 1998 Chuck Silvers.
@@ -34,7 +34,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: uvm_bio.c,v 1.123 2020/10/18 08:52:15 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_bio.c,v 1.124 2020/11/10 04:27:22 chs Exp $");
 
 #include "opt_uvmhist.h"
 #include "opt_ubc.h"
@@ -780,7 +780,6 @@ ubc_uiomove(struct uvm_object *uobj, str
 			 * do it now.  it's safe to use memset here
 			 * because we just mapped the pages above.
 			 */
-			printf("%s: error=%d\n", __func__, error);
 			memset(win, 0, bytelen);
 		}
 		ubc_release(win, flags, pgs, npages);
@@ -1009,7 +1008,6 @@ ubc_uiomove_direct(struct uvm_object *uo
 			 * error above, do it now.
 			 */
 			if (error != 0) {
-printf("%s: error=%d\n", __func__, error);
 (void) uvm_direct_process(pgs, npages, off,
 bytelen, ubc_zerorange_process, NULL);
 			}



CVS commit: src/usr.bin/make

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Tue Nov 10 00:32:13 UTC 2020

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

Log Message:
make(1): use consistent definition for MAKE_INLINE


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/usr.bin/make/buf.h
cvs rdiff -u -r1.31 -r1.32 src/usr.bin/make/hash.h
cvs rdiff -u -r1.84 -r1.85 src/usr.bin/make/lst.h
cvs rdiff -u -r1.204 -r1.205 src/usr.bin/make/make.h
cvs rdiff -u -r1.12 -r1.13 src/usr.bin/make/make_malloc.h
cvs rdiff -u -r1.11 -r1.12 src/usr.bin/make/metachar.h
cvs rdiff -u -r1.159 -r1.160 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.683 -r1.684 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.

Modified files:

Index: src/usr.bin/make/buf.h
diff -u src/usr.bin/make/buf.h:1.35 src/usr.bin/make/buf.h:1.36
--- src/usr.bin/make/buf.h:1.35	Sat Nov  7 14:11:58 2020
+++ src/usr.bin/make/buf.h	Tue Nov 10 00:32:12 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: buf.h,v 1.35 2020/11/07 14:11:58 rillig Exp $	*/
+/*	$NetBSD: buf.h,v 1.36 2020/11/10 00:32:12 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -94,7 +94,7 @@ typedef struct Buffer {
 void Buf_Expand_1(Buffer *);
 
 /* Buf_AddByte adds a single byte to a buffer. */
-static inline MAKE_ATTR_UNUSED void
+MAKE_INLINE void
 Buf_AddByte(Buffer *buf, char byte)
 {
 size_t old_len = buf->len++;
@@ -106,13 +106,13 @@ Buf_AddByte(Buffer *buf, char byte)
 end[1] = '\0';
 }
 
-static inline MAKE_ATTR_UNUSED size_t
+MAKE_INLINE size_t
 Buf_Len(const Buffer *buf)
 {
 return buf->len;
 }
 
-static inline MAKE_ATTR_UNUSED Boolean
+MAKE_INLINE Boolean
 Buf_EndsWith(const Buffer *buf, char ch)
 {
 return buf->len > 0 && buf->data[buf->len - 1] == ch;

Index: src/usr.bin/make/hash.h
diff -u src/usr.bin/make/hash.h:1.31 src/usr.bin/make/hash.h:1.32
--- src/usr.bin/make/hash.h:1.31	Sun Oct 25 19:19:07 2020
+++ src/usr.bin/make/hash.h	Tue Nov 10 00:32:12 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: hash.h,v 1.31 2020/10/25 19:19:07 rillig Exp $	*/
+/*	$NetBSD: hash.h,v 1.32 2020/11/10 00:32:12 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -103,13 +103,13 @@ typedef struct HashIter {
 HashEntry *entry;		/* Next entry to check in current bucket. */
 } HashIter;
 
-static inline MAKE_ATTR_UNUSED void *
+MAKE_INLINE void *
 HashEntry_Get(HashEntry *h)
 {
 return h->value;
 }
 
-static inline MAKE_ATTR_UNUSED void
+MAKE_INLINE void
 HashEntry_Set(HashEntry *h, void *datum)
 {
 h->value = datum;

Index: src/usr.bin/make/lst.h
diff -u src/usr.bin/make/lst.h:1.84 src/usr.bin/make/lst.h:1.85
--- src/usr.bin/make/lst.h:1.84	Wed Oct 28 02:43:16 2020
+++ src/usr.bin/make/lst.h	Tue Nov 10 00:32:12 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: lst.h,v 1.84 2020/10/28 02:43:16 rillig Exp $	*/
+/*	$NetBSD: lst.h,v 1.85 2020/11/10 00:32:12 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -118,7 +118,7 @@ void Lst_Destroy(List *, LstFreeProc);
 
 /* Get information about a list */
 
-static inline MAKE_ATTR_UNUSED Boolean
+MAKE_INLINE Boolean
 Lst_IsEmpty(List *list) { return list->first == NULL; }
 
 /* Find the first node that contains the given datum, or NULL. */
@@ -173,7 +173,7 @@ void Vector_Init(Vector *, size_t);
 
 /* Return the pointer to the given item in the vector.
  * The returned data is valid until the next modifying operation. */
-static inline MAKE_ATTR_UNUSED void *
+MAKE_INLINE void *
 Vector_Get(Vector *v, size_t i)
 {
 unsigned char *items = v->items;

Index: src/usr.bin/make/make.h
diff -u src/usr.bin/make/make.h:1.204 src/usr.bin/make/make.h:1.205
--- src/usr.bin/make/make.h:1.204	Sun Nov  8 23:38:02 2020
+++ src/usr.bin/make/make.h	Tue Nov 10 00:32:12 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: make.h,v 1.204 2020/11/08 23:38:02 rillig Exp $	*/
+/*	$NetBSD: make.h,v 1.205 2020/11/10 00:32:12 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -130,6 +130,8 @@
 #define MAKE_ATTR_PRINTFLIKE(fmtarg, firstvararg)	/* delete */
 #endif
 
+#define MAKE_INLINE static inline MAKE_ATTR_UNUSED
+
 /*
  * A boolean type is defined as an integer, not an enum, for historic reasons.
  * The only allowed values are the constants TRUE and FALSE (1 and 0).
@@ -657,31 +659,31 @@ void GNode_FprintDetails(FILE *, const c
 Boolean GNode_ShouldExecute(GNode *gn);
 
 /* See if the node was seen on the left-hand side of a dependency operator. */
-static MAKE_ATTR_UNUSED Boolean
+MAKE_INLINE Boolean
 GNode_IsTarget(const GNode *gn)
 {
 return (gn->type & OP_OPMASK) != 0;
 }
 
-static MAKE_ATTR_UNUSED const char *
+MAKE_INLINE const char *
 GNode_Path(const GNode *gn)
 {
 return gn->path != NULL ? gn->path : gn->name;
 }
 
-static MAKE_ATTR_UNUSED const char *
+MAKE_INLINE const 

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

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Tue Nov 10 00:19:19 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: Makefile varname-vpath.exp
varname-vpath.mk

Log Message:
make(1): add test for the obsolete variable VPATH


To generate a diff of this commit:
cvs rdiff -u -r1.195 -r1.196 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/varname-vpath.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/varname-vpath.mk

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

Modified files:

Index: src/usr.bin/make/unit-tests/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.195 src/usr.bin/make/unit-tests/Makefile:1.196
--- src/usr.bin/make/unit-tests/Makefile:1.195	Mon Nov  9 20:50:56 2020
+++ src/usr.bin/make/unit-tests/Makefile	Tue Nov 10 00:19:19 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.195 2020/11/09 20:50:56 rillig Exp $
+# $NetBSD: Makefile,v 1.196 2020/11/10 00:19:19 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -386,6 +386,7 @@ ENV.varmisc=		FROM_ENV=env
 ENV.varmisc+=		FROM_ENV_BEFORE=env
 ENV.varmisc+=		FROM_ENV_AFTER=env
 ENV.varmod-localtime+=	TZ=Europe/Berlin
+ENV.varname-vpath+=	VPATH=varname-vpath.dir:varname-vpath.dir2
 
 # Override make flags for some of the tests; default is -k.
 # If possible, write ".MAKEFLAGS: -dv" in the test .mk file instead of

Index: src/usr.bin/make/unit-tests/varname-vpath.exp
diff -u src/usr.bin/make/unit-tests/varname-vpath.exp:1.1 src/usr.bin/make/unit-tests/varname-vpath.exp:1.2
--- src/usr.bin/make/unit-tests/varname-vpath.exp:1.1	Sun Aug 16 12:07:52 2020
+++ src/usr.bin/make/unit-tests/varname-vpath.exp	Tue Nov 10 00:19:19 2020
@@ -1 +1,12 @@
+CondParser_Eval: !defined(TEST_MAIN)
+CondParser_Eval: exists(file-in-subdirectory)
+exists(file-in-subdirectory) result is ""
+CondParser_Eval: exists(file2-in-subdirectory)
+exists(file2-in-subdirectory) result is ""
+CondParser_Eval: exists(file-in-subdirectory)
+exists(file-in-subdirectory) result is "varname-vpath.dir/file-in-subdirectory"
+: yes 1
+CondParser_Eval: exists(file2-in-subdirectory)
+exists(file2-in-subdirectory) result is "varname-vpath.dir2/file2-in-subdirectory"
+: yes 2
 exit status 0

Index: src/usr.bin/make/unit-tests/varname-vpath.mk
diff -u src/usr.bin/make/unit-tests/varname-vpath.mk:1.2 src/usr.bin/make/unit-tests/varname-vpath.mk:1.3
--- src/usr.bin/make/unit-tests/varname-vpath.mk:1.2	Sun Aug 16 14:25:16 2020
+++ src/usr.bin/make/unit-tests/varname-vpath.mk	Tue Nov 10 00:19:19 2020
@@ -1,8 +1,42 @@
-# $NetBSD: varname-vpath.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: varname-vpath.mk,v 1.3 2020/11/10 00:19:19 rillig Exp $
 #
-# Tests for the special VPATH variable.
+# Tests for the special VPATH variable, which is an obsolete way of
+# specifying a colon-separated search path.  This search path is not active
+# when the makefiles are read, but only later when the shell commands are run.
+#
+# Instead of the VPATH, better use the -I option or the special target .PATH.
+
+.if !defined(TEST_MAIN)
+
+all: .SILENT
+	rm -rf varname-vpath.dir
+	mkdir varname-vpath.dir
+	touch varname-vpath.dir/file-in-subdirectory
+	rm -rf varname-vpath.dir2
+	mkdir varname-vpath.dir2
+	touch varname-vpath.dir2/file2-in-subdirectory
+
+	TEST_MAIN=yes VPATH=varname-vpath.dir:varname-vpath.dir2 \
+		${MAKE} -f ${MAKEFILE} -dc
 
-# TODO: Implementation
+	rm -r varname-vpath.dir
+	rm -r varname-vpath.dir2
+
+.else
+
+# The VPATH variable does not take effect at parse time.
+# It is evaluated only once, between reading the makefiles and making the
+# targets.  Therefore it could also be an ordinary variable, it doesn't need
+# to be an environment variable or a command line variable.
+.  if exists(file-in-subdirectory)
+.error
+.  endif
+.  if exists(file2-in-subdirectory)
+.error
+.  endif
 
 all:
-	@:;
+	: ${exists(file-in-subdirectory):L:?yes 1:no 1}
+	: ${exists(file2-in-subdirectory):L:?yes 2:no 2}
+
+.endif



CVS commit: src/games/warp

2020-11-09 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Tue Nov 10 00:02:11 UTC 2020

Modified Files:
src/games/warp: EXTERN.h INTERN.h bang.c bang.h init.c init.h intrp.c
intrp.h move.c move.h object.c object.h play.c play.h score.c
score.h sig.c sig.h sm.c term.c term.h them.c them.h us.c us.h
util.c util.h version.c version.h warp.c warp.h weapon.c weapon.h

Log Message:
Reset CVS keywords


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/games/warp/EXTERN.h src/games/warp/INTERN.h \
src/games/warp/bang.c src/games/warp/bang.h src/games/warp/init.c \
src/games/warp/init.h src/games/warp/intrp.c src/games/warp/intrp.h \
src/games/warp/move.c src/games/warp/move.h src/games/warp/object.c \
src/games/warp/object.h src/games/warp/play.c src/games/warp/play.h \
src/games/warp/score.c src/games/warp/score.h src/games/warp/sig.c \
src/games/warp/sig.h src/games/warp/sm.c src/games/warp/term.c \
src/games/warp/term.h src/games/warp/them.c src/games/warp/them.h \
src/games/warp/us.c src/games/warp/us.h src/games/warp/util.c \
src/games/warp/util.h src/games/warp/version.c src/games/warp/version.h \
src/games/warp/warp.c src/games/warp/warp.h src/games/warp/weapon.c \
src/games/warp/weapon.h

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

Modified files:

Index: src/games/warp/EXTERN.h
diff -u src/games/warp/EXTERN.h:1.1 src/games/warp/EXTERN.h:1.2
--- src/games/warp/EXTERN.h:1.1	Mon Nov  9 23:37:05 2020
+++ src/games/warp/EXTERN.h	Tue Nov 10 00:02:11 2020
@@ -1,24 +1,6 @@
-/* $Header: /cvsroot/src/games/warp/EXTERN.h,v 1.1 2020/11/09 23:37:05 kamil Exp $
- *
- * $Log: EXTERN.h,v $
- * Revision 1.1  2020/11/09 23:37:05  kamil
- * Add Warp Kit, Version 7.0 by Larry Wall
- *
- * Warp is a real-time space war game that doesn't get boring very quickly.
- * Read warp.doc and the manual page for more information.
- *
- * games/warp originally distributed with 4.3BSD-Reno, is back to the BSD
- * world via NetBSD. Its remnants were still mentioned in games/Makefile.
- *
- * Larry Wall, the original author and the copyright holder, generously
- * donated the game and copyright to The NetBSD Foundation, Inc.
- *
- * Import the game sources as-is from 4.3BSD-Reno, with the cession
- * of the copyright and license to BSD-2-clause NetBSD-style.
- *
- * Signed-off-by: Larry Wall 
- * Signed-off-by: Kamil Rytarowski 
+/* Header: EXTERN.h,v 7.0.1.1 86/12/12 16:46:50 lwall Exp
  *
+ * Log:	EXTERN.h,v
  * Revision 7.0.1.1  86/12/12  16:46:50  lwall
  * Guarded the undefs.
  * 
Index: src/games/warp/INTERN.h
diff -u src/games/warp/INTERN.h:1.1 src/games/warp/INTERN.h:1.2
--- src/games/warp/INTERN.h:1.1	Mon Nov  9 23:37:05 2020
+++ src/games/warp/INTERN.h	Tue Nov 10 00:02:11 2020
@@ -1,24 +1,6 @@
-/* $Header: /cvsroot/src/games/warp/INTERN.h,v 1.1 2020/11/09 23:37:05 kamil Exp $
- *
- * $Log: INTERN.h,v $
- * Revision 1.1  2020/11/09 23:37:05  kamil
- * Add Warp Kit, Version 7.0 by Larry Wall
- *
- * Warp is a real-time space war game that doesn't get boring very quickly.
- * Read warp.doc and the manual page for more information.
- *
- * games/warp originally distributed with 4.3BSD-Reno, is back to the BSD
- * world via NetBSD. Its remnants were still mentioned in games/Makefile.
- *
- * Larry Wall, the original author and the copyright holder, generously
- * donated the game and copyright to The NetBSD Foundation, Inc.
- *
- * Import the game sources as-is from 4.3BSD-Reno, with the cession
- * of the copyright and license to BSD-2-clause NetBSD-style.
- *
- * Signed-off-by: Larry Wall 
- * Signed-off-by: Kamil Rytarowski 
+/* Header: INTERN.h,v 7.0.1.1 86/12/12 16:51:45 lwall Exp
  *
+ * Log:	INTERN.h,v
  * Revision 7.0.1.1  86/12/12  16:51:45  lwall
  * Guarded the undefs.
  * 
Index: src/games/warp/bang.c
diff -u src/games/warp/bang.c:1.1 src/games/warp/bang.c:1.2
--- src/games/warp/bang.c:1.1	Mon Nov  9 23:37:05 2020
+++ src/games/warp/bang.c	Tue Nov 10 00:02:11 2020
@@ -1,24 +1,6 @@
-/* $Header: /cvsroot/src/games/warp/bang.c,v 1.1 2020/11/09 23:37:05 kamil Exp $ */
+/* Header: bang.c,v 7.0.1.3 86/12/12 16:57:00 lwall Exp */
 
-/* $Log: bang.c,v $
-/* Revision 1.1  2020/11/09 23:37:05  kamil
-/* Add Warp Kit, Version 7.0 by Larry Wall
-/*
-/* Warp is a real-time space war game that doesn't get boring very quickly.
-/* Read warp.doc and the manual page for more information.
-/*
-/* games/warp originally distributed with 4.3BSD-Reno, is back to the BSD
-/* world via NetBSD. Its remnants were still mentioned in games/Makefile.
-/*
-/* Larry Wall, the original author and the copyright holder, generously
-/* donated the game and copyright to The NetBSD Foundation, Inc.
-/*
-/* Import the game sources as-is from 4.3BSD-Reno, with the cession
-/* of the copyright and license to BSD-2-clause NetBSD-style.
-/*
-/* Signed-off-by: Larry Wall 
-/* Signed-off-by: Kamil 

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

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Nov  9 23:36:34 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: cmd-errors.exp cmd-errors.mk

Log Message:
make(1): add test that parsing continues after a parse error


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

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

Modified files:

Index: src/usr.bin/make/unit-tests/cmd-errors.exp
diff -u src/usr.bin/make/unit-tests/cmd-errors.exp:1.3 src/usr.bin/make/unit-tests/cmd-errors.exp:1.4
--- src/usr.bin/make/unit-tests/cmd-errors.exp:1.3	Mon Nov  2 20:48:36 2020
+++ src/usr.bin/make/unit-tests/cmd-errors.exp	Mon Nov  9 23:36:34 2020
@@ -1,9 +1,9 @@
-: undefined 
+: undefined  eol
 make: Unclosed variable "UNCLOSED"
 : unclosed-variable 
 make: Unclosed variable expression (expecting '}') for "UNCLOSED"
 : unclosed-modifier 
 make: Unknown modifier 'Z'
-: unknown-modifier 
-: end
+: unknown-modifier  eol
+: end eol
 exit status 0

Index: src/usr.bin/make/unit-tests/cmd-errors.mk
diff -u src/usr.bin/make/unit-tests/cmd-errors.mk:1.2 src/usr.bin/make/unit-tests/cmd-errors.mk:1.3
--- src/usr.bin/make/unit-tests/cmd-errors.mk:1.2	Mon Nov  2 20:37:50 2020
+++ src/usr.bin/make/unit-tests/cmd-errors.mk	Mon Nov  9 23:36:34 2020
@@ -1,4 +1,4 @@
-# $NetBSD: cmd-errors.mk,v 1.2 2020/11/02 20:37:50 rillig Exp $
+# $NetBSD: cmd-errors.mk,v 1.3 2020/11/09 23:36:34 rillig Exp $
 #
 # Demonstrate how errors in variable expansions affect whether the commands
 # are actually executed.
@@ -7,15 +7,13 @@ all: undefined unclosed-variable unclose
 
 # Undefined variables are not an error.  They expand to empty strings.
 undefined:
-	: $@ ${UNDEFINED}
+	: $@ ${UNDEFINED} eol
 
-# XXX: As of 2020-11-01, this obvious syntax error is not detected.
 # XXX: As of 2020-11-01, this command is executed even though it contains
 # parse errors.
 unclosed-variable:
 	: $@ ${UNCLOSED
 
-# XXX: As of 2020-11-01, this obvious syntax error is not detected.
 # XXX: As of 2020-11-01, this command is executed even though it contains
 # parse errors.
 unclosed-modifier:
@@ -24,9 +22,9 @@ unclosed-modifier:
 # XXX: As of 2020-11-01, this command is executed even though it contains
 # parse errors.
 unknown-modifier:
-	: $@ ${UNKNOWN:Z}
+	: $@ ${UNKNOWN:Z} eol
 
 end:
-	: $@
+	: $@ eol
 
 # XXX: As of 2020-11-02, despite the parse errors, the exit status is 0.



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

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Nov  9 22:36:44 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: varname-makefile.exp varname-makefile.mk

Log Message:
make(1): add test for MAKEFILE after reading all files


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

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

Modified files:

Index: src/usr.bin/make/unit-tests/varname-makefile.exp
diff -u src/usr.bin/make/unit-tests/varname-makefile.exp:1.1 src/usr.bin/make/unit-tests/varname-makefile.exp:1.2
--- src/usr.bin/make/unit-tests/varname-makefile.exp:1.1	Fri Sep  4 17:05:39 2020
+++ src/usr.bin/make/unit-tests/varname-makefile.exp	Mon Nov  9 22:36:44 2020
@@ -1 +1,2 @@
+: In the end, MAKEFILE is /dev/null.
 exit status 0

Index: src/usr.bin/make/unit-tests/varname-makefile.mk
diff -u src/usr.bin/make/unit-tests/varname-makefile.mk:1.2 src/usr.bin/make/unit-tests/varname-makefile.mk:1.3
--- src/usr.bin/make/unit-tests/varname-makefile.mk:1.2	Sat Sep  5 06:25:38 2020
+++ src/usr.bin/make/unit-tests/varname-makefile.mk	Mon Nov  9 22:36:44 2020
@@ -1,4 +1,4 @@
-# $NetBSD: varname-makefile.mk,v 1.2 2020/09/05 06:25:38 rillig Exp $
+# $NetBSD: varname-makefile.mk,v 1.3 2020/11/09 22:36:44 rillig Exp $
 #
 # Tests for the special MAKEFILE variable, which contains the current
 # makefile from the -f command line option.
@@ -41,4 +41,9 @@ MAKEFILE=	overwritten
 .endif
 
 all:
-	@:;
+	# MAKEFILE is the file that appeared last in the command line.
+	: In the end, MAKEFILE is ${MAKEFILE}.
+
+# Additional makefiles can be added while reading a makefile.  They will be
+# read in order.
+.MAKEFLAGS: -f /dev/null



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

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Nov  9 20:57:36 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: sh-leading-at.exp sh-leading-at.mk

Log Message:
make(1): add test for repeating the leading '@' in shell commands


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/sh-leading-at.exp
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/sh-leading-at.mk

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

Modified files:

Index: src/usr.bin/make/unit-tests/sh-leading-at.exp
diff -u src/usr.bin/make/unit-tests/sh-leading-at.exp:1.2 src/usr.bin/make/unit-tests/sh-leading-at.exp:1.3
--- src/usr.bin/make/unit-tests/sh-leading-at.exp:1.2	Sat Aug 22 09:16:08 2020
+++ src/usr.bin/make/unit-tests/sh-leading-at.exp	Mon Nov  9 20:57:36 2020
@@ -2,4 +2,5 @@ ok
 space after @
 echo 'echoed'
 echoed
+3
 exit status 0

Index: src/usr.bin/make/unit-tests/sh-leading-at.mk
diff -u src/usr.bin/make/unit-tests/sh-leading-at.mk:1.3 src/usr.bin/make/unit-tests/sh-leading-at.mk:1.4
--- src/usr.bin/make/unit-tests/sh-leading-at.mk:1.3	Sat Aug 22 09:16:08 2020
+++ src/usr.bin/make/unit-tests/sh-leading-at.mk	Mon Nov  9 20:57:36 2020
@@ -1,4 +1,4 @@
-# $NetBSD: sh-leading-at.mk,v 1.3 2020/08/22 09:16:08 rillig Exp $
+# $NetBSD: sh-leading-at.mk,v 1.4 2020/11/09 20:57:36 rillig Exp $
 #
 # Tests for shell commands preceded by an '@', to suppress printing
 # the command to stdout.
@@ -8,3 +8,6 @@ all:
 	@echo 'ok'
 	@ echo 'space after @'
 	echo 'echoed'
+	# The leading '@' can be repeated.
+	@@
+	@@@echo '3'



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

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Nov  9 20:50:56 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: Makefile envfirst.mk opt-ignore.mk
opt-keep-going.mk opt-no-action.mk opt-query.mk opt-var-expanded.mk
opt-var-literal.mk opt-warnings-as-errors.exp
opt-warnings-as-errors.mk order.mk recursive.exp recursive.mk
sh-leading-plus.mk

Log Message:
make(1): in tests, move command line arguments into the test proper


To generate a diff of this commit:
cvs rdiff -u -r1.194 -r1.195 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/envfirst.mk \
src/usr.bin/make/unit-tests/opt-no-action.mk \
src/usr.bin/make/unit-tests/opt-query.mk \
src/usr.bin/make/unit-tests/opt-var-expanded.mk \
src/usr.bin/make/unit-tests/opt-var-literal.mk \
src/usr.bin/make/unit-tests/opt-warnings-as-errors.mk \
src/usr.bin/make/unit-tests/recursive.mk \
src/usr.bin/make/unit-tests/sh-leading-plus.mk
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/opt-ignore.mk \
src/usr.bin/make/unit-tests/opt-keep-going.mk
cvs rdiff -u -r1.2 -r1.3 \
src/usr.bin/make/unit-tests/opt-warnings-as-errors.exp \
src/usr.bin/make/unit-tests/recursive.exp
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/order.mk

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

Modified files:

Index: src/usr.bin/make/unit-tests/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.194 src/usr.bin/make/unit-tests/Makefile:1.195
--- src/usr.bin/make/unit-tests/Makefile:1.194	Mon Nov  9 20:39:46 2020
+++ src/usr.bin/make/unit-tests/Makefile	Mon Nov  9 20:50:56 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.194 2020/11/09 20:39:46 rillig Exp $
+# $NetBSD: Makefile,v 1.195 2020/11/09 20:50:56 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -392,19 +392,7 @@ ENV.varmod-localtime+=	TZ=Europe/Berlin
 # settings FLAGS.test=-dv here, since that is closer to the test code.
 FLAGS.cond-func-make=	via-cmdline
 FLAGS.directive-ifmake=	first second
-FLAGS.doterror=		# none
-FLAGS.envfirst=		-e
-FLAGS.export=		# none
-FLAGS.opt-ignore=	-i
-FLAGS.opt-keep-going=	-k
-FLAGS.opt-no-action=	-n
-FLAGS.opt-query=	-q
-FLAGS.opt-var-expanded=	-v VAR -v VALUE
-FLAGS.opt-var-literal=	-V VAR -V VALUE
-FLAGS.opt-warnings-as-errors= -W
-FLAGS.order=		-j1
-FLAGS.recursive=	-dL
-FLAGS.sh-leading-plus=	-n
+FLAGS.doterror=		# none, especially not -k
 FLAGS.varname-empty=	-dv '$${:U}=cmdline-u' '=cmline-plain'
 
 # Some tests need extra postprocessing.

Index: src/usr.bin/make/unit-tests/envfirst.mk
diff -u src/usr.bin/make/unit-tests/envfirst.mk:1.3 src/usr.bin/make/unit-tests/envfirst.mk:1.4
--- src/usr.bin/make/unit-tests/envfirst.mk:1.3	Sat Oct 24 08:46:08 2020
+++ src/usr.bin/make/unit-tests/envfirst.mk	Mon Nov  9 20:50:56 2020
@@ -1,7 +1,9 @@
-# $NetBSD: envfirst.mk,v 1.3 2020/10/24 08:46:08 rillig Exp $
+# $NetBSD: envfirst.mk,v 1.4 2020/11/09 20:50:56 rillig Exp $
 #
 # The -e option makes environment variables stronger than global variables.
 
+.MAKEFLAGS: -e
+
 .if ${FROM_ENV} != value-from-env
 .  error ${FROM_ENV}
 .endif
Index: src/usr.bin/make/unit-tests/opt-no-action.mk
diff -u src/usr.bin/make/unit-tests/opt-no-action.mk:1.3 src/usr.bin/make/unit-tests/opt-no-action.mk:1.4
--- src/usr.bin/make/unit-tests/opt-no-action.mk:1.3	Wed Aug 19 05:25:26 2020
+++ src/usr.bin/make/unit-tests/opt-no-action.mk	Mon Nov  9 20:50:56 2020
@@ -1,9 +1,11 @@
-# $NetBSD: opt-no-action.mk,v 1.3 2020/08/19 05:25:26 rillig Exp $
+# $NetBSD: opt-no-action.mk,v 1.4 2020/11/09 20:50:56 rillig Exp $
 #
 # Tests for the -n command line option, which runs almost no commands.
 # It just outputs them, to be inspected by human readers.
 # Only commands that are in a .MAKE target or prefixed by '+' are run.
 
+.MAKEFLAGS: -n
+
 # This command cannot be prevented from being run since it is used at parse
 # time, and any later variable assignments may depend on its result.
 !=	echo 'command during parsing' 1>&2; echo
Index: src/usr.bin/make/unit-tests/opt-query.mk
diff -u src/usr.bin/make/unit-tests/opt-query.mk:1.3 src/usr.bin/make/unit-tests/opt-query.mk:1.4
--- src/usr.bin/make/unit-tests/opt-query.mk:1.3	Wed Aug 19 05:13:18 2020
+++ src/usr.bin/make/unit-tests/opt-query.mk	Mon Nov  9 20:50:56 2020
@@ -1,4 +1,4 @@
-# $NetBSD: opt-query.mk,v 1.3 2020/08/19 05:13:18 rillig Exp $
+# $NetBSD: opt-query.mk,v 1.4 2020/11/09 20:50:56 rillig Exp $
 #
 # Tests for the -q command line option.
 #
@@ -6,6 +6,8 @@
 # None of the commands in the targets are run, not even those that are
 # prefixed with '+'.
 
+.MAKEFLAGS: -q
+
 # This command cannot be prevented from being run since it is used at parse
 # time, and any later variable assignments may depend on its result.
 !=	echo 'command during parsing' 1>&2; echo
Index: src/usr.bin/make/unit-tests/opt-var-expanded.mk
diff -u 

CVS commit: src

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Nov  9 20:39:46 UTC 2020

Modified Files:
src/distrib/sets/lists/tests: mi
src/usr.bin/make/unit-tests: Makefile var-op-shell.exp var-op-shell.mk
Removed Files:
src/usr.bin/make/unit-tests: varshell.exp varshell.mk

Log Message:
make(1): move test for != assignments to var-op-shell


To generate a diff of this commit:
cvs rdiff -u -r1.965 -r1.966 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.193 -r1.194 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/var-op-shell.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/var-op-shell.mk
cvs rdiff -u -r1.3 -r0 src/usr.bin/make/unit-tests/varshell.exp
cvs rdiff -u -r1.4 -r0 src/usr.bin/make/unit-tests/varshell.mk

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

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.965 src/distrib/sets/lists/tests/mi:1.966
--- src/distrib/sets/lists/tests/mi:1.965	Sun Nov  8 23:54:28 2020
+++ src/distrib/sets/lists/tests/mi	Mon Nov  9 20:39:46 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.965 2020/11/08 23:54:28 rillig Exp $
+# $NetBSD: mi,v 1.966 2020/11/09 20:39:46 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -5511,8 +5511,8 @@
 ./usr/tests/usr.bin/make/unit-tests/varparse-undef-partial.mk			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/varquote.exptests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/varquote.mk	tests-usr.bin-tests	compattestfile,atf
-./usr/tests/usr.bin/make/unit-tests/varshell.exptests-usr.bin-tests	compattestfile,atf
-./usr/tests/usr.bin/make/unit-tests/varshell.mk	tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/varshell.exptests-obsolete		obsolete
+./usr/tests/usr.bin/make/unit-tests/varshell.mk	tests-obsolete		obsolete
 ./usr/tests/usr.bin/mixerctltests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/mixerctl/Atffile			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/mixerctl/Kyuafile			tests-usr.bin-tests	compattestfile,atf,kyua

Index: src/usr.bin/make/unit-tests/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.193 src/usr.bin/make/unit-tests/Makefile:1.194
--- src/usr.bin/make/unit-tests/Makefile:1.193	Mon Nov  9 19:12:52 2020
+++ src/usr.bin/make/unit-tests/Makefile	Mon Nov  9 20:39:46 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.193 2020/11/09 19:12:52 sjg Exp $
+# $NetBSD: Makefile,v 1.194 2020/11/09 20:39:46 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -377,16 +377,15 @@ TESTS+=		varparse-errors
 TESTS+=		varparse-mod
 TESTS+=		varparse-undef-partial
 TESTS+=		varquote
-TESTS+=		varshell
 
 # Additional environment variables for some of the tests.
 # The base environment is -i PATH="$PATH".
+ENV.depsrc-optional+=   TZ=UTC
 ENV.envfirst=		FROM_ENV=value-from-env
 ENV.varmisc=		FROM_ENV=env
 ENV.varmisc+=		FROM_ENV_BEFORE=env
 ENV.varmisc+=		FROM_ENV_AFTER=env
 ENV.varmod-localtime+=	TZ=Europe/Berlin
-ENV.depsrc-optional+=   TZ=UTC
 
 # Override make flags for some of the tests; default is -k.
 # If possible, write ".MAKEFLAGS: -dv" in the test .mk file instead of
@@ -431,11 +430,11 @@ SED_CMDS.opt-debug-jobs+=	-e 's,Process 
 SED_CMDS.opt-debug-jobs+=	-e 's,JobFinish: [0-9][0-9]*,JobFinish: ,'
 # The "-q" may be there or not, see jobs.c, variable shells.
 SED_CMDS.opt-debug-jobs+=	-e 's,^\(.Command: sh\) -q,\1,'
+SED_CMDS.var-op-shell+=	-e 's,^${.SHELL:T}: ,,'
+SED_CMDS.var-op-shell+=	-e '/command/s,No such.*,not found,'
 SED_CMDS.varmod-subst-regex+= \
 			-e 's,\(Regex compilation error:\).*,\1 (details omitted),'
 SED_CMDS.varmod-edge+=	-e 's, line [0-9]*:, line omitted:,'
-SED_CMDS.varshell+=	-e 's,^${.SHELL:T}: ,,'
-SED_CMDS.varshell+=	-e '/command/s,No such.*,not found,'
 SED_CMDS.varname-dot-parsedir=	-e '/in some cases/ s,^make: "[^"]*,make: ",'
 SED_CMDS.varname-dot-parsefile=	-e '/in some cases/ s,^make: "[^"]*,make: ",'
 SED_CMDS.varname-dot-shell=	-e 's, = /[^ ]*, = (details omitted),g'

Index: src/usr.bin/make/unit-tests/var-op-shell.exp
diff -u src/usr.bin/make/unit-tests/var-op-shell.exp:1.1 src/usr.bin/make/unit-tests/var-op-shell.exp:1.2
--- src/usr.bin/make/unit-tests/var-op-shell.exp:1.1	Sun Aug 16 12:07:51 2020
+++ src/usr.bin/make/unit-tests/var-op-shell.exp	Mon Nov  9 20:39:46 2020
@@ -1 +1,7 @@
+make: "var-op-shell.mk" line 28: warning: "echo "failed"; false" returned non-zero status
+make: "var-op-shell.mk" line 34: warning: "false" returned non-zero status
+make: "var-op-shell.mk" line 59: warning: "kill -14 $$" exited on a signal
+/bin/no/such/command: not found
+make: "var-op-shell.mk" line 65: warning: "/bin/no/such/command" returned non-zero status
+stderr
 exit status 0

Index: src/usr.bin/make/unit-tests/var-op-shell.mk
diff -u 

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

2020-11-09 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Nov  9 20:16:33 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: varmod-order-shuffle.mk

Log Message:
make(1): document since when the :Ox modifier is available


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/varmod-order-shuffle.mk

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

Modified files:

Index: src/usr.bin/make/unit-tests/varmod-order-shuffle.mk
diff -u src/usr.bin/make/unit-tests/varmod-order-shuffle.mk:1.5 src/usr.bin/make/unit-tests/varmod-order-shuffle.mk:1.6
--- src/usr.bin/make/unit-tests/varmod-order-shuffle.mk:1.5	Sat Oct 24 08:46:08 2020
+++ src/usr.bin/make/unit-tests/varmod-order-shuffle.mk	Mon Nov  9 20:16:33 2020
@@ -1,8 +1,10 @@
-# $NetBSD: varmod-order-shuffle.mk,v 1.5 2020/10/24 08:46:08 rillig Exp $
+# $NetBSD: varmod-order-shuffle.mk,v 1.6 2020/11/09 20:16:33 rillig Exp $
 #
 # Tests for the :Ox variable modifier, which returns the words of the
 # variable, shuffled.
 #
+# The variable modifier :Ox is available since 2005-06-01.
+#
 # As of 2020-08-16, make uses random(3) seeded by the current time in seconds.
 # This makes the random numbers completely predictable since there is no other
 # part of make that uses random numbers.



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

2020-11-09 Thread Simon J. Gerraty
Module Name:src
Committed By:   sjg
Date:   Mon Nov  9 19:12:52 UTC 2020

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

Log Message:
Control TZ for depsrc-optional


To generate a diff of this commit:
cvs rdiff -u -r1.192 -r1.193 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.

Modified files:

Index: src/usr.bin/make/unit-tests/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.192 src/usr.bin/make/unit-tests/Makefile:1.193
--- src/usr.bin/make/unit-tests/Makefile:1.192	Sun Nov  8 23:54:28 2020
+++ src/usr.bin/make/unit-tests/Makefile	Mon Nov  9 19:12:52 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.192 2020/11/08 23:54:28 rillig Exp $
+# $NetBSD: Makefile,v 1.193 2020/11/09 19:12:52 sjg Exp $
 #
 # Unit tests for make(1)
 #
@@ -386,6 +386,7 @@ ENV.varmisc=		FROM_ENV=env
 ENV.varmisc+=		FROM_ENV_BEFORE=env
 ENV.varmisc+=		FROM_ENV_AFTER=env
 ENV.varmod-localtime+=	TZ=Europe/Berlin
+ENV.depsrc-optional+=   TZ=UTC
 
 # Override make flags for some of the tests; default is -k.
 # If possible, write ".MAKEFLAGS: -dv" in the test .mk file instead of



CVS commit: src/sys/kern

2020-11-09 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Mon Nov  9 18:09:02 UTC 2020

Modified Files:
src/sys/kern: vfs_vnops.c

Log Message:
Lock the vnode while calling VOP_BMAP() for FIOGETBMAP.

Reported-by: syzbot+cfa1b773be7337250...@syzkaller.appspotmail.com


To generate a diff of this commit:
cvs rdiff -u -r1.213 -r1.214 src/sys/kern/vfs_vnops.c

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

Modified files:

Index: src/sys/kern/vfs_vnops.c
diff -u src/sys/kern/vfs_vnops.c:1.213 src/sys/kern/vfs_vnops.c:1.214
--- src/sys/kern/vfs_vnops.c:1.213	Thu Jun 11 22:21:05 2020
+++ src/sys/kern/vfs_vnops.c	Mon Nov  9 18:09:02 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_vnops.c,v 1.213 2020/06/11 22:21:05 ad Exp $	*/
+/*	$NetBSD: vfs_vnops.c,v 1.214 2020/11/09 18:09:02 chs Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.213 2020/06/11 22:21:05 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.214 2020/11/09 18:09:02 chs Exp $");
 
 #include "veriexec.h"
 
@@ -757,7 +757,10 @@ vn_ioctl(file_t *fp, u_long com, void *d
 			if (*(daddr_t *)data < 0)
 return (EINVAL);
 			block = (daddr_t *)data;
-			return (VOP_BMAP(vp, *block, NULL, block, NULL));
+			vn_lock(vp, LK_SHARED | LK_RETRY);
+			error = VOP_BMAP(vp, *block, NULL, block, NULL);
+			VOP_UNLOCK(vp);
+			return error;
 		}
 		if (com == OFIOGETBMAP) {
 			daddr_t ibn, obn;
@@ -765,7 +768,9 @@ vn_ioctl(file_t *fp, u_long com, void *d
 			if (*(int32_t *)data < 0)
 return (EINVAL);
 			ibn = (daddr_t)*(int32_t *)data;
+			vn_lock(vp, LK_SHARED | LK_RETRY);
 			error = VOP_BMAP(vp, ibn, NULL, , NULL);
+			VOP_UNLOCK(vp);
 			*(int32_t *)data = (int32_t)obn;
 			return error;
 		}



CVS commit: src/share/mk

2020-11-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Nov  9 16:15:05 UTC 2020

Modified Files:
src/share/mk: bsd.lib.mk bsd.prog.mk bsd.sys.mk sys.mk

Log Message:
- make the CTFCONVERT command lines consistent and concise by putting all
  the implementation stuff in a variable CTFCONVERT_RUN
- introduce an OBJECT_TARGET variable that contains the output object file
- when we need to run ctfconvert, go through an intermediate ${.TARGET}.o
  file, instead of writing directly to ${.TARGET} and then overwriting
  ${.TARGET} with ctfconvert. This avoids build failures after a build
  got interrupted (the "partially built from C" scourge).


To generate a diff of this commit:
cvs rdiff -u -r1.383 -r1.384 src/share/mk/bsd.lib.mk
cvs rdiff -u -r1.334 -r1.335 src/share/mk/bsd.prog.mk
cvs rdiff -u -r1.303 -r1.304 src/share/mk/bsd.sys.mk
cvs rdiff -u -r1.143 -r1.144 src/share/mk/sys.mk

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

Modified files:

Index: src/share/mk/bsd.lib.mk
diff -u src/share/mk/bsd.lib.mk:1.383 src/share/mk/bsd.lib.mk:1.384
--- src/share/mk/bsd.lib.mk:1.383	Mon Jun  1 10:39:14 2020
+++ src/share/mk/bsd.lib.mk	Mon Nov  9 11:15:05 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.lib.mk,v 1.383 2020/06/01 14:39:14 christos Exp $
+#	$NetBSD: bsd.lib.mk,v 1.384 2020/11/09 16:15:05 christos Exp $
 #	@(#)bsd.lib.mk	8.3 (Berkeley) 4/22/94
 
 .include 
@@ -221,20 +221,16 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .c.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .c.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${PGFLAGS} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${PGFLAGS} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
@@ -277,20 +273,16 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .f.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.f} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.f} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPFOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .f.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.f} ${PROFFLAGS} ${PGFLAGS} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.f} ${PROFFLAGS} ${PGFLAGS} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPFOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
@@ -312,20 +304,16 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .m.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPOBJCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .m.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.m} ${PROFFLAGS} ${PGFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.m} ${PROFFLAGS} ${PGFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPOBJCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
@@ -346,40 +334,32 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .s.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPAOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .S.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPAOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .s.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.s} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.s} 

CVS commit: src/distrib/syspkg/sets

2020-11-09 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Mon Nov  9 12:12:17 UTC 2020

Modified Files:
src/distrib/syspkg/sets/comp: Makefile
src/distrib/syspkg/sets/games: Makefile
src/distrib/syspkg/sets/man: Makefile
src/distrib/syspkg/sets/text: Makefile
src/distrib/syspkg/sets/text/text-groff-man: DESCR
Removed Files:
src/distrib/syspkg/sets/comp/comp-c-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/comp/comp-cvs-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/comp/comp-cxx-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/comp/comp-debug-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/comp/comp-fortran-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/comp/comp-sys-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/comp/comp-sysutil-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/comp/comp-util-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/games/games-games-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/games/games-utils-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/man/man-adosfs-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-amd-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-audio-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-bind-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-bootserver-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/man/man-c-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-cron-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-crypto-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-debug-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-dhcpd-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-ext2fs-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-filecorefs-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/man/man-games-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-gnats-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-groff-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-hesiod-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-ipf-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-krb5-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-locale-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-lpr-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-mail-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-mailwrapper-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/man/man-man-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-miscfs-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-net-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-netutil-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-nfsclient-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/man/man-nfsserver-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/man/man-nis-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-ntfs-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-ntp-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-pkgutil-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-postfix-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-ppp-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-rc-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-rcs-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-reference-catman: COMMENT DESCR
Makefile
src/distrib/syspkg/sets/man/man-router-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-secsh-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-sendmail-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-shlib-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-slip-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-sup-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-sys-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-sysutil-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-timed-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-util-catman: COMMENT DESCR Makefile
src/distrib/syspkg/sets/man/man-uucp-catman: COMMENT DESCR Makefile

CVS commit: [netbsd-9] src/doc

2020-11-09 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Nov  9 11:48:12 UTC 2020

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

Log Message:
Ticket #1128


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/doc/CHANGES-9.2

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

Modified files:

Index: src/doc/CHANGES-9.2
diff -u src/doc/CHANGES-9.2:1.1.2.9 src/doc/CHANGES-9.2:1.1.2.10
--- src/doc/CHANGES-9.2:1.1.2.9	Sun Nov  8 08:40:01 2020
+++ src/doc/CHANGES-9.2	Mon Nov  9 11:48:11 2020
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-9.2,v 1.1.2.9 2020/11/08 08:40:01 martin Exp $
+# $NetBSD: CHANGES-9.2,v 1.1.2.10 2020/11/09 11:48:11 martin Exp $
 
 A complete list of changes from the NetBSD 9.1 release to the NetBSD 9.2
 release:
@@ -1063,3 +1063,8 @@ sys/compat/linux/common/linux_socket.c		
 	Fix compat with Linux programs that use longer namelen for sockets.
 	[kamil, ticket #1127]
 
+sys/arch/aarch64/aarch64/pmapboot.c		1.11
+
+	Fix coalescing contiguous TLB entries.
+	[skrll, ticket #1128]
+



CVS commit: [netbsd-9] src/sys/arch/aarch64/aarch64

2020-11-09 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Nov  9 11:47:15 UTC 2020

Modified Files:
src/sys/arch/aarch64/aarch64 [netbsd-9]: pmapboot.c

Log Message:
Pull up following revision(s) (requested by skrll in ticket #1128):

sys/arch/aarch64/aarch64/pmapboot.c: revision 1.11

Fix the use of the contiguous bit by checking the output address as well.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.4.2.1 src/sys/arch/aarch64/aarch64/pmapboot.c

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

Modified files:

Index: src/sys/arch/aarch64/aarch64/pmapboot.c
diff -u src/sys/arch/aarch64/aarch64/pmapboot.c:1.4 src/sys/arch/aarch64/aarch64/pmapboot.c:1.4.2.1
--- src/sys/arch/aarch64/aarch64/pmapboot.c:1.4	Thu Jul 18 06:47:36 2019
+++ src/sys/arch/aarch64/aarch64/pmapboot.c	Mon Nov  9 11:47:15 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmapboot.c,v 1.4 2019/07/18 06:47:36 skrll Exp $	*/
+/*	$NetBSD: pmapboot.c,v 1.4.2.1 2020/11/09 11:47:15 martin Exp $	*/
 
 /*
  * Copyright (c) 2018 Ryo Shimizu 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pmapboot.c,v 1.4 2019/07/18 06:47:36 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmapboot.c,v 1.4.2.1 2020/11/09 11:47:15 martin Exp $");
 
 #include "opt_arm_debug.h"
 #include "opt_ddb.h"
@@ -44,7 +44,6 @@ __KERNEL_RCSID(0, "$NetBSD: pmapboot.c,v
 #include 
 #include 
 
-
 #define OPTIMIZE_TLB_CONTIG
 
 
@@ -157,16 +156,23 @@ pmapboot_pte_print(pt_entry_t pte, int l
 
 #ifdef OPTIMIZE_TLB_CONTIG
 static inline bool
-tlb_contiguous_p(vaddr_t addr, vaddr_t start, vaddr_t end, vsize_t blocksize)
+tlb_contiguous_p(vaddr_t va, paddr_t pa, vaddr_t start, vaddr_t end,
+vsize_t blocksize)
 {
 	/*
 	 * when using 4KB granule, 16 adjacent and aligned entries can be
 	 * unified to one TLB cache entry.
 	 * in other size of granule, not supported.
 	 */
-	if (((addr & ~((blocksize << 4) - 1)) >= start) &&
-	((addr | ((blocksize << 4) - 1)) <= end))
+	const vaddr_t mask = (blocksize << 4) - 1;
+
+	/* if the output address doesn't align it can't be contiguous */
+	if ((va & mask) != (pa & mask))
+		return false;
+
+	if ((va & ~mask) >= start && (va | mask) <= end)
 		return true;
+
 	return false;
 }
 #endif /* OPTIMIZE_TLB_CONTIG */
@@ -284,7 +290,7 @@ pmapboot_enter(vaddr_t va, paddr_t pa, p
 #endif
 			attr;
 #ifdef OPTIMIZE_TLB_CONTIG
-			if (tlb_contiguous_p(va, va_start, va_end, blocksize))
+			if (tlb_contiguous_p(va, pa, va_start, va_end, blocksize))
 pte |= LX_BLKPAG_CONTIG;
 			ll = l1;
 			llidx = idx1;
@@ -329,7 +335,7 @@ pmapboot_enter(vaddr_t va, paddr_t pa, p
 #endif
 			attr;
 #ifdef OPTIMIZE_TLB_CONTIG
-			if (tlb_contiguous_p(va, va_start, va_end, blocksize))
+			if (tlb_contiguous_p(va, pa, va_start, va_end, blocksize))
 pte |= LX_BLKPAG_CONTIG;
 			ll = l2;
 			llidx = idx2;
@@ -373,7 +379,7 @@ pmapboot_enter(vaddr_t va, paddr_t pa, p
 #endif
 		attr;
 #ifdef OPTIMIZE_TLB_CONTIG
-		if (tlb_contiguous_p(va, va_start, va_end, blocksize))
+		if (tlb_contiguous_p(va, pa, va_start, va_end, blocksize))
 			pte |= LX_BLKPAG_CONTIG;
 		ll = l3;
 		llidx = idx3;



CVS commit: src/usr.sbin/makemandb

2020-11-09 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Nov  9 10:19:41 UTC 2020

Modified Files:
src/usr.sbin/makemandb: Makefile

Log Message:
Fix copy in previous


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/makemandb/Makefile

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

Modified files:

Index: src/usr.sbin/makemandb/Makefile
diff -u src/usr.sbin/makemandb/Makefile:1.10 src/usr.sbin/makemandb/Makefile:1.11
--- src/usr.sbin/makemandb/Makefile:1.10	Sun Nov  8 21:56:48 2020
+++ src/usr.sbin/makemandb/Makefile	Mon Nov  9 10:19:41 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.10 2020/11/08 21:56:48 nia Exp $
+# $NetBSD: Makefile,v 1.11 2020/11/09 10:19:41 martin Exp $
 
 .include 
 
@@ -29,10 +29,8 @@ LDADD.makemandb+= 	-L${MDOCMLOBJDIR} -lm
 LDADD.makemandb+=	-lcrypto
 DPADD.makemandb+=	${LIBCRYPTO}
 
-DPADD+=		${LIBSQLITE3} ${LIBM} ${LIBZ} ${LIBPTHREAD}
-LDADD+=		-lsqlite3 -lm -lz -lpthread
-DPADD+=		${LIBTERMLIB} ${LIBUTIL}
-DPADD+=		-ltermlib -lutil
+DPADD+=		${LIBSQLITE3} ${LIBM} ${LIBPTHREAD} ${LIBZ} ${LIBTERMLIB} ${LIBUTIL}
+LDADD+=		-lsqlite3 -lm -lz -ltermlib -lutil -lpthread
 
 stopwords.c: stopwords.txt
 	( set -e; ${TOOL_NBPERF} -n stopwords_hash -s -p ${.ALLSRC};	\



CVS commit: src/share/mk

2020-11-09 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Nov  9 10:19:18 UTC 2020

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

Log Message:
Adapt for sqlite requiring pthreads now


To generate a diff of this commit:
cvs rdiff -u -r1.333 -r1.334 src/share/mk/bsd.prog.mk

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

Modified files:

Index: src/share/mk/bsd.prog.mk
diff -u src/share/mk/bsd.prog.mk:1.333 src/share/mk/bsd.prog.mk:1.334
--- src/share/mk/bsd.prog.mk:1.333	Fri Oct 30 08:41:58 2020
+++ src/share/mk/bsd.prog.mk	Mon Nov  9 10:19:18 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.prog.mk,v 1.333 2020/10/30 08:41:58 martin Exp $
+#	$NetBSD: bsd.prog.mk,v 1.334 2020/11/09 10:19:18 martin Exp $
 #	@(#)bsd.prog.mk	8.2 (Berkeley) 4/2/94
 
 .ifndef HOSTPROG
@@ -226,11 +226,11 @@ LIB${_lib:tu}=	${DESTDIR}/usr/lib/lib${_
 LIBKRB5_LDADD+= -lkrb5 -lcom_err \
 	-lhx509 -lcrypto -lasn1 \
 	-lwind -lheimbase -lcom_err -lroken \
-	-lsqlite3 -lm -lcrypt -lutil
+	-lsqlite3 -lpthread -lm -lcrypt -lutil
 LIBKRB5_DPADD+= ${LIBKRB5} ${LIBCOM_ERR} \
 	${LIBHX509} ${LIBCRYPTO} ${LIBASN1} \
 	${LIBWIND} ${LIBHEIMBASE} ${LIBCOM_ERR} ${LIBROKEN} \
-	${LIBSQLITE3} ${LIBM} ${LIBCRYPT}  ${LIBUTIL}
+	${LIBSQLITE3} ${LIBM} ${LIPPTHREAD} ${LIBCRYPT}  ${LIBUTIL}
 .endif
 
 # PAM applications, if linked statically, need more libraries
@@ -239,10 +239,10 @@ PAM_STATIC_LDADD+= -lssh
 PAM_STATIC_DPADD+= ${LIBSSH}
 .if (${MKKERBEROS} != "no")
 PAM_STATIC_LDADD+= -lkafs -lkrb5 -lhx509 -lwind -lasn1 \
-	-lroken -lcom_err -lheimbase -lcrypto -lsqlite3 -lm
+	-lroken -lcom_err -lheimbase -lcrypto -lsqlite3 -lpthread -lm
 PAM_STATIC_DPADD+= ${LIBKAFS} ${LIBKRB5} ${LIBHX509} ${LIBWIND} ${LIBASN1} \
 	${LIBROKEN} ${LIBCOM_ERR} ${LIBHEIMBASE} ${LIBCRYPTO} ${LIBSQLITE3} \
-	${LIBM}
+	${LIBPTHREAD} ${LIBM}
 .endif
 .if (${MKSKEY} != "no")
 PAM_STATIC_LDADD+= -lskey