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

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Tue Sep  8 05:33:05 UTC 2020

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

Log Message:
make(1): add test for wildcards in dependency declarations


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/dep-wildcards.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/dep-wildcards.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/dep-wildcards.exp
diff -u src/usr.bin/make/unit-tests/dep-wildcards.exp:1.1 src/usr.bin/make/unit-tests/dep-wildcards.exp:1.2
--- src/usr.bin/make/unit-tests/dep-wildcards.exp:1.1	Sun Aug 16 12:07:51 2020
+++ src/usr.bin/make/unit-tests/dep-wildcards.exp	Tue Sep  8 05:33:05 2020
@@ -1 +1,7 @@
+dep-colon.mk
+dep-double-colon.mk
+dep-exclam.mk
+dep-none.mk
+dep-var.mk
+dep-wildcards.mk
 exit status 0

Index: src/usr.bin/make/unit-tests/dep-wildcards.mk
diff -u src/usr.bin/make/unit-tests/dep-wildcards.mk:1.2 src/usr.bin/make/unit-tests/dep-wildcards.mk:1.3
--- src/usr.bin/make/unit-tests/dep-wildcards.mk:1.2	Sun Aug 16 14:25:16 2020
+++ src/usr.bin/make/unit-tests/dep-wildcards.mk	Tue Sep  8 05:33:05 2020
@@ -1,8 +1,9 @@
-# $NetBSD: dep-wildcards.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: dep-wildcards.mk,v 1.3 2020/09/08 05:33:05 rillig Exp $
 #
 # Tests for wildcards such as *.c in dependency declarations.
 
-# TODO: Implementation
-
-all:
-	@:;
+all: ${.PARSEDIR}/dep-*.mk
+	# The :T is necessary to run this test from another directory.
+	# The :O is necessary since the result of the dependency resolution
+	# does not order the directory entries itself.
+	@printf '%s\n' ${.ALLSRC:T:O}



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Tue Sep  8 05:26:22 UTC 2020

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

Log Message:
make(1): fix off-by-one error in SuffExpandChildren

In suff.c r1.144 from yesterday, in the line "cp += nested_p - cp", I
accidentally removed the "- 1".  Since these "- 1" lines lead to slow
execution, each branch now increments the pointer separately by the
actually needed amount.

Fixing this bug posed way more new questions than it answered, and it
revealed an inconsistency in the parser about how characters are to be
escaped, and missing details in the documentation of Var_Parse, as well
as a parse error that unexpectedly doesn't stop make from continuing.


To generate a diff of this commit:
cvs rdiff -u -r1.288 -r1.289 src/usr.bin/make/parse.c
cvs rdiff -u -r1.144 -r1.145 src/usr.bin/make/suff.c
cvs rdiff -u -r1.490 -r1.491 src/usr.bin/make/var.c
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/dep-var.exp \
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.

Modified files:

Index: src/usr.bin/make/parse.c
diff -u src/usr.bin/make/parse.c:1.288 src/usr.bin/make/parse.c:1.289
--- src/usr.bin/make/parse.c:1.288	Mon Sep  7 18:37:09 2020
+++ src/usr.bin/make/parse.c	Tue Sep  8 05:26:21 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.288 2020/09/07 18:37:09 rillig Exp $	*/
+/*	$NetBSD: parse.c,v 1.289 2020/09/08 05:26:21 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: parse.c,v 1.288 2020/09/07 18:37:09 rillig Exp $";
+static char rcsid[] = "$NetBSD: parse.c,v 1.289 2020/09/08 05:26:21 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)parse.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: parse.c,v 1.288 2020/09/07 18:37:09 rillig Exp $");
+__RCSID("$NetBSD: parse.c,v 1.289 2020/09/08 05:26:21 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -708,17 +708,10 @@ ParseErrorInternal(const char *cfname, s
 	}
 }
 
-/*-
- * Parse_Error  --
- *	External interface to ParseErrorInternal; uses the default filename
- *	Line number.
- *
- * Results:
- *	None
+/* External interface to ParseErrorInternal; uses the default filename and
+ * line number.
  *
- * Side Effects:
- *	None
- */
+ * Fmt is given without a trailing newline. */
 /* VARARGS */
 void
 Parse_Error(int type, const char *fmt, ...)

Index: src/usr.bin/make/suff.c
diff -u src/usr.bin/make/suff.c:1.144 src/usr.bin/make/suff.c:1.145
--- src/usr.bin/make/suff.c:1.144	Mon Sep  7 07:15:26 2020
+++ src/usr.bin/make/suff.c	Tue Sep  8 05:26:21 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: suff.c,v 1.144 2020/09/07 07:15:26 rillig Exp $	*/
+/*	$NetBSD: suff.c,v 1.145 2020/09/08 05:26:21 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: suff.c,v 1.144 2020/09/07 07:15:26 rillig Exp $";
+static char rcsid[] = "$NetBSD: suff.c,v 1.145 2020/09/08 05:26:21 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)suff.c	8.4 (Berkeley) 3/21/94";
 #else
-__RCSID("$NetBSD: suff.c,v 1.144 2020/09/07 07:15:26 rillig Exp $");
+__RCSID("$NetBSD: suff.c,v 1.145 2020/09/08 05:26:21 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -1302,7 +1302,8 @@ SuffExpandChildren(LstNode cln, GNode *p
 
 	for (start = cp; *start == ' ' || *start == '\t'; start++)
 		continue;
-	for (cp = start; *cp != '\0'; cp++) {
+	cp = start;
+	while (*cp != '\0') {
 		if (*cp == ' ' || *cp == '\t') {
 		/*
 		 * White-space -- terminate element, find the node,
@@ -1314,11 +1315,7 @@ SuffExpandChildren(LstNode cln, GNode *p
 		while (*cp == ' ' || *cp == '\t') {
 			cp++;
 		}
-		/*
-		 * Adjust cp for increment at start of loop, but
-		 * set start to first non-space.
-		 */
-		start = cp--;
+		start = cp;		/* Continue at the next non-space. */
 		} else if (*cp == '$') {
 		/*
 		 * Start of a variable spec -- contact variable module
@@ -1328,9 +1325,15 @@ SuffExpandChildren(LstNode cln, GNode *p
 		const char	*junk;
 		void	*freeIt;
 
+		/* XXX: Why VARE_WANTRES when the result is not used? */
 		junk = Var_ParsePP(_p, pgn,
    VARE_UNDEFERR|VARE_WANTRES, );
-		if (junk != var_Error) {
+		if (junk == var_Error) {
+			Parse_Error(PARSE_FATAL,
+"Malformed variable expression at \"%s\"",
+cp);
+		cp++;
+		} else {
 			cp += nested_p - cp;
 		}
 
@@ -1339,6 +1342,11 @@ SuffExpandChildren(LstNode cln, GNode *p
 		/*
 		 * Escaped something -- skip over it
 		 */
+		/* XXX: In other places, escaping at this syntactical
+		 * position is done by a '$', not a '\'.  The '\' is 

CVS commit: src/sys/arch/sun2/conf

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Sep  8 00:51:29 UTC 2020

Modified Files:
src/sys/arch/sun2/conf: Makefile.sun2

Log Message:
don't warn about array bounds for dodgy diagnostic code.
fixes gcc9 builds.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/sun2/conf/Makefile.sun2

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/sun2/conf/Makefile.sun2
diff -u src/sys/arch/sun2/conf/Makefile.sun2:1.25 src/sys/arch/sun2/conf/Makefile.sun2:1.26
--- src/sys/arch/sun2/conf/Makefile.sun2:1.25	Mon Aug 10 06:28:42 2020
+++ src/sys/arch/sun2/conf/Makefile.sun2	Tue Sep  8 00:51:29 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.sun2,v 1.25 2020/08/10 06:28:42 rin Exp $
+# $NetBSD: Makefile.sun2,v 1.26 2020/09/08 00:51:29 mrg Exp $
 
 # Makefile for NetBSD
 #
@@ -36,9 +36,8 @@ CFLAGS+=	-msoft-float -fno-defer-pop
 AFLAGS+=	-x assembler-with-cpp
 
 # XXX
-.if ${HAVE_GCC:U0} >= 8
-COPTS+=		-fno-omit-frame-pointer
-.endif
+COPTS+=		${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -fno-omit-frame-pointer :}
+COPTS.promlib.c+=${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-error=array-bounds :}
 
 ##
 ## (3) libkern and compat



CVS commit: src/external/gpl3/gcc

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 23:47:02 UTC 2020

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

Log Message:
ia64 works, sun3 (m68k?) works, powerpc works, note powerpc64 issue,
evbarmv7-eb dtb issue, prep overflow issue, note that almost all
platform builds are now working for m68k/mips/ppc.


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

Modified files:

Index: src/external/gpl3/gcc/README.gcc9
diff -u src/external/gpl3/gcc/README.gcc9:1.6 src/external/gpl3/gcc/README.gcc9:1.7
--- src/external/gpl3/gcc/README.gcc9:1.6	Mon Sep  7 10:42:58 2020
+++ src/external/gpl3/gcc/README.gcc9	Mon Sep  7 23:47:02 2020
@@ -1,4 +1,4 @@
-$NetBSD: README.gcc9,v 1.6 2020/09/07 10:42:58 mrg Exp $
+$NetBSD: README.gcc9,v 1.7 2020/09/07 23:47:02 mrg Exp $
 
 new stuff:
 	cc1objcplus
@@ -31,40 +31,40 @@ architecture	tools	kernels	libgcc	native
 	-	---	--	--			---	
 aarch64		y	y	y	y		y		y	y	n
 aarch64be	y	y	y	y		?		?	?	n
-alpha		y	y	y	y		y		?	?	n
-earmv4		y	y	y	y		y		?	?	n
-earmv4eb	y	n	n	y		n		?	?	n
-earm		y	n	n	y		n		?	?	n
-earmeb		y	n	n	y		n		?	?	n
-earmhf		y	n	n	y		n		?	?	n
-earmhfeb	y	n	n	y		n		?	?	n
-earmv6		y	n	n	y		n		?	?	n
-earmv6eb	y	n	n	y		n		?	?	n
-earmv6hf	y	n	n	y		n		?	?	n
-earmv6hfeb	y	n	n	y		n		?	?	n
-earmv7		y	n	n	y		n		?	?	n
-earmv7eb	y	n	n	y		n		?	?	n
+alpha		y	y	y	y		y		?	?	?
+earmv4		y	y	y	y		y		?	?	?
+earmv4eb	y	n	n	y		n		?	?	?
+earm		y	n	n	y		n		?	?	?
+earmeb		y	n	n	y		n		?	?	?
+earmhf		y	n	n	y		n		?	?	?
+earmhfeb	y	n	n	y		n		?	?	?
+earmv6		y	n	n	y		n		?	?	?
+earmv6eb	y	n	n	y		n		?	?	?
+earmv6hf	y	n	n	y		n		?	?	?
+earmv6hfeb	y	n	n	y		n		?	?	?
+earmv7		y	n	n	y		n		?	?	?
+earmv7eb	y	n	n	y		n		?	?	?
 earmv7hf	y	y	y	y		y		y	y	n
-earmv7hfeb	y	n	n	y		n		?	?	n
-hppa		y	y	y	y		y		?	?	n
+earmv7hfeb	y	n	n	y		n		?	?	?
+hppa		y	y	y	y		y		?	?	?
 i386		y	y	y	y		y		y	y	n
-ia64		y	y	y	y		y		n	?	n
+ia64		y	y	y	y		y		y	N/A	n
 m68000		y	n	n	y		n[7]		n	?	?
-m68k		y	y	y	y		y		n	?	?
-mipseb		y	y	y	y		y[3]		n	n	n
-mipsel		y	y	y	y		y[3]		y	n	n
-mips64eb	y	y	y	y		y[3]		y	y[5]	n
-mips64el	y	y	y	y		y[3]		n	n	n
-powerpc		y	y	y	y		y[3]		n	n	n
-powerpc64	y	n	n	y		n		?	n	n
-sh3eb		y	n	y	y		n[1]		n	n	n
-sh3el		y	n	y	y		n		n	n	n
+m68k		y	y	y	y		y		y	?	?
+mipseb		y	y	y	y		y[3]		n	n	?
+mipsel		y	y	y	y		y[3]		y	n	?
+mips64eb	y	y	y	y		y[3]		y	y	n
+mips64el	y	y	y	y		y[3]		n	n	?
+powerpc		y	y	y	y		y[3]		y	n	n
+powerpc64	y	?	y	y		n[6]		?	n	?
+sh3eb		y	n	y	y		n[1]		n	n	?
+sh3el		y	n	y	y		n		n	n	?
 sparc		y	y	y	y		y		y	y	n
-sparc64		y	y	y	y		y		n	n	n
-vax		y	n	y	y		n[2]		y	y	n
+sparc64		y	y	y	y		y		n	n	?
+vax		y	n	y	y		n[2]		y	y	?
 x86_64		y	y	y	y		y		y	y	n
-riscv32		y	?	y	y		y		?	?	n	
-riscv64		y	?	y	y		n[4]		?	?	n
+riscv32		y	N/A	y	y		y		N/A	N/A	n	
+riscv64		y	N/A	y	y		n[4]		N/A	N/A	?
 --
 coldfire	?	N/A	?	?		?		N/A	N/A
 	-	---	--	--			---
@@ -79,8 +79,10 @@ architecture	tools	kernels	libgcc	native
 |   ^
 [3]: consult cpu/platform table for full data
 [4]: triggers weird xorg-server issue; perhaps related to _XSERVER64 not being present
-[5]: at least, as well as GCC 8 ran atf.
+[6]: /usr/src/sys/compat/common/compat_util.c:116:1: internal compiler error: in rs6000_pltseq_template, at config/rs6000/rs6000.c:21977
 [7]: libstdc++ does not build
+[8]: prep floppies overflow; need to find if they are size limited
+[9]: evbarmv7-eb has dtb sets issues
 
 
 CPU vs platform test table (for CPUs with multiple ports).  this is "make release" or just kernels.
@@ -90,31 +92,31 @@ CPU		platform list
 ---		 
 		acorn32		cats	epoc32	evbarm-eb	evbarm-el	hpcarm		iyonix		netwinder	shark 		zaurus
 earmv4:		y		y	y	y		y		y		 		y		y		 
-earm:		 		 	 	-		-		 		r		 		 		y
-earmhf:		 		 	 	-		-		 		 		 		 		 
-earmv6:		 		 	 	-		-		 		 		 		 		 
-earmv6hf:	 		 	 	y		r		 		 		 		 		 
-earmv7:		 		 	 	-		-		 		 		 		 		 
-earmv7hf:	 		 	 	r		r		 		 		 		 		 
+earm:		 		 	 	y		y		 		y		 		 		y
+earmhf:		 		 	 	y		y		 		 		 		 		 
+earmv6:		 		 	 	y		y
+earmv6hf:	 		 	 	y		y
+earmv7:		 		 	 	y[9]		y
+earmv7hf:	 		 	 	y		y
 
 		amiga		atari	cesfic	hp300		luna68k		mac68k		mvme68k		news68k		next68k		sun3	x68k
 m68k:		y		y	y	y		y		y		y		y		y		y 	y
 
 		evbmips		emips		ews4800mips	mipsco		newsmips	sgimips
-mipseb:		r		r		y		r		r		y
+mipseb:		y		y		y		y		y		y
 
 		evbmips		algor		arc		cobalt		hpcmips		pmax
-mipsel:		y		r		r		r		-		k
+mipsel:		y		y		y		y		y		y
 
 		algor		evbmips		pmax
 mips64eb:	 		y		 
 mips64el:	y		y		y
 
 		amigappc	bebox	evbppc	ibmnws		macppc		mvmeppc		ofppc		prep		rs6000		sandpoint
-powerpc:	-		-	k	-		y		-		-		-		-		-
+powerpc:	y		y	y	y		y		y		y		n[8]		y		y
 
 		evbppc		macppc		ofppc
-powerpc64:	-		-		-
+powerpc64:	n		?		?
 
 		dreamcast	evbsh3		hpcsh		landisk		mmeye
 sh3eb:		-		-		-		-		-



CVS commit: src/sys/arch

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 23:41:38 UTC 2020

Modified Files:
src/sys/arch/m68k/include: cpuframe.h
src/sys/arch/sun3/sun3: machdep.c

Log Message:
move the __packed attribute from struct frame::F_t into the single
unaligned member inside.  CTASSERT() the size is unchanged.

with this, sun3 and GCC 9 appears to work.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/m68k/include/cpuframe.h
cvs rdiff -u -r1.212 -r1.213 src/sys/arch/sun3/sun3/machdep.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/m68k/include/cpuframe.h
diff -u src/sys/arch/m68k/include/cpuframe.h:1.6 src/sys/arch/m68k/include/cpuframe.h:1.7
--- src/sys/arch/m68k/include/cpuframe.h:1.6	Sun Jul  2 14:10:23 2017
+++ src/sys/arch/m68k/include/cpuframe.h	Mon Sep  7 23:41:38 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpuframe.h,v 1.6 2017/07/02 14:10:23 christos Exp $	*/
+/*	$NetBSD: cpuframe.h,v 1.7 2020/09/07 23:41:38 mrg Exp $	*/
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -47,10 +47,10 @@ struct frame {
 		short	tf_pad;
 		short	tf_stackadj;
 		u_short	tf_sr;
-		u_int	tf_pc;
+		u_int	tf_pc __packed;
 		u_short /* BITFIELDTYPE */ tf_format:4,
 			/* BITFIELDTYPE */ tf_vector:12;
-	} __attribute__((packed)) F_t;
+	} F_t;
 	union F_u {
 		struct fmt2 {
 			u_int	f_iaddr;

Index: src/sys/arch/sun3/sun3/machdep.c
diff -u src/sys/arch/sun3/sun3/machdep.c:1.212 src/sys/arch/sun3/sun3/machdep.c:1.213
--- src/sys/arch/sun3/sun3/machdep.c:1.212	Thu Jun 11 19:20:45 2020
+++ src/sys/arch/sun3/sun3/machdep.c	Mon Sep  7 23:41:38 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.212 2020/06/11 19:20:45 ad Exp $	*/
+/*	$NetBSD: machdep.c,v 1.213 2020/09/07 23:41:38 mrg Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1990, 1993
@@ -78,7 +78,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.212 2020/06/11 19:20:45 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.213 2020/09/07 23:41:38 mrg Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -137,6 +137,8 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 
 
 #include 
 
+CTASSERT(sizeof(struct frame) == 76 /* F_t */ + 84 /* F_u */);
+
 #include "ksyms.h"
 
 /* Defined in locore.s */



CVS commit: src/sys/arch

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 22:22:17 UTC 2020

Modified Files:
src/sys/arch/bebox/stand/boot: Makefile
src/sys/arch/prep/stand/boot: Makefile

Log Message:
apply some GCC_NO_ADDR_OF_PACKED_MEMBER.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/bebox/stand/boot/Makefile
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/prep/stand/boot/Makefile

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/bebox/stand/boot/Makefile
diff -u src/sys/arch/bebox/stand/boot/Makefile:1.35 src/sys/arch/bebox/stand/boot/Makefile:1.36
--- src/sys/arch/bebox/stand/boot/Makefile:1.35	Sat Apr  8 19:53:20 2017
+++ src/sys/arch/bebox/stand/boot/Makefile	Mon Sep  7 22:22:17 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.35 2017/04/08 19:53:20 christos Exp $
+#	$NetBSD: Makefile,v 1.36 2020/09/07 22:22:17 mrg Exp $
 
 NOMAN= # defined
 
@@ -69,5 +69,7 @@ ${PROG}: ${OBJS} ${LIBS}
 
 .include "${S}/conf/newvers_stand.mk"
 
+CWARNFLAGS.gcc+=	${GCC_NO_ADDR_OF_PACKED_MEMBER}
+
 .include 
 .include 

Index: src/sys/arch/prep/stand/boot/Makefile
diff -u src/sys/arch/prep/stand/boot/Makefile:1.31 src/sys/arch/prep/stand/boot/Makefile:1.32
--- src/sys/arch/prep/stand/boot/Makefile:1.31	Tue Sep  3 14:18:32 2019
+++ src/sys/arch/prep/stand/boot/Makefile	Mon Sep  7 22:22:17 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.31 2019/09/03 14:18:32 martin Exp $
+#	$NetBSD: Makefile,v 1.32 2020/09/07 22:22:17 mrg Exp $
 
 NOMAN= # defined
 
@@ -66,5 +66,7 @@ ${PROG}: ${OBJS} ${LIBS}
 
 .include "${S}/conf/newvers_stand.mk"
 
+CWARNFLAGS.gcc+=	${GCC_NO_ADDR_OF_PACKED_MEMBER}
+
 .include 
 .include 



CVS commit: src/external/gpl3/gcc/dist/gcc/config/rs6000

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 22:21:55 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
use the generic ppc64 LINK_GCC_C_SEQUENCE_SPEC.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

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

Modified files:

Index: src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.25 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.26
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.25	Wed Nov  6 09:10:50 2019
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Mon Sep  7 22:21:55 2020
@@ -584,9 +584,6 @@ extern int dot_symbols;
 #undef DRAFT_V4_STRUCT_RET
 #define DRAFT_V4_STRUCT_RET (!TARGET_64BIT)
 
-#define LINK_GCC_C_SEQUENCE_SPEC \
-  "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-
 /* Use --as-needed -lgcc_s for eh support.  */
 #ifdef HAVE_LD_AS_NEEDED
 #define USE_LD_AS_NEEDED 1



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 19:48:09 UTC 2020

Modified Files:
src/usr.bin/make: dir.c
src/usr.bin/make/unit-tests: dir.mk

Log Message:
make(1): document that nested braces work as expected now


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.137 src/usr.bin/make/dir.c
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/dir.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/dir.c
diff -u src/usr.bin/make/dir.c:1.136 src/usr.bin/make/dir.c:1.137
--- src/usr.bin/make/dir.c:1.136	Sat Sep  5 13:55:08 2020
+++ src/usr.bin/make/dir.c	Mon Sep  7 19:48:08 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: dir.c,v 1.136 2020/09/05 13:55:08 rillig Exp $	*/
+/*	$NetBSD: dir.c,v 1.137 2020/09/07 19:48:08 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: dir.c,v 1.136 2020/09/05 13:55:08 rillig Exp $";
+static char rcsid[] = "$NetBSD: dir.c,v 1.137 2020/09/07 19:48:08 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)dir.c	8.2 (Berkeley) 1/2/94";
 #else
-__RCSID("$NetBSD: dir.c,v 1.136 2020/09/05 13:55:08 rillig Exp $");
+__RCSID("$NetBSD: dir.c,v 1.137 2020/09/07 19:48:08 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -256,7 +256,6 @@ static Hash_Table mtimes;
 
 static Hash_Table lmtimes;	/* same as mtimes but for lstat */
 
-static void DirExpandCurly(const char *, const char *, Lst, Lst);
 static void DirExpandInt(const char *, Lst, Lst);
 static int DirPrintWord(void *, void *);
 static int DirPrintDir(void *, void *);

Index: src/usr.bin/make/unit-tests/dir.mk
diff -u src/usr.bin/make/unit-tests/dir.mk:1.4 src/usr.bin/make/unit-tests/dir.mk:1.5
--- src/usr.bin/make/unit-tests/dir.mk:1.4	Fri Jul 31 20:16:21 2020
+++ src/usr.bin/make/unit-tests/dir.mk	Mon Sep  7 19:48:08 2020
@@ -1,8 +1,9 @@
-# $NetBSD: dir.mk,v 1.4 2020/07/31 20:16:21 rillig Exp $
+# $NetBSD: dir.mk,v 1.5 2020/09/07 19:48:08 rillig Exp $
 #
 # Tests for dir.c.
 
 # Dependency lines may use braces for expansion.
+# See DirExpandCurly for the implementation.
 all: {one,two,three}
 
 one:
@@ -22,7 +23,8 @@ five:
 six:
 	@echo 6
 
-# But nested braces don't work.
+# Nested braces work as expected since 2020-07-31 19:06 UTC.
+# They had been broken at least since 2003-01-01, probably even longer.
 all: {{thi,fou}r,fif}teen
 
 thirteen:



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

2020-09-07 Thread Tom Spindler
Module Name:src
Committed By:   dogcow
Date:   Mon Sep  7 19:46:45 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/bfd: Makefile.am Makefile.in

Log Message:
Fix `build.sh tools -j1` compilation, where bfd.h wasn't generated early
enough.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/Makefile.am
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/Makefile.in

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

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/Makefile.am
diff -u src/external/gpl3/binutils/dist/bfd/Makefile.am:1.7 src/external/gpl3/binutils/dist/bfd/Makefile.am:1.8
--- src/external/gpl3/binutils/dist/bfd/Makefile.am:1.7	Fri Apr  3 23:48:45 2020
+++ src/external/gpl3/binutils/dist/bfd/Makefile.am	Mon Sep  7 19:46:45 2020
@@ -363,6 +363,7 @@ BFD32_BACKENDS = \
 	i386bsd.lo \
 	i386lynx.lo \
 	i386msdos.lo \
+	i386netbsd.lo \
 	mach-o.lo \
 	mach-o-i386.lo \
 	mach-o-arm.lo \
@@ -499,6 +500,7 @@ BFD32_BACKENDS_CFILES = \
 	i386bsd.c \
 	i386lynx.c \
 	i386msdos.c \
+	i386netbsd.c \
 	mach-o.c \
 	mach-o-i386.c \
 	mach-o-arm.c \

Index: src/external/gpl3/binutils/dist/bfd/Makefile.in
diff -u src/external/gpl3/binutils/dist/bfd/Makefile.in:1.8 src/external/gpl3/binutils/dist/bfd/Makefile.in:1.9
--- src/external/gpl3/binutils/dist/bfd/Makefile.in:1.8	Fri Apr  3 23:48:45 2020
+++ src/external/gpl3/binutils/dist/bfd/Makefile.in	Mon Sep  7 19:46:45 2020
@@ -792,6 +792,7 @@ BFD32_BACKENDS = \
 	i386bsd.lo \
 	i386lynx.lo \
 	i386msdos.lo \
+	i386netbsd.lo \
 	mach-o.lo \
 	mach-o-i386.lo \
 	mach-o-arm.lo \
@@ -930,6 +931,7 @@ BFD32_BACKENDS_CFILES = \
 	i386bsd.c \
 	i386lynx.c \
 	i386msdos.c \
+	i386netbsd.c \
 	mach-o.c \
 	mach-o-i386.c \
 	mach-o-arm.c \
@@ -1537,6 +1539,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386bsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386lynx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386msdos.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386netbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ihex.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irix-core.Plo@am__quote@



CVS commit: src/external/bsd/nsd/dist

2020-09-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Sep  7 19:37:21 UTC 2020

Modified Files:
src/external/bsd/nsd/dist: options.c

Log Message:
Simplify to avoid packed struct alignment issue.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.5 -r1.2 src/external/bsd/nsd/dist/options.c

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

Modified files:

Index: src/external/bsd/nsd/dist/options.c
diff -u src/external/bsd/nsd/dist/options.c:1.1.1.5 src/external/bsd/nsd/dist/options.c:1.2
--- src/external/bsd/nsd/dist/options.c:1.1.1.5	Sun Dec 15 11:00:54 2019
+++ src/external/bsd/nsd/dist/options.c	Mon Sep  7 15:37:21 2020
@@ -1432,17 +1432,18 @@ acl_addr_matches_ipv6host(struct acl_opt
 int
 acl_addr_matches_ipv4host(struct acl_options* acl, struct sockaddr_in* addr, unsigned int port)
 {
+	uint32_t saddr = addr->sin_addr.s_addr;
 	if(acl->port != 0 && acl->port != port)
 		return 0;
 	switch(acl->rangetype) {
 	case acl_range_mask:
 	case acl_range_subnet:
-		if(!acl_addr_match_mask((uint32_t*)>addr.addr, (uint32_t*)>sin_addr,
+		if(!acl_addr_match_mask((uint32_t*)>addr.addr, ,
 			(uint32_t*)>range_mask.addr, sizeof(struct in_addr)))
 			return 0;
 		break;
 	case acl_range_minmax:
-		if(!acl_addr_match_range((uint32_t*)>addr.addr, (uint32_t*)>sin_addr,
+		if(!acl_addr_match_range((uint32_t*)>addr.addr, ,
 			(uint32_t*)>range_mask.addr, sizeof(struct in_addr)))
 			return 0;
 		break;



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

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 19:17:36 UTC 2020

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

Log Message:
make(1): extend and explain the test for comments


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/comment.exp \
src/usr.bin/make/unit-tests/comment.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/comment.exp
diff -u src/usr.bin/make/unit-tests/comment.exp:1.1 src/usr.bin/make/unit-tests/comment.exp:1.2
--- src/usr.bin/make/unit-tests/comment.exp:1.1	Thu Aug 21 13:44:51 2014
+++ src/usr.bin/make/unit-tests/comment.exp	Mon Sep  7 19:17:36 2020
@@ -1,5 +1,6 @@
-comment testing start
-this is foo
-This is how a comment looks: # comment
-comment testing done
+echo This is a shell comment: # comment
+This is a shell comment:
+echo This is not a shell comment: '# comment'
+This is not a shell comment: # comment
+A shell comment can#not start in the middle of a word.
 exit status 0
Index: src/usr.bin/make/unit-tests/comment.mk
diff -u src/usr.bin/make/unit-tests/comment.mk:1.1 src/usr.bin/make/unit-tests/comment.mk:1.2
--- src/usr.bin/make/unit-tests/comment.mk:1.1	Thu Aug 21 13:44:51 2014
+++ src/usr.bin/make/unit-tests/comment.mk	Mon Sep  7 19:17:36 2020
@@ -1,31 +1,74 @@
-# This is a comment
-.if ${MACHINE_ARCH} == something
-FOO=bar
-.endif
-
-#\
-	Multiline comment
+# $NetBSD: comment.mk,v 1.2 2020/09/07 19:17:36 rillig Exp $
+#
+# Demonstrate how comments are written in makefiles.
 
-BAR=# defined
-FOOBAR= # defined 
+# This is a comment.
 
-# This is an escaped comment \
-that keeps going until the end of this line
+#\
+This is a multiline comment.
 
-# Another escaped comment \
+# Another multiline comment \
 that \
 goes \
-on
+on and on.
+
+ # Comments can be indented, but that is rather unusual.
+
+	# Comments can be indented with a tab.
+	# These are not shell commands, they are just makefile comments.
+
+.if 1			# There can be comments after conditions.
+.endif			# And after the closing directive.
+
+VAR=			# This comment makes the variable value empty.
+.if ${VAR} != ""
+.  error
+.endif
+
+# The comment does not need to start at the beginning of a word (as in the
+# shell), it can start anywhere.
+VAR=# defined but empty
+
+# The space before the comment is always trimmed.
+VAR=	value
+.if ${VAR} != "value"
+.  error
+.endif
 
 # This is NOT an escaped comment due to the double backslashes \\
-all: hi foo bar
-	@echo comment testing done
+VAR=	not part of the comment
+.if ${VAR} != "not part of the comment"
+.  error
+.endif
 
-hi:
-	@echo comment testing start
+# To escape a comment sign, precede it with a backslash.
+VAR=	\#		# Both in the assignment.
+.if ${VAR} != "\#"	# And in the comparison.
+.  error
+.endif
+
+# Since 2012-03-24 the variable modifier :[#] does not need to be escaped.
+# To keep the parsing code simple, any "[#" does not start a comment, even
+# outside of a variable expression.
+WORDS=	${VAR:[#]} [#
+.if ${WORDS} != "1 [#"
+.  error
+.endif
 
-foo:
-	@echo this is $@
+# An odd number of comment signs makes a line continuation, \\\
+no matter if it is 3 or 5 \
+or 9 backslashes. \
+This is the last line of the comment.
+VAR=	no comment anymore
+.if ${VAR} != "no comment anymore"
+.  error
+.endif
 
-bar:
-	@echo This is how a comment looks: '# comment'
+all:
+# In the commands associated with a target, the '#' does not start a makefile
+# comment.  The '#' is just passed to the shell, like any ordinary character.
+	echo This is a shell comment: # comment
+# If the '#' were to start a makefile comment, the following shell command
+# would have unbalanced quotes.
+	echo This is not a shell comment: '# comment'
+	@echo A shell comment can#not start in the middle of a word.



CVS commit: src/external/apache2/llvm/librt

2020-09-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Sep  7 19:05:41 UTC 2020

Modified Files:
src/external/apache2/llvm/librt: Makefile.inc

Log Message:
Disable an init-list-lifetime warning from gcc-9.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/apache2/llvm/librt/Makefile.inc

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

Modified files:

Index: src/external/apache2/llvm/librt/Makefile.inc
diff -u src/external/apache2/llvm/librt/Makefile.inc:1.2 src/external/apache2/llvm/librt/Makefile.inc:1.3
--- src/external/apache2/llvm/librt/Makefile.inc:1.2	Sun Sep  6 20:18:26 2020
+++ src/external/apache2/llvm/librt/Makefile.inc	Mon Sep  7 15:05:41 2020
@@ -1,8 +1,10 @@
-#	$NetBSD: Makefile.inc,v 1.2 2020/09/07 00:18:26 mrg Exp $
+#	$NetBSD: Makefile.inc,v 1.3 2020/09/07 19:05:41 christos Exp $
 
 LLVM_TOPLEVEL:=	${.PARSEDIR}/..
 NOSTATICLIB=	yes
 
+COPTS+=${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} > 8:? -Wno-error=init-list-lifetime :}
+
 .include "${LLVM_TOPLEVEL}/lib/Makefile.inc"
 .include "${LLVM_TOPLEVEL}/lib/${.CURDIR:T}/Makefile"
 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2020-09-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Sep  7 19:04:27 UTC 2020

Modified Files:
src/external/cddl/osnet/dist/uts/common/fs/zfs: dnode_sync.c

Log Message:
Comment out index out of bounds debugging code.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/dnode_sync.c

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

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/dnode_sync.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/dnode_sync.c:1.6 src/external/cddl/osnet/dist/uts/common/fs/zfs/dnode_sync.c:1.7
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/dnode_sync.c:1.6	Mon May 28 17:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/dnode_sync.c	Mon Sep  7 15:04:27 2020
@@ -689,6 +689,7 @@ dnode_sync(dnode_t *dn, dmu_tx_t *tx)
 			bzero(dnp->dn_blkptr + dnp->dn_nblkptr,
 			sizeof (blkptr_t) *
 			(dn->dn_next_nblkptr[txgoff] - dnp->dn_nblkptr));
+#ifdef notyet /* XXX: gcc-9 */
 #ifdef ZFS_DEBUG
 		} else {
 			int i;
@@ -698,6 +699,7 @@ dnode_sync(dnode_t *dn, dmu_tx_t *tx)
 			i < dnp->dn_nblkptr; i++)
 ASSERT(BP_IS_HOLE(>dn_blkptr[i]));
 #endif
+#endif
 		}
 		mutex_enter(>dn_mtx);
 		dnp->dn_nblkptr = dn->dn_next_nblkptr[txgoff];



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

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 18:49:15 UTC 2020

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

Log Message:
make(1): explain why each test is run in a sub-make


To generate a diff of this commit:
cvs rdiff -u -r1.137 -r1.138 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.137 src/usr.bin/make/unit-tests/Makefile:1.138
--- src/usr.bin/make/unit-tests/Makefile:1.137	Mon Sep  7 18:43:59 2020
+++ src/usr.bin/make/unit-tests/Makefile	Mon Sep  7 18:49:15 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.137 2020/09/07 18:43:59 rillig Exp $
+# $NetBSD: Makefile,v 1.138 2020/09/07 18:49:15 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -431,7 +431,9 @@ LC_ALL=		C
 LANG=		C
 .export LANG LC_ALL
 
-# the tests are actually done with sub-makes.
+# Each test is run in a sub-make, to keep the tests for interfering with
+# each other, and because they use different environment variables and
+# command line options.
 .SUFFIXES: .mk .rawout .out
 .mk.rawout:
 	@${_MKMSG_TEST:Uecho '#  test '} ${.PREFIX}



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

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 18:43:59 UTC 2020

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

Log Message:
make(1): use consistent spelling for postprocessing


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.137 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.136 src/usr.bin/make/unit-tests/Makefile:1.137
--- src/usr.bin/make/unit-tests/Makefile:1.136	Sat Sep  5 12:59:07 2020
+++ src/usr.bin/make/unit-tests/Makefile	Mon Sep  7 18:43:59 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.136 2020/09/05 12:59:07 rillig Exp $
+# $NetBSD: Makefile,v 1.137 2020/09/07 18:43:59 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -372,7 +372,7 @@ FLAGS.varmod-match-escape= -dv
 FLAGS.varname-dot-shell= -dpv
 FLAGS.varname-empty=	-dv '$${:U}=cmdline-u' '=cmline-plain'
 
-# Some tests need extra post-processing.
+# Some tests need extra postprocessing.
 SED_CMDS.opt-debug-graph1= \
 			-e 's,${.CURDIR},CURDIR,'
 SED_CMDS.opt-debug-graph1+= \
@@ -446,7 +446,7 @@ LANG=		C
 	echo $$status > ${.TARGET:R}.status
 	@mv ${.TARGET}.tmp ${.TARGET}
 
-# Post-process the test output so that the results can be compared.
+# Postprocess the test output so that the results can be compared.
 #
 # always pretend .MAKE was called 'make'
 _SED_CMDS+=	-e 's,^${TEST_MAKE:T:S,.,\\.,g}[][0-9]*:,make:,'



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

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 18:40:32 UTC 2020

Modified Files:
src/usr.bin/make/unit-tests: depsrc-wait.exp depsrc-wait.mk

Log Message:
make(1): add test for the .WAIT dependency source


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/depsrc-wait.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/depsrc-wait.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/depsrc-wait.exp
diff -u src/usr.bin/make/unit-tests/depsrc-wait.exp:1.1 src/usr.bin/make/unit-tests/depsrc-wait.exp:1.2
--- src/usr.bin/make/unit-tests/depsrc-wait.exp:1.1	Sun Aug 16 12:07:51 2020
+++ src/usr.bin/make/unit-tests/depsrc-wait.exp	Mon Sep  7 18:40:32 2020
@@ -1 +1,13 @@
+--- a ---
+echo a
+a
+--- b1 ---
+echo b1
+b1
+--- b ---
+echo b
+b
+--- x ---
+echo x
+x
 exit status 0

Index: src/usr.bin/make/unit-tests/depsrc-wait.mk
diff -u src/usr.bin/make/unit-tests/depsrc-wait.mk:1.2 src/usr.bin/make/unit-tests/depsrc-wait.mk:1.3
--- src/usr.bin/make/unit-tests/depsrc-wait.mk:1.2	Sun Aug 16 14:25:16 2020
+++ src/usr.bin/make/unit-tests/depsrc-wait.mk	Mon Sep  7 18:40:32 2020
@@ -1,8 +1,21 @@
-# $NetBSD: depsrc-wait.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
+# $NetBSD: depsrc-wait.mk,v 1.3 2020/09/07 18:40:32 rillig Exp $
 #
-# Tests for the special source .WAIT in dependency declarations.
+# Tests for the special source .WAIT in dependency declarations,
+# which adds a sequence point between the nodes to its left and the nodes
+# to its right.
 
-# TODO: Implementation
+# Even though the build could run massively parallel, the .WAIT imposes a
+# strict ordering in this example, which forces the targets to be made in
+# exactly this order.
+.MAKEFLAGS: -j8
 
-all:
-	@:;
+# This is the example from the manual page.
+.PHONY: x a b b1
+x: a .WAIT b
+	echo x
+a:
+	echo a
+b: b1
+	echo b
+b1:
+	echo b1



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 18:37:09 UTC 2020

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

Log Message:
make(1): with -dp, print name of the function instead of its address

This makes the output a bit more reproducible.  There are still the file
descriptors, which may differ between different runs, but at least the
nextbuf function is printed using a symbolic name instead of a meaningless 
address.
Besides loadedfile_nextbuf, the only other function is ForIterate.


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

Modified files:

Index: src/usr.bin/make/parse.c
diff -u src/usr.bin/make/parse.c:1.287 src/usr.bin/make/parse.c:1.288
--- src/usr.bin/make/parse.c:1.287	Mon Sep  7 06:58:02 2020
+++ src/usr.bin/make/parse.c	Mon Sep  7 18:37:09 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.287 2020/09/07 06:58:02 rillig Exp $	*/
+/*	$NetBSD: parse.c,v 1.288 2020/09/07 18:37:09 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: parse.c,v 1.287 2020/09/07 06:58:02 rillig Exp $";
+static char rcsid[] = "$NetBSD: parse.c,v 1.288 2020/09/07 18:37:09 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)parse.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: parse.c,v 1.287 2020/09/07 06:58:02 rillig Exp $");
+__RCSID("$NetBSD: parse.c,v 1.288 2020/09/07 18:37:09 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -2375,8 +2375,9 @@ Parse_SetInput(const char *name, int lin
 	ParseTrackInput(name);
 
 if (DEBUG(PARSE))
-	fprintf(debug_file, "%s: file %s, line %d, fd %d, nextbuf %p, arg %p\n",
-	__func__, name, line, fd, nextbuf, arg);
+	fprintf(debug_file, "%s: file %s, line %d, fd %d, nextbuf %s, arg %p\n",
+		__func__, name, line, fd,
+		nextbuf == loadedfile_nextbuf ? "loadedfile" : "other", arg);
 
 if (fd == -1 && nextbuf == NULL)
 	/* sanity */



CVS commit: src/usr.sbin/mrouted

2020-09-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Sep  7 18:37:21 UTC 2020

Modified Files:
src/usr.sbin/mrouted: defs.h inet.c

Log Message:
change cksum prototype to const void *, and check alignment via assertion.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/mrouted/defs.h
cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/mrouted/inet.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.sbin/mrouted/defs.h
diff -u src/usr.sbin/mrouted/defs.h:1.15 src/usr.sbin/mrouted/defs.h:1.16
--- src/usr.sbin/mrouted/defs.h:1.15	Tue Feb 22 20:23:03 2011
+++ src/usr.sbin/mrouted/defs.h	Mon Sep  7 14:37:21 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: defs.h,v 1.15 2011/02/23 01:23:03 dyoung Exp $	*/
+/*	$NetBSD: defs.h,v 1.16 2020/09/07 18:37:21 christos Exp $	*/
 
 /*
  * The mrouted program is covered by the license in the accompanying file
@@ -223,7 +223,7 @@ extern int		inet_valid_subnet(u_int32_t 
 extern char *		inet_fmt(u_int32_t addr);
 extern char *		inet_fmts(u_int32_t addr, u_int32_t mask);
 extern u_int32_t	inet_parse(char *s, int *);
-extern int		inet_cksum(u_short *addr, u_int len);
+extern int		inet_cksum(const void *addr, u_int len);
 
 /* prune.c */
 extern unsigned		kroutes;

Index: src/usr.sbin/mrouted/inet.c
diff -u src/usr.sbin/mrouted/inet.c:1.12 src/usr.sbin/mrouted/inet.c:1.13
--- src/usr.sbin/mrouted/inet.c:1.12	Sat May 17 05:39:04 2003
+++ src/usr.sbin/mrouted/inet.c	Mon Sep  7 14:37:21 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: inet.c,v 1.12 2003/05/17 09:39:04 dsl Exp $	*/
+/*	$NetBSD: inet.c,v 1.13 2020/09/07 18:37:21 christos Exp $	*/
 
 /*
  * The mrouted program is covered by the license in the accompanying file
@@ -9,7 +9,7 @@
  * Leland Stanford Junior University.
  */
 
-
+#include 
 #include "defs.h"
 
 
@@ -196,16 +196,18 @@ inet_parse(char *s, int *mask_p)
  *
  */
 int
-inet_cksum(u_int16_t *addr, u_int len)
+inet_cksum(const void *addr, u_int len)
 {
 	int nleft = (int)len;
-	u_int16_t *w = addr;
+	const u_int16_t *w = addr;
 	int32_t sum = 0;
 	union {
 		u_int16_t w;
 		u_int8_t b[2];
 	} answer;
 
+	assert(((uintptr_t)w & 1) == 0);
+
 	/*
 	 *  Our algorithm is simple, using a 32 bit accumulator (sum),
 	 *  we add sequential 16 bit words to it, and at the end, fold
@@ -220,7 +222,7 @@ inet_cksum(u_int16_t *addr, u_int len)
 	/* mop up an odd byte, if necessary */
 	if (nleft == 1) {
 		answer.w = 0;
-		answer.b[0] = *(u_char *)w ;
+		answer.b[0] = *(const u_char *)w;
 		sum += answer.w;
 	}
 



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

2020-09-07 Thread Ryo Shimizu
Module Name:src
Committed By:   ryo
Date:   Mon Sep  7 18:29:48 UTC 2020

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

Log Message:
Oops. revert my previous commit. AArch64 instructions are always LE.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/aarch64/include/ptrace.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/include/ptrace.h
diff -u src/sys/arch/aarch64/include/ptrace.h:1.11 src/sys/arch/aarch64/include/ptrace.h:1.12
--- src/sys/arch/aarch64/include/ptrace.h:1.11	Sun Sep  6 17:43:31 2020
+++ src/sys/arch/aarch64/include/ptrace.h	Mon Sep  7 18:29:48 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.11 2020/09/06 17:43:31 ryo Exp $ */
+/* $NetBSD: ptrace.h,v 1.12 2020/09/07 18:29:48 ryo Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -62,11 +62,7 @@
 #define PTRACE_REG_SP(r)	(r)->r_sp
 #define PTRACE_REG_INTRV(r)	(r)->r_reg[0]
 
-#ifdef __AARCH64EB__
-#define PTRACE_BREAKPOINT	((const uint8_t[]) { 0xd4, 0x20, 0x01, 0xa0 })
-#else
 #define PTRACE_BREAKPOINT	((const uint8_t[]) { 0xa0, 0x01, 0x20, 0xd4 })
-#endif
 #define PTRACE_BREAKPOINT_ASM	__asm __volatile("brk #13" ::: "memory")
 #define PTRACE_BREAKPOINT_SIZE	4
 



CVS commit: src/sys/crypto

2020-09-07 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Mon Sep  7 18:06:13 UTC 2020

Modified Files:
src/sys/crypto/aes/arch/arm: arm_neon.h
src/sys/crypto/chacha/arch/arm: arm_neon.h

Log Message:
Fix vgetq_lane_u32 for aarch64eb with GCC

Fixes NEON AES on aarch64eb


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/crypto/aes/arch/arm/arm_neon.h
cvs rdiff -u -r1.6 -r1.7 src/sys/crypto/chacha/arch/arm/arm_neon.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/crypto/aes/arch/arm/arm_neon.h
diff -u src/sys/crypto/aes/arch/arm/arm_neon.h:1.10 src/sys/crypto/aes/arch/arm/arm_neon.h:1.11
--- src/sys/crypto/aes/arch/arm/arm_neon.h:1.10	Sun Aug  9 02:49:38 2020
+++ src/sys/crypto/aes/arch/arm/arm_neon.h	Mon Sep  7 18:06:13 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: arm_neon.h,v 1.10 2020/08/09 02:49:38 riastradh Exp $	*/
+/*	$NetBSD: arm_neon.h,v 1.11 2020/09/07 18:06:13 jakllsch Exp $	*/
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -232,7 +232,7 @@ static __inline uint32_t
 vgetq_lane_u32(uint32x4_t __v, uint8_t __i)
 {
 #ifdef __aarch64__
-	return __v[__i];
+	return __v[__neon_laneq_index(__v,__i)];
 #else
 	return (uint32_t)__builtin_neon_vget_laneuv4si((int32x4_t)__v, __i);
 #endif

Index: src/sys/crypto/chacha/arch/arm/arm_neon.h
diff -u src/sys/crypto/chacha/arch/arm/arm_neon.h:1.6 src/sys/crypto/chacha/arch/arm/arm_neon.h:1.7
--- src/sys/crypto/chacha/arch/arm/arm_neon.h:1.6	Sun Aug  9 02:49:38 2020
+++ src/sys/crypto/chacha/arch/arm/arm_neon.h	Mon Sep  7 18:06:13 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: arm_neon.h,v 1.6 2020/08/09 02:49:38 riastradh Exp $	*/
+/*	$NetBSD: arm_neon.h,v 1.7 2020/09/07 18:06:13 jakllsch Exp $	*/
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -232,7 +232,7 @@ static __inline uint32_t
 vgetq_lane_u32(uint32x4_t __v, uint8_t __i)
 {
 #ifdef __aarch64__
-	return __v[__i];
+	return __v[__neon_laneq_index(__v, __i)];
 #else
 	return (uint32_t)__builtin_neon_vget_laneuv4si((int32x4_t)__v, __i);
 #endif



CVS commit: src/sys/crypto/chacha/arch/arm

2020-09-07 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Mon Sep  7 18:05:17 UTC 2020

Modified Files:
src/sys/crypto/chacha/arch/arm: chacha_neon_64.S

Log Message:
Use a working macro to detect big endian aarch64.

Fixes aarch64eb NEON ChaCha.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/crypto/chacha/arch/arm/chacha_neon_64.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/crypto/chacha/arch/arm/chacha_neon_64.S
diff -u src/sys/crypto/chacha/arch/arm/chacha_neon_64.S:1.6 src/sys/crypto/chacha/arch/arm/chacha_neon_64.S:1.7
--- src/sys/crypto/chacha/arch/arm/chacha_neon_64.S:1.6	Sat Aug  8 14:47:01 2020
+++ src/sys/crypto/chacha/arch/arm/chacha_neon_64.S	Mon Sep  7 18:05:17 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: chacha_neon_64.S,v 1.6 2020/08/08 14:47:01 riastradh Exp $	*/
+/*	$NetBSD: chacha_neon_64.S,v 1.7 2020/09/07 18:05:17 jakllsch Exp $	*/
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -28,7 +28,7 @@
 
 #include 
 
-RCSID("$NetBSD: chacha_neon_64.S,v 1.6 2020/08/08 14:47:01 riastradh Exp $")
+RCSID("$NetBSD: chacha_neon_64.S,v 1.7 2020/09/07 18:05:17 jakllsch Exp $")
 
 #define	ROUND(a0,b0,c0,d0,a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,t0,t1,t2,t3, r) \
 STEP(STEP0,a0,b0,c0,d0,a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,t0,t1,t2,t3, r);   \
@@ -130,12 +130,12 @@ STEP(STEP19,a0,b0,c0,d0,a1,b1,c1,d1,a2,b
 #define	STEP19(a,b,c,d, t, r)	/* nothing */
 #endif
 
-#if _BYTE_ORDER == _LITTLE_ENDIAN
-#define	HTOLE32(x)
-#define	LE32TOH(x)
-#elif _BYTE_ORDER == _BIG_ENDIAN
+#if defined(__AARCH64EB__)
 #define	HTOLE32(x)	rev32	x, x
 #define	LE32TOH(x)	rev32	x, x
+#else
+#define	LE32TOH(x)
+#define	HTOLE32(x)
 #endif
 
 /*



CVS commit: xsrc/external/mit/libXext/dist/src

2020-09-07 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Mon Sep  7 15:20:53 UTC 2020

Modified Files:
xsrc/external/mit/libXext/dist/src: XEVI.c

Log Message:
Limit the number of visuals to 64K


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.5 -r1.2 xsrc/external/mit/libXext/dist/src/XEVI.c

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

Modified files:

Index: xsrc/external/mit/libXext/dist/src/XEVI.c
diff -u xsrc/external/mit/libXext/dist/src/XEVI.c:1.1.1.5 xsrc/external/mit/libXext/dist/src/XEVI.c:1.2
--- xsrc/external/mit/libXext/dist/src/XEVI.c:1.1.1.5	Tue Jul 21 22:17:42 2015
+++ xsrc/external/mit/libXext/dist/src/XEVI.c	Mon Sep  7 11:20:53 2020
@@ -133,6 +133,8 @@ Status XeviGetVisualInfo(
 	temp_visual[n_visual++] = vinfo[vinfoIndex].visualid;
 }
 else {	/* check if the visual is valid */
+	if (n_visual > 65536)
+		n_visual = 65536;
 for (visualIndex = 0; visualIndex < n_visual; visualIndex++) {
 	isValid = False;
 for (vinfoIndex = 0; vinfoIndex < sz_info; vinfoIndex++) {



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

2020-09-07 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Mon Sep  7 13:19:20 UTC 2020

Modified Files:
src/sys/arch/x86/include: specialreg.h

Log Message:
Fix printb string for LA57


To generate a diff of this commit:
cvs rdiff -u -r1.174 -r1.175 src/sys/arch/x86/include/specialreg.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/x86/include/specialreg.h
diff -u src/sys/arch/x86/include/specialreg.h:1.174 src/sys/arch/x86/include/specialreg.h:1.175
--- src/sys/arch/x86/include/specialreg.h:1.174	Mon Sep  7 03:03:09 2020
+++ src/sys/arch/x86/include/specialreg.h	Mon Sep  7 13:19:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: specialreg.h,v 1.174 2020/09/07 03:03:09 msaitoh Exp $	*/
+/*	$NetBSD: specialreg.h,v 1.175 2020/09/07 13:19:20 jakllsch Exp $	*/
 
 /*
  * Copyright (c) 2014-2020 The NetBSD Foundation, Inc.
@@ -470,7 +470,7 @@
 	"b\4OSPKE\0"	"b\5WAITPKG\0"	"b\6AVX512_VBMI2\0" "b\7CET_SS\0" \
 	"b\10GFNI\0"	"b\11VAES\0"	"b\12VPCLMULQDQ\0" "b\13AVX512_VNNI\0"\
 	"b\14AVX512_BITALG\0"		"b\16AVX512_VPOPCNTDQ\0"	\
-	"b\20\LA57\0"			\
+	"b\20LA57\0"			\
 	"f\21\5MAWAU\0"			\
 	"b\26RDPID\0"			\
 			"b\31CLDEMOTE\0"		"b\33MOVDIRI\0"	\



CVS commit: src/sys/dev/ic

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 10:45:23 UTC 2020

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

Log Message:
in ar5008_set_viterbi_mask() be sure to initialise m[0].


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/ic/arn5008.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/arn5008.c
diff -u src/sys/dev/ic/arn5008.c:1.17 src/sys/dev/ic/arn5008.c:1.18
--- src/sys/dev/ic/arn5008.c:1.17	Wed Jan 29 14:09:58 2020
+++ src/sys/dev/ic/arn5008.c	Mon Sep  7 10:45:23 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: arn5008.c,v 1.17 2020/01/29 14:09:58 thorpej Exp $	*/
+/*	$NetBSD: arn5008.c,v 1.18 2020/09/07 10:45:23 mrg Exp $	*/
 /*	$OpenBSD: ar5008.c,v 1.21 2012/08/25 12:14:31 kettenis Exp $	*/
 
 /*-
@@ -24,7 +24,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: arn5008.c,v 1.17 2020/01/29 14:09:58 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arn5008.c,v 1.18 2020/09/07 10:45:23 mrg Exp $");
 
 #include 
 #include 
@@ -2287,7 +2287,7 @@ ar5008_set_viterbi_mask(struct athn_soft
 	/* Compute viterbi mask. */
 	for (cur = 6100; cur >= 0; cur -= 100)
 		p[+cur / 100] = abs(cur - bin) < 75;
-	for (cur = -100; cur >= -6100; cur -= 100)
+	for (cur = 0; cur >= -6100; cur -= 100)
 		m[-cur / 100] = abs(cur - bin) < 75;
 
 	/* Write viterbi mask (XXX needs to be reworked). */



CVS commit: src/sys/arch/mipsco/stand/installboot

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 10:44:52 UTC 2020

Modified Files:
src/sys/arch/mipsco/stand/installboot: Makefile

Log Message:
apply some GCC_NO_ADDR_OF_PACKED_MEMBER.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/mipsco/stand/installboot/Makefile

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/mipsco/stand/installboot/Makefile
diff -u src/sys/arch/mipsco/stand/installboot/Makefile:1.1 src/sys/arch/mipsco/stand/installboot/Makefile:1.2
--- src/sys/arch/mipsco/stand/installboot/Makefile:1.1	Tue Sep 26 10:00:19 2000
+++ src/sys/arch/mipsco/stand/installboot/Makefile	Mon Sep  7 10:44:52 2020
@@ -1,5 +1,7 @@
-# $NetBSD: Makefile,v 1.1 2000/09/26 10:00:19 wdk Exp $
+# $NetBSD: Makefile,v 1.2 2020/09/07 10:44:52 mrg Exp $
 
 PROG=	installboot
 
+CWARNFLAGS.gcc+=	${GCC_NO_ADDR_OF_PACKED_MEMBER}
+
 .include 



CVS commit: src/external/gpl3/gcc

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 10:42:58 UTC 2020

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

Log Message:
more updates:
- more arm stuff builds
- 32 bit mips builds and kernels run
- mips64el builds
- powerpc (walnut) kernels run


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

Modified files:

Index: src/external/gpl3/gcc/README.gcc9
diff -u src/external/gpl3/gcc/README.gcc9:1.5 src/external/gpl3/gcc/README.gcc9:1.6
--- src/external/gpl3/gcc/README.gcc9:1.5	Mon Sep  7 07:43:36 2020
+++ src/external/gpl3/gcc/README.gcc9	Mon Sep  7 10:42:58 2020
@@ -1,4 +1,4 @@
-$NetBSD: README.gcc9,v 1.5 2020/09/07 07:43:36 mrg Exp $
+$NetBSD: README.gcc9,v 1.6 2020/09/07 10:42:58 mrg Exp $
 
 new stuff:
 	cc1objcplus
@@ -32,7 +32,7 @@ architecture	tools	kernels	libgcc	native
 aarch64		y	y	y	y		y		y	y	n
 aarch64be	y	y	y	y		?		?	?	n
 alpha		y	y	y	y		y		?	?	n
-earmv4		y	n	y	y		y		?	?	n
+earmv4		y	y	y	y		y		?	?	n
 earmv4eb	y	n	n	y		n		?	?	n
 earm		y	n	n	y		n		?	?	n
 earmeb		y	n	n	y		n		?	?	n
@@ -44,17 +44,17 @@ earmv6hf	y	n	n	y		n		?	?	n
 earmv6hfeb	y	n	n	y		n		?	?	n
 earmv7		y	n	n	y		n		?	?	n
 earmv7eb	y	n	n	y		n		?	?	n
-earmv7hf	y	y	y	y		y		y	?	n
+earmv7hf	y	y	y	y		y		y	y	n
 earmv7hfeb	y	n	n	y		n		?	?	n
 hppa		y	y	y	y		y		?	?	n
 i386		y	y	y	y		y		y	y	n
 ia64		y	y	y	y		y		n	?	n
 m68000		y	n	n	y		n[7]		n	?	?
 m68k		y	y	y	y		y		n	?	?
-mipseb		y	n	n	y		n[8]		n	n	n
-mipsel		y	n	n	y		n[8]		n	n	n
+mipseb		y	y	y	y		y[3]		n	n	n
+mipsel		y	y	y	y		y[3]		y	n	n
 mips64eb	y	y	y	y		y[3]		y	y[5]	n
-mips64el	y	n	n	y		n[9]		n	n	n
+mips64el	y	y	y	y		y[3]		n	n	n
 powerpc		y	y	y	y		y[3]		n	n	n
 powerpc64	y	n	n	y		n		?	n	n
 sh3eb		y	n	y	y		n[1]		n	n	n
@@ -81,15 +81,6 @@ architecture	tools	kernels	libgcc	native
 [4]: triggers weird xorg-server issue; perhaps related to _XSERVER64 not being present
 [5]: at least, as well as GCC 8 ran atf.
 [7]: libstdc++ does not build
-[8]: sanitizer fails with eg:
- /tmp//ccbvhjAd.s: Assembler messages:
- /tmp//ccbvhjAd.s:319922: Error: branch out of range
- [ ... ]
- asan_interceptors.pico
-[9]: sanitizer fails with:
- --- pixman-mmx.po ---
- mips64el--netbsd/bin/as: unrecognized option `-mloongson-mmi'
- --> needs new binutils
 
 
 CPU vs platform test table (for CPUs with multiple ports).  this is "make release" or just kernels.
@@ -98,29 +89,29 @@ values:		y (yes), k (kernels only), n (f
 CPU		platform list
 ---		 
 		acorn32		cats	epoc32	evbarm-eb	evbarm-el	hpcarm		iyonix		netwinder	shark 		zaurus
-earmv4:		r		r	r	r		y		r		 		r		r		 
-earm:		 		 	 	-		-		 		-		 		 		-
+earmv4:		y		y	y	y		y		y		 		y		y		 
+earm:		 		 	 	-		-		 		r		 		 		y
 earmhf:		 		 	 	-		-		 		 		 		 		 
 earmv6:		 		 	 	-		-		 		 		 		 		 
-earmv6hf:	 		 	 	-		-		 		 		 		 		 
+earmv6hf:	 		 	 	y		r		 		 		 		 		 
 earmv7:		 		 	 	-		-		 		 		 		 		 
-earmv7hf:	 		 	 	-		-		 		 		 		 		 
+earmv7hf:	 		 	 	r		r		 		 		 		 		 
 
 		amiga		atari	cesfic	hp300		luna68k		mac68k		mvme68k		news68k		next68k		sun3	x68k
 m68k:		y		y	y	y		y		y		y		y		y		y 	y
 
 		evbmips		emips		ews4800mips	mipsco		newsmips	sgimips
-mipseb:		-		-		-		-		-		n
+mipseb:		r		r		y		r		r		y
 
 		evbmips		algor		arc		cobalt		hpcmips		pmax
-mipsel:		n		-		-		-		-		-
+mipsel:		y		r		r		r		-		k
 
 		algor		evbmips		pmax
 mips64eb:	 		y		 
-mips64el:	n		n		n
+mips64el:	y		y		y
 
 		amigappc	bebox	evbppc	ibmnws		macppc		mvmeppc		ofppc		prep		rs6000		sandpoint
-powerpc:	-		-	-	-		y		-		-		-		-		-
+powerpc:	-		-	k	-		y		-		-		-		-		-
 
 		evbppc		macppc		ofppc
 powerpc64:	-		-		-



CVS commit: src

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 10:19:03 UTC 2020

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

Log Message:
switch mips to binutils 2.34.


To generate a diff of this commit:
cvs rdiff -u -r1.312 -r1.313 src/UPDATING
cvs rdiff -u -r1.1206 -r1.1207 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.

Modified files:

Index: src/UPDATING
diff -u src/UPDATING:1.312 src/UPDATING:1.313
--- src/UPDATING:1.312	Thu Aug 20 03:09:34 2020
+++ src/UPDATING	Mon Sep  7 10:19:02 2020
@@ -1,4 +1,4 @@
-$NetBSD: UPDATING,v 1.312 2020/08/20 03:09:34 mrg Exp $
+$NetBSD: UPDATING,v 1.313 2020/09/07 10:19:02 mrg Exp $
 
 This file (UPDATING) is intended to be a brief reference to recent
 changes that might cause problems in the build process, and a guide for
@@ -19,6 +19,10 @@ See also: BUILDING, build.sh, Makefile.
 Recent changes:
 ^^^
 
+20200907:
+	GCC 9 is coming, and binutils has been updated for MIPS.  This
+	probably requires cleaning the tools/binutils.
+
 20200811:
 	GCC updates may require cleaning the objdir.  This may occur
 	due to GCC 7.5 update, GCC 8.4 move to gcc.old, or the upcoming

Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.1206 src/share/mk/bsd.own.mk:1.1207
--- src/share/mk/bsd.own.mk:1.1206	Sun Sep  6 07:20:28 2020
+++ src/share/mk/bsd.own.mk	Mon Sep  7 10:19:02 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.own.mk,v 1.1206 2020/09/06 07:20:28 mrg Exp $
+#	$NetBSD: bsd.own.mk,v 1.1207 2020/09/07 10:19:02 mrg Exp $
 
 # This needs to be before bsd.init.mk
 .if defined(BSD_MK_COMPAT_FILE)
@@ -160,7 +160,8 @@ EXTERNAL_GDB_SUBDIR=		/does/not/exist
 ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc" || \
 ${MACHINE_CPU} == "aarch64" || ${MACHINE_CPU} == "arm" || \
 ${MACHINE_ARCH} == "hppa" || ${MACHINE_ARCH} == "sparc64" || \
-${MACHINE} == "sun2" || ${MACHINE} == "alpha"
+${MACHINE} == "sun2" || ${MACHINE} == "alpha" || \
+${MACHINE_CPU} == "mips"
 HAVE_BINUTILS?=	234
 .else
 HAVE_BINUTILS?=	231



CVS commit: src/sys/arch/pmax/conf

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 09:14:48 UTC 2020

Modified Files:
src/sys/arch/pmax/conf: RAMDISK64

Log Message:
bump ramdisk image size to match build size.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/pmax/conf/RAMDISK64

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/pmax/conf/RAMDISK64
diff -u src/sys/arch/pmax/conf/RAMDISK64:1.6 src/sys/arch/pmax/conf/RAMDISK64:1.7
--- src/sys/arch/pmax/conf/RAMDISK64:1.6	Wed Apr  3 11:30:28 2019
+++ src/sys/arch/pmax/conf/RAMDISK64	Mon Sep  7 09:14:47 2020
@@ -1,4 +1,4 @@
-# 	$NetBSD: RAMDISK64,v 1.6 2019/04/03 11:30:28 christos Exp $
+# 	$NetBSD: RAMDISK64,v 1.7 2020/09/07 09:14:47 mrg Exp $
 #
 # Install kernel with ramdisk added.
 # The ramdisk is be too big to netboot directly via ECOFF on some machines,
@@ -13,7 +13,7 @@ include	"arch/pmax/conf/INSTALL64"
 options 	MEMORY_DISK_HOOKS
 options 	MEMORY_DISK_IS_ROOT	# force root on memory disk
 options 	MEMORY_DISK_SERVER=0	# no userspace memory disk support
-options 	MEMORY_DISK_ROOT_SIZE=8200	# size of memory disk, in blocks (4100kB)
+options 	MEMORY_DISK_ROOT_SIZE=9000	# size of memory disk, in blocks (4500kB)
 
 # File systems: need MFS
 file-system 	MFS		# memory file system



CVS commit: src/sys/dev/pci/ixgbe

2020-09-07 Thread Kengo NAKAHARA
Module Name:src
Committed By:   knakahara
Date:   Mon Sep  7 09:14:54 UTC 2020

Modified Files:
src/sys/dev/pci/ixgbe: ixgbe.c

Log Message:
Fix race between ixgbe_msix_admin() and ixgbe_handle_admin(), pointed out by 
ozaki-r@n.o.

The race is caused by the following.
CPU#A processes workqueue, CPU#B processes admin interrupt.
(0) one of CPUs already calls ixgbe_schedule_admin_tasklet()
such as ixgbe_handle_timer()
(1) CPU#A: read adapter->task_requests
(2) CPU#B: set adapter->task_requests
(3) CPU#B: read(and try to set) adapter->admin_pending
   but adapter->admin_pending is set, so does not
   call workqueue_enqueue()
(4) CPU#A: clear adapter->admin_pending
that is, the tasks set by (2) is not processed as missfire workqueue by (3).


To generate a diff of this commit:
cvs rdiff -u -r1.257 -r1.258 src/sys/dev/pci/ixgbe/ixgbe.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/pci/ixgbe/ixgbe.c
diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.257 src/sys/dev/pci/ixgbe/ixgbe.c:1.258
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.257	Mon Sep  7 05:50:58 2020
+++ src/sys/dev/pci/ixgbe/ixgbe.c	Mon Sep  7 09:14:53 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.257 2020/09/07 05:50:58 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.258 2020/09/07 09:14:53 knakahara Exp $ */
 
 /**
 
@@ -4805,6 +4805,13 @@ ixgbe_handle_admin(struct work *wk, void
 	 */
 	IFNET_LOCK(ifp);
 	IXGBE_CORE_LOCK(adapter);
+	/*
+	 * Clear the admin_pending flag before reading task_requests to avoid
+	 * missfiring workqueue though setting task_request.
+	 * Hmm, ixgbe_schedule_admin_tasklet() can extra-fire though
+	 * task_requests are done by prior workqueue, but it is harmless.
+	 */
+	atomic_store_relaxed(>admin_pending, 0);
 	while ((req =
 		(adapter->task_requests & ~IXGBE_REQUEST_TASK_NEED_ACKINTR))
 	!= 0) {
@@ -4841,7 +4848,6 @@ ixgbe_handle_admin(struct work *wk, void
 		}
 #endif
 	}
-	atomic_store_relaxed(>admin_pending, 0);
 	if ((adapter->task_requests & IXGBE_REQUEST_TASK_NEED_ACKINTR) != 0) {
 		atomic_and_32(>task_requests,
 		~IXGBE_REQUEST_TASK_NEED_ACKINTR);



CVS commit: src/external/gpl3/gcc/lib/libasan

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 09:09:40 UTC 2020

Modified Files:
src/external/gpl3/gcc/lib/libasan: Makefile

Log Message:
asan_interceptors.cc needs -O1 for mipsel/mipseb.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/external/gpl3/gcc/lib/libasan/Makefile

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

Modified files:

Index: src/external/gpl3/gcc/lib/libasan/Makefile
diff -u src/external/gpl3/gcc/lib/libasan/Makefile:1.31 src/external/gpl3/gcc/lib/libasan/Makefile:1.32
--- src/external/gpl3/gcc/lib/libasan/Makefile:1.31	Mon Oct 28 16:25:05 2019
+++ src/external/gpl3/gcc/lib/libasan/Makefile	Mon Sep  7 09:09:40 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.31 2019/10/28 16:25:05 christos Exp $
+# $NetBSD: Makefile,v 1.32 2020/09/07 09:09:40 mrg Exp $
 
 UNSUPPORTED_COMPILER.clang=	# defined
 NOSANITIZER=	# defined
@@ -56,4 +56,8 @@ COPTS.ubsan_diag.cc += -O1
 COPTS.ubsan_init.cc += -O1
 .endif
 
+.if ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb"
+COPTS.asan_interceptors.cc += -O1
+.endif
+
 .include 



CVS commit: src/distrib/pmax/ramdisk

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 09:05:11 UTC 2020

Modified Files:
src/distrib/pmax/ramdisk: Makefile

Log Message:
bump image size for pmax64 builds.


To generate a diff of this commit:
cvs rdiff -u -r1.53 -r1.54 src/distrib/pmax/ramdisk/Makefile

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

Modified files:

Index: src/distrib/pmax/ramdisk/Makefile
diff -u src/distrib/pmax/ramdisk/Makefile:1.53 src/distrib/pmax/ramdisk/Makefile:1.54
--- src/distrib/pmax/ramdisk/Makefile:1.53	Sun Dec 29 18:26:18 2019
+++ src/distrib/pmax/ramdisk/Makefile	Mon Sep  7 09:05:10 2020
@@ -1,11 +1,15 @@
-#	$NetBSD: Makefile,v 1.53 2019/12/29 18:26:18 christos Exp $
+#	$NetBSD: Makefile,v 1.54 2020/09/07 09:05:10 mrg Exp $
 
 .include 
 .include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
 
 IMAGE=		ramdisk.fs
 IMAGETAR=	diskimage.tgz
+.if ${MACHINE_ARCH} == "mips64el"
+IMAGESIZE=	4500k
+.else
 IMAGESIZE=	4200k
+.endif
 MAKEFS_FLAGS+=	-f 15
 
 WARNS=		1



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

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 07:48:23 UTC 2020

Modified Files:
src/sys/arch/ia64/include: types.h

Log Message:
define __HAVE___LWP_GETPRIVATE_FAST


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/include/types.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/ia64/include/types.h
diff -u src/sys/arch/ia64/include/types.h:1.11 src/sys/arch/ia64/include/types.h:1.12
--- src/sys/arch/ia64/include/types.h:1.11	Thu Jul 12 10:46:44 2018
+++ src/sys/arch/ia64/include/types.h	Mon Sep  7 07:48:23 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: types.h,v 1.11 2018/07/12 10:46:44 maxv Exp $	*/
+/*	$NetBSD: types.h,v 1.12 2020/09/07 07:48:23 mrg Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -69,6 +69,7 @@ typedef long int	__register_t;
 #define	__HAVE_CPU_DATA_FIRST
 #define	__HAVE_CPU_COUNTER
 #define	__HAVE_SYSCALL_INTERN
+#define	__HAVE___LWP_GETPRIVATE_FAST
 #define	__HAVE_MINIMAL_EMUL
 #define	__HAVE_OLD_DISKLABEL
 #define	__HAVE_ATOMIC64_OPS



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 07:44:53 UTC 2020

Modified Files:
src/external/cddl/osnet/dist/uts/common/fs/zfs: vdev_raidz.c

Log Message:
i can't confirm or deny that GCC 9 is wrong about parity_valid[]
having uninitialised members, but since setting up reconstruct
isn't a hot path, just zero init the whole thing to be sure.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_raidz.c

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

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_raidz.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_raidz.c:1.2 src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_raidz.c:1.3
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_raidz.c:1.2	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_raidz.c	Mon Sep  7 07:44:53 2020
@@ -1412,7 +1412,7 @@ vdev_raidz_reconstruct(raidz_map_t *rm, 
 	int i, c;
 	int code;
 	int nbadparity, nbaddata;
-	int parity_valid[VDEV_RAIDZ_MAXPARITY];
+	int parity_valid[VDEV_RAIDZ_MAXPARITY] = {0};
 
 	/*
 	 * The tgts list must already be sorted.



CVS commit: src/external/gpl3/gcc

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 07:43:36 UTC 2020

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

Log Message:
various updates:
- most builds are working
- arm64, amd64, sparc, evbmips64-eb, and armv7hf-el are known to be
  stable and work
- mips64-el needs new binutils, in testing
- vax, sh3*, riscv64 and mipse[lb] builds are broken in various ways


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

Modified files:

Index: src/external/gpl3/gcc/README.gcc9
diff -u src/external/gpl3/gcc/README.gcc9:1.4 src/external/gpl3/gcc/README.gcc9:1.5
--- src/external/gpl3/gcc/README.gcc9:1.4	Mon Sep  7 00:38:14 2020
+++ src/external/gpl3/gcc/README.gcc9	Mon Sep  7 07:43:36 2020
@@ -1,4 +1,4 @@
-$NetBSD: README.gcc9,v 1.4 2020/09/07 00:38:14 mrg Exp $
+$NetBSD: README.gcc9,v 1.5 2020/09/07 07:43:36 mrg Exp $
 
 new stuff:
 	cc1objcplus
@@ -29,32 +29,33 @@ switched:	has port switched?  y (yes), n
 
 architecture	tools	kernels	libgcc	native-gcc	make release	runs	atf	switched
 	-	---	--	--			---	
-aarch64		y	y	y	y		y		y	n	n
-alpha		y	n	n	y		n		n	n	n
-earmv4		y	n	n	y		n		n	n	n
-earmv4eb	y	n	n	y		n		n	n	n
-earm		y	n	n	y		n		n	n	n
-earmeb		y	n	n	y		n		n	n	n
-earmhf		y	n	n	y		n		n	n	n
-earmhfeb	y	n	n	y		n		n	n	n
-earmv6		y	n	n	y		n		n	n	n
-earmv6eb	y	n	n	y		n		n	n	n
-earmv6hf	y	n	n	y		n		n	n	n
-earmv6hfeb	y	n	n	y		n		n	n	n
-earmv7		y	n	n	y		n		n	n	n
-earmv7eb	y	n	n	y		n		n	n	n
-earmv7hf	y	n	n	y		n		n	n	n
-earmv7hfeb	y	n	n	y		n		n	n	n
-hppa		y	n	n	y		n		n	n	n
-i386		y	n	n	y		n		n	n	n
-ia64		y	n	n	y		n		n	n	n
-m68000		y	n	n	y		n		n	?	?
-m68k		y	n	y	y		n		n	?	?
-mipseb		y	n	n	y		n		n	n	n
-mipsel		y	n	n	y		n		n	n	n
-mips64eb	y	n	n	y		n		n	n	n
-mips64el	y	n	n	y		n		n	n	n
-powerpc		y	n	n	y		n		n	n	n
+aarch64		y	y	y	y		y		y	y	n
+aarch64be	y	y	y	y		?		?	?	n
+alpha		y	y	y	y		y		?	?	n
+earmv4		y	n	y	y		y		?	?	n
+earmv4eb	y	n	n	y		n		?	?	n
+earm		y	n	n	y		n		?	?	n
+earmeb		y	n	n	y		n		?	?	n
+earmhf		y	n	n	y		n		?	?	n
+earmhfeb	y	n	n	y		n		?	?	n
+earmv6		y	n	n	y		n		?	?	n
+earmv6eb	y	n	n	y		n		?	?	n
+earmv6hf	y	n	n	y		n		?	?	n
+earmv6hfeb	y	n	n	y		n		?	?	n
+earmv7		y	n	n	y		n		?	?	n
+earmv7eb	y	n	n	y		n		?	?	n
+earmv7hf	y	y	y	y		y		y	?	n
+earmv7hfeb	y	n	n	y		n		?	?	n
+hppa		y	y	y	y		y		?	?	n
+i386		y	y	y	y		y		y	y	n
+ia64		y	y	y	y		y		n	?	n
+m68000		y	n	n	y		n[7]		n	?	?
+m68k		y	y	y	y		y		n	?	?
+mipseb		y	n	n	y		n[8]		n	n	n
+mipsel		y	n	n	y		n[8]		n	n	n
+mips64eb	y	y	y	y		y[3]		y	y[5]	n
+mips64el	y	n	n	y		n[9]		n	n	n
+powerpc		y	y	y	y		y[3]		n	n	n
 powerpc64	y	n	n	y		n		?	n	n
 sh3eb		y	n	y	y		n[1]		n	n	n
 sh3el		y	n	y	y		n		n	n	n
@@ -63,7 +64,7 @@ sparc64		y	y	y	y		y		n	n	n
 vax		y	n	y	y		n[2]		y	y	n
 x86_64		y	y	y	y		y		y	y	n
 riscv32		y	?	y	y		y		?	?	n	
-riscv64		y	?	y	y		n		?	?	n
+riscv64		y	?	y	y		n[4]		?	?	n
 --
 coldfire	?	N/A	?	?		?		N/A	N/A
 	-	---	--	--			---
@@ -76,8 +77,19 @@ architecture	tools	kernels	libgcc	native
  /usr/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:58:3: error: unable to generate reloads for:
  58 |   }
 |   ^
-
-
+[3]: consult cpu/platform table for full data
+[4]: triggers weird xorg-server issue; perhaps related to _XSERVER64 not being present
+[5]: at least, as well as GCC 8 ran atf.
+[7]: libstdc++ does not build
+[8]: sanitizer fails with eg:
+ /tmp//ccbvhjAd.s: Assembler messages:
+ /tmp//ccbvhjAd.s:319922: Error: branch out of range
+ [ ... ]
+ asan_interceptors.pico
+[9]: sanitizer fails with:
+ --- pixman-mmx.po ---
+ mips64el--netbsd/bin/as: unrecognized option `-mloongson-mmi'
+ --> needs new binutils
 
 
 CPU vs platform test table (for CPUs with multiple ports).  this is "make release" or just kernels.
@@ -86,29 +98,29 @@ values:		y (yes), k (kernels only), n (f
 CPU		platform list
 ---		 
 		acorn32		cats	epoc32	evbarm-eb	evbarm-el	hpcarm		iyonix		netwinder	shark 		zaurus
-earmv4:		-		-	-	-		-		-		-		-		-		-
-earm:		-		-	-	-		-		-		-		-		-		-
-earmhf:		-		-	-	-		-		-		-		-		-		-
-earmv6:		-		-	-	-		-		-		-		-		-		-
-earmv6hf:	-		-	-	-		-		-		-		-		-		-
-earmv7:		-		-	-	-		-		-		-		-		-		-
-earmv7hf:	-		-	-	-		-		-		-		-		-		-
+earmv4:		r		r	r	r		y		r		 		r		r		 
+earm:		 		 	 	-		-		 		-		 		 		-
+earmhf:		 		 	 	-		-		 		 		 		 		 
+earmv6:		 		 	 	-		-		 		 		 		 		 
+earmv6hf:	 		 	 	-		-		 		 		 		 		 
+earmv7:		 		 	 	-		-		 		 		 		 		 
+earmv7hf:	 		 	 	-		-		 		 		 		 		 
 
 		amiga		atari	cesfic	hp300		luna68k		mac68k		mvme68k		news68k		next68k		sun3	x68k
-m68k:		y		-	-	-		-		-		-		-		-		- 	-
+m68k:		y		y	y	y		y		y		y		y		y		y 	y
 
 		evbmips		emips		ews4800mips	mipsco		newsmips	sgimips
-mipseb:		-		-		-		-		-		-
+mipseb:		-		-		-		-		-		n
 
 		evbmips		algor		arc		cobalt		hpcmips		pmax
-mipsel:	

CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 07:15:26 UTC 2020

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

Log Message:
make(1): migrate SuffExpandChildren to Var_ParsePP


To generate a diff of this commit:
cvs rdiff -u -r1.143 -r1.144 src/usr.bin/make/suff.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/suff.c
diff -u src/usr.bin/make/suff.c:1.143 src/usr.bin/make/suff.c:1.144
--- src/usr.bin/make/suff.c:1.143	Sat Sep  5 06:46:12 2020
+++ src/usr.bin/make/suff.c	Mon Sep  7 07:15:26 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: suff.c,v 1.143 2020/09/05 06:46:12 rillig Exp $	*/
+/*	$NetBSD: suff.c,v 1.144 2020/09/07 07:15:26 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: suff.c,v 1.143 2020/09/05 06:46:12 rillig Exp $";
+static char rcsid[] = "$NetBSD: suff.c,v 1.144 2020/09/07 07:15:26 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)suff.c	8.4 (Berkeley) 3/21/94";
 #else
-__RCSID("$NetBSD: suff.c,v 1.143 2020/09/05 06:46:12 rillig Exp $");
+__RCSID("$NetBSD: suff.c,v 1.144 2020/09/07 07:15:26 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -1324,14 +1324,14 @@ SuffExpandChildren(LstNode cln, GNode *p
 		 * Start of a variable spec -- contact variable module
 		 * to find the end so we can skip over it.
 		 */
+		const char *nested_p = cp;
 		const char	*junk;
-		int 	len;
 		void	*freeIt;
 
-		junk = Var_Parse(cp, pgn, VARE_UNDEFERR|VARE_WANTRES,
- , );
+		junk = Var_ParsePP(_p, pgn,
+   VARE_UNDEFERR|VARE_WANTRES, );
 		if (junk != var_Error) {
-			cp += len - 1;
+			cp += nested_p - cp;
 		}
 
 		free(freeIt);



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

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 07:10:43 UTC 2020

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

Log Message:
avoid returning stack garbage on platforms that don't have either
__lwp_gettcb_fast() or __lwp_getprivate_fast().


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \

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

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

Modified files:

Index: src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc
diff -u src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc:1.14 src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc:1.15
--- src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc:1.14	Sun Sep  6 05:30:17 2020
+++ src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc	Mon Sep  7 07:10:43 2020
@@ -417,7 +417,7 @@ uptr ThreadSelf() {
 
 #if SANITIZER_NETBSD
 static struct tls_tcb * ThreadSelfTlsTcb() {
-  struct tls_tcb * tcb;
+  struct tls_tcb * tcb = NULL;
 # ifdef __HAVE___LWP_GETTCB_FAST
   tcb = (struct tls_tcb *)__lwp_gettcb_fast();
 # elif defined(__HAVE___LWP_GETPRIVATE_FAST)



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 07:10:56 UTC 2020

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

Log Message:
make(1): migrate to Var_ParsePP in Var_Parse and Var_Subst


To generate a diff of this commit:
cvs rdiff -u -r1.489 -r1.490 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/var.c
diff -u src/usr.bin/make/var.c:1.489 src/usr.bin/make/var.c:1.490
--- src/usr.bin/make/var.c:1.489	Mon Sep  7 07:04:30 2020
+++ src/usr.bin/make/var.c	Mon Sep  7 07:10:56 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.489 2020/09/07 07:04:30 rillig Exp $	*/
+/*	$NetBSD: var.c,v 1.490 2020/09/07 07:10:56 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.489 2020/09/07 07:04:30 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.490 2020/09/07 07:10:56 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)var.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: var.c,v 1.489 2020/09/07 07:04:30 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.490 2020/09/07 07:10:56 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -3429,7 +3429,7 @@ Var_Parse(const char * const str, GNode 
 	 * Skip to the end character or a colon, whichever comes first.
 	 */
 	depth = 1;
-	for (tstr = str + 2; *tstr != '\0'; tstr++) {
+	for (tstr = str + 2; *tstr != '\0';) {
 	/* Track depth so we can spot parse errors. */
 	if (*tstr == startc)
 		depth++;
@@ -3441,15 +3441,14 @@ Var_Parse(const char * const str, GNode 
 		break;
 	/* A variable inside a variable, expand. */
 	if (*tstr == '$') {
-		int rlen;
 		void *freeIt;
-		const char *rval = Var_Parse(tstr, ctxt, eflags, ,
-	 );
+		const char *rval = Var_ParsePP(, ctxt, eflags, );
 		Buf_AddStr(, rval);
 		free(freeIt);
-		tstr += rlen - 1;
-	} else
+	} else {
 		Buf_AddByte(, *tstr);
+		tstr++;
+	}
 	}
 	if (*tstr == ':') {
 	haveModifier = TRUE;
@@ -3696,9 +3695,9 @@ Var_Subst(const char *str, GNode *ctxt, 
 		continue;
 	Buf_AddBytesBetween(, cp, str);
 	} else {
-	int length;
+	const char *nested_str = str;
 	void *freeIt;
-	const char *val = Var_Parse(str, ctxt, eflags, , );
+	const char *val = Var_ParsePP(_str, ctxt, eflags, );
 
 	if (val == var_Error || val == varNoError) {
 		/*
@@ -3708,7 +3707,7 @@ Var_Subst(const char *str, GNode *ctxt, 
 		 * the string...
 		 */
 		if (oldVars) {
-		str += length;
+		str = nested_str;
 		} else if ((eflags & VARE_UNDEFERR) || val == var_Error) {
 		/*
 		 * If variable is undefined, complain and skip the
@@ -3717,18 +3716,18 @@ Var_Subst(const char *str, GNode *ctxt, 
 		 */
 		if (!errorReported) {
 			Parse_Error(PARSE_FATAL, "Undefined variable \"%.*s\"",
-length, str);
+(int)(size_t)(nested_str - str), str);
 		}
-		str += length;
+		str = nested_str;
 		errorReported = TRUE;
 		} else {
 		Buf_AddByte(, *str);
-		str += 1;
+		str++;
 		}
 	} else {
 		size_t val_len;
 
-		str += length;
+		str = nested_str;
 
 		val_len = strlen(val);
 		Buf_AddBytes(, val, val_len);



CVS commit: src/sys/arch/acorn32

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 07:08:35 UTC 2020

Modified Files:
src/sys/arch/acorn32/conf: GENERIC INSTALL LOWMEM_WSCONS
src/sys/arch/acorn32/stand: Makefile.buildboot

Log Message:
-march=armv3m option is obsolete.  remove it from commented kernel
configurations (we haven't supported those machines lately anyway),
and, for GCC >= 9, from the one caller.


To generate a diff of this commit:
cvs rdiff -u -r1.132 -r1.133 src/sys/arch/acorn32/conf/GENERIC
cvs rdiff -u -r1.85 -r1.86 src/sys/arch/acorn32/conf/INSTALL
cvs rdiff -u -r1.77 -r1.78 src/sys/arch/acorn32/conf/LOWMEM_WSCONS
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/acorn32/stand/Makefile.buildboot

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/acorn32/conf/GENERIC
diff -u src/sys/arch/acorn32/conf/GENERIC:1.132 src/sys/arch/acorn32/conf/GENERIC:1.133
--- src/sys/arch/acorn32/conf/GENERIC:1.132	Sat Aug  1 08:20:47 2020
+++ src/sys/arch/acorn32/conf/GENERIC	Mon Sep  7 07:08:34 2020
@@ -1,4 +1,4 @@
-# 	$NetBSD: GENERIC,v 1.132 2020/08/01 08:20:47 maxv Exp $
+# 	$NetBSD: GENERIC,v 1.133 2020/09/07 07:08:34 mrg Exp $
 #
 #	GENERIC --- NetBSD/acorn32 complete configuration
 #
@@ -22,7 +22,7 @@ include 	"arch/acorn32/conf/std.acorn32"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.132 $"
+#ident		"GENERIC-$Revision: 1.133 $"
 
 # estimated number of users
 maxusers	32
@@ -40,7 +40,7 @@ options 	CPU_ARM7	# Support the ARM7 cor
 #options 	ARM6_LATE_ABORT	# ARM6XX late abort support
 
 # For StrongARM only kernels
-#makeoptions	COPTS="-O2 -march=armv3m -mtune=strongarm"
+#makeoptions	COPTS="-O2 -mtune=strongarm"
 
 # File systems
 

Index: src/sys/arch/acorn32/conf/INSTALL
diff -u src/sys/arch/acorn32/conf/INSTALL:1.85 src/sys/arch/acorn32/conf/INSTALL:1.86
--- src/sys/arch/acorn32/conf/INSTALL:1.85	Sat Apr 18 11:00:37 2020
+++ src/sys/arch/acorn32/conf/INSTALL	Mon Sep  7 07:08:34 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.85 2020/04/18 11:00:37 skrll Exp $
+#	$NetBSD: INSTALL,v 1.86 2020/09/07 07:08:34 mrg Exp $
 #
 #	INSTALL -- NetBSD/acorn32 install configuration
 #
@@ -22,7 +22,7 @@ include 	"arch/acorn32/conf/std.acorn32"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"INSTALL-$Revision: 1.85 $"
+#ident		"INSTALL-$Revision: 1.86 $"
 
 # estimated number of users
 maxusers	32
@@ -40,7 +40,7 @@ options 	CPU_ARM7	# Support the ARM7 cor
 #options 	ARM6_LATE_ABORT	# ARM6XX late abort support
 
 # For StrongARM only kernels
-#makeoptions	COPTS="-O2 -march=armv3m -mtune=strongarm"
+#makeoptions	COPTS="-O2 -mtune=strongarm"
 
 # File systems
 

Index: src/sys/arch/acorn32/conf/LOWMEM_WSCONS
diff -u src/sys/arch/acorn32/conf/LOWMEM_WSCONS:1.77 src/sys/arch/acorn32/conf/LOWMEM_WSCONS:1.78
--- src/sys/arch/acorn32/conf/LOWMEM_WSCONS:1.77	Sat Apr 18 11:00:37 2020
+++ src/sys/arch/acorn32/conf/LOWMEM_WSCONS	Mon Sep  7 07:08:34 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: LOWMEM_WSCONS,v 1.77 2020/04/18 11:00:37 skrll Exp $
+#	$NetBSD: LOWMEM_WSCONS,v 1.78 2020/09/07 07:08:34 mrg Exp $
 #
 #	LOWMEM_WSCONS -- RiscPC config with wscons for SMALL machines
 #
@@ -24,7 +24,7 @@ options 	CPU_ARM7	# Support the ARM7 cor
 #options 	ARM6_LATE_ABORT	# ARM6XX late abort support
 
 # For StrongARM only kernels
-#makeoptions	COPTS="-O2 -march=armv3m -mtune=strongarm"
+#makeoptions	COPTS="-O2 -mtune=strongarm"
 
 # For small kernels
 makeoptions	COPTS="-Os -fno-inline -Dinline= -D__inline__= -D_inline_= "

Index: src/sys/arch/acorn32/stand/Makefile.buildboot
diff -u src/sys/arch/acorn32/stand/Makefile.buildboot:1.26 src/sys/arch/acorn32/stand/Makefile.buildboot:1.27
--- src/sys/arch/acorn32/stand/Makefile.buildboot:1.26	Sun Apr 26 07:01:52 2020
+++ src/sys/arch/acorn32/stand/Makefile.buildboot	Mon Sep  7 07:08:35 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.buildboot,v 1.26 2020/04/26 07:01:52 rin Exp $
+#	$NetBSD: Makefile.buildboot,v 1.27 2020/09/07 07:08:35 mrg Exp $
 
 S?=	${.CURDIR}/../../../..
 
@@ -40,7 +40,7 @@ LINKFLAGS+=-N -Ttext ${RELOC}
 CPPFLAGS+=	-D_STANDALONE 
 CPPFLAGS+=	-I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
 CPPFLAGS+=	-I${.CURDIR}/../lib
-CPPFLAGS+=	${ARM_APCS_FLAGS} -march=armv3m
+CPPFLAGS+=	${ARM_APCS_FLAGS} ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} < 9:? -march=armv3m :}
 CPUFLAGS=
 CFLAGS=		-O2
 CFLAGS+=	-ffreestanding -fno-unwind-tables



CVS commit: src/sys/arch/sun3/conf

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 07:07:32 UTC 2020

Modified Files:
src/sys/arch/sun3/conf: Makefile.sun3

Log Message:
don't error array-bounds and packed-member issues with GCC 9.


To generate a diff of this commit:
cvs rdiff -u -r1.109 -r1.110 src/sys/arch/sun3/conf/Makefile.sun3

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/sun3/conf/Makefile.sun3
diff -u src/sys/arch/sun3/conf/Makefile.sun3:1.109 src/sys/arch/sun3/conf/Makefile.sun3:1.110
--- src/sys/arch/sun3/conf/Makefile.sun3:1.109	Sat Sep 22 12:24:03 2018
+++ src/sys/arch/sun3/conf/Makefile.sun3	Mon Sep  7 07:07:32 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.sun3,v 1.109 2018/09/22 12:24:03 rin Exp $
+# $NetBSD: Makefile.sun3,v 1.110 2020/09/07 07:07:32 mrg Exp $
 
 # Makefile for NetBSD
 #
@@ -35,6 +35,7 @@ CPPFLAGS+=	-Dsun3
 CFLAGS+=	${CMACHFLAGS} -fno-defer-pop
 CFLAGS+=	-msoft-float
 AFLAGS+=	-x assembler-with-cpp
+COPTS.sunmon.c+=${GCC_NO_ADDR_OF_PACKED_MEMBER} ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-error=array-bounds :}
 
 ##
 ## (3) libkern and compat



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 07:04:30 UTC 2020

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

Log Message:
make(1): migrate ApplyModifiers to Var_ParsePP


To generate a diff of this commit:
cvs rdiff -u -r1.488 -r1.489 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/var.c
diff -u src/usr.bin/make/var.c:1.488 src/usr.bin/make/var.c:1.489
--- src/usr.bin/make/var.c:1.488	Mon Sep  7 06:20:07 2020
+++ src/usr.bin/make/var.c	Mon Sep  7 07:04:30 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.488 2020/09/07 06:20:07 rillig Exp $	*/
+/*	$NetBSD: var.c,v 1.489 2020/09/07 07:04:30 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.488 2020/09/07 06:20:07 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.489 2020/09/07 07:04:30 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)var.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: var.c,v 1.488 2020/09/07 06:20:07 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.489 2020/09/07 07:04:30 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -3016,9 +3016,10 @@ ApplyModifiers(
 	/*
 	 * We may have some complex modifiers in a variable.
 	 */
-	int rlen;
+	const char *nested_p = p;
 	void *freeIt;
-	const char *rval = Var_Parse(p, st.ctxt, st.eflags, , );
+	const char *rval = Var_ParsePP(_p, st.ctxt, st.eflags,
+	   );
 
 	/*
 	 * If we have not parsed up to st.endc or ':',
@@ -3026,15 +3027,15 @@ ApplyModifiers(
 	 */
 	int c;
 	if (rval[0] != '\0' &&
-		(c = p[rlen]) != '\0' && c != ':' && c != st.endc) {
+		(c = *nested_p) != '\0' && c != ':' && c != st.endc) {
 		free(freeIt);
 		goto apply_mods;
 	}
 
 	VAR_DEBUG("Indirect modifier \"%s\" from \"%.*s\"\n",
-		  rval, rlen, p);
+		  rval, (int)(size_t)(nested_p - p), p);
 
-	p += rlen;
+	p = nested_p;
 
 	if (rval[0] != '\0') {
 		const char *rval_pp = rval;



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:58:02 UTC 2020

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

Log Message:
make(1): migrate Var_Parse to Var_ParsePP in ParseDoDependency


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

Modified files:

Index: src/usr.bin/make/parse.c
diff -u src/usr.bin/make/parse.c:1.286 src/usr.bin/make/parse.c:1.287
--- src/usr.bin/make/parse.c:1.286	Sun Sep  6 19:34:36 2020
+++ src/usr.bin/make/parse.c	Mon Sep  7 06:58:02 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.286 2020/09/06 19:34:36 rillig Exp $	*/
+/*	$NetBSD: parse.c,v 1.287 2020/09/07 06:58:02 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: parse.c,v 1.286 2020/09/06 19:34:36 rillig Exp $";
+static char rcsid[] = "$NetBSD: parse.c,v 1.287 2020/09/07 06:58:02 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)parse.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: parse.c,v 1.286 2020/09/06 19:34:36 rillig Exp $");
+__RCSID("$NetBSD: parse.c,v 1.287 2020/09/07 06:58:02 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -1190,8 +1190,7 @@ ParseDoDependency(char *line)
 	/* Find the end of the next word. */
 	for (cp = line; *cp && (ParseIsEscaped(lstart, cp) ||
 		 !(isspace((unsigned char)*cp) ||
-			 *cp == '!' || *cp == ':' || *cp == LPAREN));
-		 cp++) {
+			 *cp == '!' || *cp == ':' || *cp == LPAREN));) {
 	if (*cp == '$') {
 		/*
 		 * Must be a dynamic source (would have been expanded
@@ -1200,14 +1199,15 @@ ParseDoDependency(char *line)
 		 * no errors in this, as they would have been discovered
 		 * in the initial Var_Subst and we wouldn't be here.
 		 */
-		int 	length;
+		const char *nested_p = cp;
 		void*freeIt;
 
-		(void)Var_Parse(cp, VAR_CMD, VARE_UNDEFERR|VARE_WANTRES,
-, );
+		(void)Var_ParsePP(_p, VAR_CMD,
+  VARE_UNDEFERR|VARE_WANTRES, );
 		free(freeIt);
-		cp += length - 1;
-	}
+		cp += nested_p - cp;
+	} else
+	cp++;
 	}
 
 	/*



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:51:05 UTC 2020

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

Log Message:
make(1): migrate Var_Parse to Var_ParsePP in archive handling


To generate a diff of this commit:
cvs rdiff -u -r1.109 -r1.110 src/usr.bin/make/arch.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/arch.c
diff -u src/usr.bin/make/arch.c:1.109 src/usr.bin/make/arch.c:1.110
--- src/usr.bin/make/arch.c:1.109	Mon Sep  7 06:44:53 2020
+++ src/usr.bin/make/arch.c	Mon Sep  7 06:51:05 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: arch.c,v 1.109 2020/09/07 06:44:53 rillig Exp $	*/
+/*	$NetBSD: arch.c,v 1.110 2020/09/07 06:51:05 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: arch.c,v 1.109 2020/09/07 06:44:53 rillig Exp $";
+static char rcsid[] = "$NetBSD: arch.c,v 1.110 2020/09/07 06:51:05 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)arch.c	8.2 (Berkeley) 1/2/94";
 #else
-__RCSID("$NetBSD: arch.c,v 1.109 2020/09/07 06:44:53 rillig Exp $");
+__RCSID("$NetBSD: arch.c,v 1.110 2020/09/07 06:51:05 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -233,20 +233,20 @@ Arch_ParseArchive(char **linePtr, Lst no
 	 * Variable spec, so call the Var module to parse the puppy
 	 * so we can safely advance beyond it...
 	 */
-	int length;
+	const char *nested_p = cp;
 	void *result_freeIt;
 	const char *result;
 	Boolean isError;
 
-	result = Var_Parse(cp, ctxt, VARE_UNDEFERR|VARE_WANTRES,
-			   , _freeIt);
+	result = Var_ParsePP(_p, ctxt,
+			   VARE_UNDEFERR|VARE_WANTRES, _freeIt);
 	isError = result == var_Error;
 	free(result_freeIt);
 	if (isError)
 		return FALSE;
 
 	subLibName = TRUE;
-	cp += length;
+	cp += nested_p - cp;
 	} else
 	cp++;
 }
@@ -275,13 +275,13 @@ Arch_ParseArchive(char **linePtr, Lst no
 		 * Variable spec, so call the Var module to parse the puppy
 		 * so we can safely advance beyond it...
 		 */
-		int 	length;
 		void	*freeIt;
 		const char *result;
 		Boolean isError;
+		const char *nested_p = cp;
 
-		result = Var_Parse(cp, ctxt, VARE_UNDEFERR|VARE_WANTRES,
-   , );
+		result = Var_ParsePP(_p, ctxt,
+ VARE_UNDEFERR|VARE_WANTRES, );
 		isError = result == var_Error;
 		free(freeIt);
 
@@ -289,7 +289,7 @@ Arch_ParseArchive(char **linePtr, Lst no
 		return FALSE;
 
 		doSubst = TRUE;
-		cp += length;
+		cp += nested_p - cp;
 	} else {
 		cp++;
 	}



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:44:53 UTC 2020

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

Log Message:
make(1): remove unnecessary cp-- from Arch_ParseArchive


To generate a diff of this commit:
cvs rdiff -u -r1.108 -r1.109 src/usr.bin/make/arch.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/arch.c
diff -u src/usr.bin/make/arch.c:1.108 src/usr.bin/make/arch.c:1.109
--- src/usr.bin/make/arch.c:1.108	Sat Sep  5 13:55:08 2020
+++ src/usr.bin/make/arch.c	Mon Sep  7 06:44:53 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: arch.c,v 1.108 2020/09/05 13:55:08 rillig Exp $	*/
+/*	$NetBSD: arch.c,v 1.109 2020/09/07 06:44:53 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: arch.c,v 1.108 2020/09/05 13:55:08 rillig Exp $";
+static char rcsid[] = "$NetBSD: arch.c,v 1.109 2020/09/07 06:44:53 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)arch.c	8.2 (Berkeley) 1/2/94";
 #else
-__RCSID("$NetBSD: arch.c,v 1.108 2020/09/05 13:55:08 rillig Exp $");
+__RCSID("$NetBSD: arch.c,v 1.109 2020/09/07 06:44:53 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -227,15 +227,15 @@ Arch_ParseArchive(char **linePtr, Lst no
 
 subLibName = FALSE;
 
-for (cp = libName; *cp != '(' && *cp != '\0'; cp++) {
+for (cp = libName; *cp != '(' && *cp != '\0';) {
 	if (*cp == '$') {
 	/*
 	 * Variable spec, so call the Var module to parse the puppy
 	 * so we can safely advance beyond it...
 	 */
-	int 	length;
-	void	*result_freeIt;
-	const char	*result;
+	int length;
+	void *result_freeIt;
+	const char *result;
 	Boolean isError;
 
 	result = Var_Parse(cp, ctxt, VARE_UNDEFERR|VARE_WANTRES,
@@ -246,8 +246,9 @@ Arch_ParseArchive(char **linePtr, Lst no
 		return FALSE;
 
 	subLibName = TRUE;
-	cp += length - 1;
-	}
+	cp += length;
+	} else
+	cp++;
 }
 
 *cp++ = '\0';



CVS commit: src/sys/dev/usb

2020-09-07 Thread Ryo ONODERA
Module Name:src
Committed By:   ryoon
Date:   Mon Sep  7 06:32:13 UTC 2020

Modified Files:
src/sys/dev/usb: usbdevs

Log Message:
Add Buffalo BWC-35H01 or BWC-30L01


To generate a diff of this commit:
cvs rdiff -u -r1.785 -r1.786 src/sys/dev/usb/usbdevs

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/usb/usbdevs
diff -u src/sys/dev/usb/usbdevs:1.785 src/sys/dev/usb/usbdevs:1.786
--- src/sys/dev/usb/usbdevs:1.785	Tue Aug 18 02:53:01 2020
+++ src/sys/dev/usb/usbdevs	Mon Sep  7 06:32:13 2020
@@ -1,4 +1,4 @@
-$NetBSD: usbdevs,v 1.785 2020/08/18 02:53:01 simonb Exp $
+$NetBSD: usbdevs,v 1.786 2020/09/07 06:32:13 ryoon Exp $
 
 /*-
  * Copyright (c) 1998-2004 The NetBSD Foundation, Inc.
@@ -1179,6 +1179,7 @@ product CHICONY RTL8188CUS_4	0xaffa	RTL8
 product CHICONY RTL8188CUS_5	0xaffb	RTL8188CUS
 product CHICONY RTL8188CUS_6	0xaffc	RTL8188CUS
 product CHICONY2 TWINKLECAM	0x600d	TwinkleCam USB camera
+product CHICONY2 BWC35HL01	0x602c	Buffalo WBC-35H/L01
 
 /* CH Products */
 product CHPRODUCTS PROTHROTTLE	0x00f1	Pro Throttle



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:28:22 UTC 2020

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

Log Message:
make(1): save a strlen call in ForIterate


To generate a diff of this commit:
cvs rdiff -u -r1.77 -r1.78 src/usr.bin/make/for.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/for.c
diff -u src/usr.bin/make/for.c:1.77 src/usr.bin/make/for.c:1.78
--- src/usr.bin/make/for.c:1.77	Mon Sep  7 06:27:29 2020
+++ src/usr.bin/make/for.c	Mon Sep  7 06:28:22 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: for.c,v 1.77 2020/09/07 06:27:29 rillig Exp $	*/
+/*	$NetBSD: for.c,v 1.78 2020/09/07 06:28:22 rillig Exp $	*/
 
 /*
  * Copyright (c) 1992, The Regents of the University of California.
@@ -30,14 +30,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: for.c,v 1.77 2020/09/07 06:27:29 rillig Exp $";
+static char rcsid[] = "$NetBSD: for.c,v 1.78 2020/09/07 06:28:22 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)for.c	8.1 (Berkeley) 6/6/93";
 #else
-__RCSID("$NetBSD: for.c,v 1.77 2020/09/07 06:27:29 rillig Exp $");
+__RCSID("$NetBSD: for.c,v 1.78 2020/09/07 06:28:22 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -445,6 +445,7 @@ ForIterate(void *v_arg, size_t *ret_len)
 }
 Buf_AddBytesBetween(, cmd_cp, body_end);
 
+*ret_len = Buf_Size();
 cmds_str = Buf_Destroy(, FALSE);
 if (DEBUG(FOR))
 	(void)fprintf(debug_file, "For: loop body:\n%s", cmds_str);
@@ -452,7 +453,6 @@ ForIterate(void *v_arg, size_t *ret_len)
 arg->sub_next += strlist_num(>vars);
 
 arg->parse_buf = cmds_str;
-*ret_len = strlen(cmds_str);
 return cmds_str;
 }
 



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:27:29 UTC 2020

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

Log Message:
make(1): constify local variables in ForIterate


To generate a diff of this commit:
cvs rdiff -u -r1.76 -r1.77 src/usr.bin/make/for.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/for.c
diff -u src/usr.bin/make/for.c:1.76 src/usr.bin/make/for.c:1.77
--- src/usr.bin/make/for.c:1.76	Mon Sep  7 06:26:18 2020
+++ src/usr.bin/make/for.c	Mon Sep  7 06:27:29 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: for.c,v 1.76 2020/09/07 06:26:18 rillig Exp $	*/
+/*	$NetBSD: for.c,v 1.77 2020/09/07 06:27:29 rillig Exp $	*/
 
 /*
  * Copyright (c) 1992, The Regents of the University of California.
@@ -30,14 +30,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: for.c,v 1.76 2020/09/07 06:26:18 rillig Exp $";
+static char rcsid[] = "$NetBSD: for.c,v 1.77 2020/09/07 06:27:29 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)for.c	8.1 (Berkeley) 6/6/93";
 #else
-__RCSID("$NetBSD: for.c,v 1.76 2020/09/07 06:26:18 rillig Exp $");
+__RCSID("$NetBSD: for.c,v 1.77 2020/09/07 06:27:29 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -370,9 +370,9 @@ ForIterate(void *v_arg, size_t *ret_len)
 For *arg = v_arg;
 int i;
 char *var;
-char *cp;
-char *cmd_cp;
-char *body_end;
+const char *cp;
+const char *cmd_cp;
+const char *body_end;
 char ch;
 Buffer cmds;
 char *cmds_str;



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:26:18 UTC 2020

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

Log Message:
make(1): split local variable in ForIterate


To generate a diff of this commit:
cvs rdiff -u -r1.75 -r1.76 src/usr.bin/make/for.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/for.c
diff -u src/usr.bin/make/for.c:1.75 src/usr.bin/make/for.c:1.76
--- src/usr.bin/make/for.c:1.75	Mon Sep  7 06:01:11 2020
+++ src/usr.bin/make/for.c	Mon Sep  7 06:26:18 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: for.c,v 1.75 2020/09/07 06:01:11 rillig Exp $	*/
+/*	$NetBSD: for.c,v 1.76 2020/09/07 06:26:18 rillig Exp $	*/
 
 /*
  * Copyright (c) 1992, The Regents of the University of California.
@@ -30,14 +30,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: for.c,v 1.75 2020/09/07 06:01:11 rillig Exp $";
+static char rcsid[] = "$NetBSD: for.c,v 1.76 2020/09/07 06:26:18 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)for.c	8.1 (Berkeley) 6/6/93";
 #else
-__RCSID("$NetBSD: for.c,v 1.75 2020/09/07 06:01:11 rillig Exp $");
+__RCSID("$NetBSD: for.c,v 1.76 2020/09/07 06:26:18 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -375,6 +375,7 @@ ForIterate(void *v_arg, size_t *ret_len)
 char *body_end;
 char ch;
 Buffer cmds;
+char *cmds_str;
 size_t cmd_len;
 
 if (arg->sub_next + strlist_num(>vars) > strlist_num(>items)) {
@@ -444,15 +445,15 @@ ForIterate(void *v_arg, size_t *ret_len)
 }
 Buf_AddBytesBetween(, cmd_cp, body_end);
 
-cp = Buf_Destroy(, FALSE);
+cmds_str = Buf_Destroy(, FALSE);
 if (DEBUG(FOR))
-	(void)fprintf(debug_file, "For: loop body:\n%s", cp);
+	(void)fprintf(debug_file, "For: loop body:\n%s", cmds_str);
 
 arg->sub_next += strlist_num(>vars);
 
-arg->parse_buf = cp;
-*ret_len = strlen(cp);
-return cp;
+arg->parse_buf = cmds_str;
+*ret_len = strlen(cmds_str);
+return cmds_str;
 }
 
 /* Run the for loop, imitating the actions of an include file. */



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:20:07 UTC 2020

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

Log Message:
make(1): remove redundant includes


To generate a diff of this commit:
cvs rdiff -u -r1.133 -r1.134 src/usr.bin/make/make.c
cvs rdiff -u -r1.487 -r1.488 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/make.c
diff -u src/usr.bin/make/make.c:1.133 src/usr.bin/make/make.c:1.134
--- src/usr.bin/make/make.c:1.133	Sun Aug 30 14:11:42 2020
+++ src/usr.bin/make/make.c	Mon Sep  7 06:20:07 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: make.c,v 1.133 2020/08/30 14:11:42 rillig Exp $	*/
+/*	$NetBSD: make.c,v 1.134 2020/09/07 06:20:07 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: make.c,v 1.133 2020/08/30 14:11:42 rillig Exp $";
+static char rcsid[] = "$NetBSD: make.c,v 1.134 2020/09/07 06:20:07 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)make.c	8.1 (Berkeley) 6/6/93";
 #else
-__RCSID("$NetBSD: make.c,v 1.133 2020/08/30 14:11:42 rillig Exp $");
+__RCSID("$NetBSD: make.c,v 1.134 2020/09/07 06:20:07 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -116,7 +116,6 @@ __RCSID("$NetBSD: make.c,v 1.133 2020/08
  */
 
 #include"make.h"
-#include"enum.h"
 #include"dir.h"
 #include"job.h"
 

Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.487 src/usr.bin/make/var.c:1.488
--- src/usr.bin/make/var.c:1.487	Fri Sep  4 20:28:15 2020
+++ src/usr.bin/make/var.c	Mon Sep  7 06:20:07 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.487 2020/09/04 20:28:15 rillig Exp $	*/
+/*	$NetBSD: var.c,v 1.488 2020/09/07 06:20:07 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.487 2020/09/04 20:28:15 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.488 2020/09/07 06:20:07 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)var.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: var.c,v 1.487 2020/09/04 20:28:15 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.488 2020/09/07 06:20:07 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -129,7 +129,6 @@ __RCSID("$NetBSD: var.c,v 1.487 2020/09/
 #include
 
 #include"make.h"
-#include"enum.h"
 #include"dir.h"
 #include"job.h"
 #include"metachar.h"



CVS commit: src/usr.bin/make

2020-09-07 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Mon Sep  7 06:01:11 UTC 2020

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

Log Message:
make(1): convert ForEscapes from #define to enum


To generate a diff of this commit:
cvs rdiff -u -r1.74 -r1.75 src/usr.bin/make/for.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/for.c
diff -u src/usr.bin/make/for.c:1.74 src/usr.bin/make/for.c:1.75
--- src/usr.bin/make/for.c:1.74	Mon Sep  7 05:58:08 2020
+++ src/usr.bin/make/for.c	Mon Sep  7 06:01:11 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: for.c,v 1.74 2020/09/07 05:58:08 rillig Exp $	*/
+/*	$NetBSD: for.c,v 1.75 2020/09/07 06:01:11 rillig Exp $	*/
 
 /*
  * Copyright (c) 1992, The Regents of the University of California.
@@ -30,14 +30,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: for.c,v 1.74 2020/09/07 05:58:08 rillig Exp $";
+static char rcsid[] = "$NetBSD: for.c,v 1.75 2020/09/07 06:01:11 rillig Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)for.c	8.1 (Berkeley) 6/6/93";
 #else
-__RCSID("$NetBSD: for.c,v 1.74 2020/09/07 05:58:08 rillig Exp $");
+__RCSID("$NetBSD: for.c,v 1.75 2020/09/07 06:01:11 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -55,9 +55,11 @@ __RCSID("$NetBSD: for.c,v 1.74 2020/09/0
 #include"make.h"
 #include"strlist.h"
 
-#define FOR_SUB_ESCAPE_CHAR  1
-#define FOR_SUB_ESCAPE_BRACE 2
-#define FOR_SUB_ESCAPE_PAREN 4
+typedef enum {
+FOR_SUB_ESCAPE_CHAR = 0x0001,
+FOR_SUB_ESCAPE_BRACE = 0x0002,
+FOR_SUB_ESCAPE_PAREN = 0x0004
+} ForEscapes;
 
 /*
  * For statements are of the form:
@@ -208,7 +210,7 @@ For_Eval(const char *line)
 	size_t n;
 
 	for (n = 0; n < words.len; n++) {
-	int escapes;
+	ForEscapes escapes;
 	char ch;
 
 	ptr = words.words[n];
@@ -334,7 +336,7 @@ static void
 for_substitute(Buffer *cmds, strlist_t *items, unsigned int item_no, char ech)
 {
 const char *item = strlist_str(items, item_no);
-unsigned int escapes = strlist_info(items, item_no);
+ForEscapes escapes = strlist_info(items, item_no);
 char ch;
 
 /* If there were no escapes, or the only escape is the other variable