CVS commit: src/sys/arch/x68k/x68k

2011-10-09 Thread Izumi Tsutsui
Module Name:src
Committed By:   tsutsui
Date:   Sun Oct  9 08:51:56 UTC 2011

Modified Files:
src/sys/arch/x68k/x68k: locore.s

Log Message:
Make NetBSD/x68k kernel work with 8KB/page (i.e. PGSHIFT==13) settings.

It's quite interesting to check ATC miss rate with both settings on XM6i,
as noted in XM6i presentation by isaki@ at OSC 2011 Hiroshima.


To generate a diff of this commit:
cvs rdiff -u -r1.103 -r1.104 src/sys/arch/x68k/x68k/locore.s

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

Modified files:

Index: src/sys/arch/x68k/x68k/locore.s
diff -u src/sys/arch/x68k/x68k/locore.s:1.103 src/sys/arch/x68k/x68k/locore.s:1.104
--- src/sys/arch/x68k/x68k/locore.s:1.103	Sat May 14 10:49:06 2011
+++ src/sys/arch/x68k/x68k/locore.s	Sun Oct  9 08:51:56 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.s,v 1.103 2011/05/14 10:49:06 tsutsui Exp $	*/
+/*	$NetBSD: locore.s,v 1.104 2011/10/09 08:51:56 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -870,7 +870,11 @@ Ljupiterdone:
 	.long	0x4e7b0007		| movc d0,dtt1
 	.word	0xf4d8			| cinva bc
 	.word	0xf518			| pflusha
+#if PGSHIFT == 13
+	movl	#0xc000,%d0
+#else
 	movl	#0x8000,%d0
+#endif
 	.long	0x4e7b0003		| movc d0,tc
 #ifdef M68060
 	RELOC(cputype, %a0)
@@ -887,7 +891,11 @@ Lnot060cache:
 	movc	%d0,%cacr		| turn on both caches
 	jmp	Lenab1
 Lmotommu2:
+#if PGSHIFT == 13
+	movl	#0x82d08b00,%sp@-	| value to load TC with
+#else
 	movl	#0x82c0aa00,%sp@-	| value to load TC with
+#endif
 	pmove	%sp@,%tc		| load it
 
 /*



CVS commit: xsrc/external/mit/xorg-server/dist/hw/xfree86/common

2011-10-09 Thread Jared D. McNeill
Module Name:xsrc
Committed By:   jmcneill
Date:   Sun Oct  9 11:14:43 UTC 2011

Modified Files:
xsrc/external/mit/xorg-server/dist/hw/xfree86/common: xf86Config.c

Log Message:
re-apply patch from revision 1.2:

GenerateDriverlist: Change driver matching pattern to be the same as the
one used by the module loader.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.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/xorg-server/dist/hw/xfree86/common/xf86Config.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c:1.7 xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c:1.8
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c:1.7	Tue Aug  2 07:15:03 2011
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c	Sun Oct  9 11:14:43 2011
@@ -527,7 +527,7 @@ GenerateDriverlist(char * dirname)
 {
 char **ret;
 const char *subdirs[] = { dirname, NULL };
-static const char *patlist[] = {(.*)_drv\\.so, (.*)_drv\\.o, NULL};
+static const char *patlist[] = {(.*)_drv\\.so$, (.*)_drv\\.o$, NULL};
 ret = LoaderListDirs(subdirs, patlist);
 
 /* fix up the probe order for video drivers */



CVS commit: src/external/gpl3/gdb

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 13:58:27 UTC 2011

Modified Files:
src/external/gpl3/gdb: Makefile.inc

Log Message:
don't forget to set bindir.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/gdb/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/gpl3/gdb/Makefile.inc
diff -u src/external/gpl3/gdb/Makefile.inc:1.1 src/external/gpl3/gdb/Makefile.inc:1.2
--- src/external/gpl3/gdb/Makefile.inc:1.1	Sun Sep 25 23:02:44 2011
+++ src/external/gpl3/gdb/Makefile.inc	Sun Oct  9 09:58:27 2011
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile.inc,v 1.1 2011/09/26 03:02:44 christos Exp $
+# $NetBSD: Makefile.inc,v 1.2 2011/10/09 13:58:27 christos Exp $
 
 USE_LIBEDIT=no
 USE_TUI=yes
+BINDIR=/usr/bin
 WARNS?=		0
 
 CWARNFLAGS.clang+=	-Wno-unused-value -Wno-conversion \



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

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 14:11:00 UTC 2011

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

Log Message:
forgot to commit this


To generate a diff of this commit:
cvs rdiff -u -r1.962 -r1.963 src/distrib/sets/lists/base/mi

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

Modified files:

Index: src/distrib/sets/lists/base/mi
diff -u src/distrib/sets/lists/base/mi:1.962 src/distrib/sets/lists/base/mi:1.963
--- src/distrib/sets/lists/base/mi:1.962	Sat Oct  8 09:14:03 2011
+++ src/distrib/sets/lists/base/mi	Sun Oct  9 10:11:00 2011
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.962 2011/10/08 13:14:03 mbalmer Exp $
+# $NetBSD: mi,v 1.963 2011/10/09 14:11:00 christos Exp $
 #
 # Note:	Don't delete entries from here - mark them as obsolete instead,
 #	unless otherwise stated below.
@@ -408,6 +408,7 @@
 ./usr/bin/cksum	base-util-bin
 ./usr/bin/clear	base-util-bin
 ./usr/bin/cmp	base-util-bin
+./usr/bin/cleantagsbase-util-bin
 ./usr/bin/co	base-rcs-bin
 ./usr/bin/col	base-util-bin
 ./usr/bin/colcrtbase-util-bin



CVS commit: xsrc/external/mit/xorg-server/dist/hw/xfree86/common

2011-10-09 Thread Jared D. McNeill
Module Name:xsrc
Committed By:   jmcneill
Date:   Sun Oct  9 14:48:05 UTC 2011

Modified Files:
xsrc/external/mit/xorg-server/dist/hw/xfree86/common: xf86Configure.c

Log Message:
When configuring a new PCI or SBus device, remember to stash the bus
specific information (in pVideo for PCI or sVideo for SBus), otherwise
more than one driver may try to attach to the device and 'X -configure'
will fail with Number of created screens does not match number of
detected devices.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.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/xorg-server/dist/hw/xfree86/common/xf86Configure.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c:1.6 xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c:1.7
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c:1.6	Tue Aug  2 07:15:03 2011
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c	Sun Oct  9 14:48:05 2011
@@ -121,11 +121,13 @@ xf86AddBusDeviceToConfigure(const char *
 case BUS_PCI:
 xf86PciConfigureNewDev(busData, DevToConfig[i].pVideo,
DevToConfig[i].GDev, chipset);
+DevToConfig[i].pVideo = busData;
 	break;
 #if (defined(__sparc__) || defined(__sparc))  !defined(__OpenBSD__)
 case BUS_SBUS:
 xf86SbusConfigureNewDev(busData, DevToConfig[i].sVideo,
 DevToConfig[i].GDev);
+DevToConfig[i].sVideo = busData;
 	break;
 #endif
 #if defined(__arm32__)



CVS commit: src/external/gpl3/gdb/bin/gdb

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 18:17:53 UTC 2011

Modified Files:
src/external/gpl3/gdb/bin/gdb: Makefile

Log Message:
fix and re-enable the texinfo targets


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gdb/bin/gdb/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/gdb/bin/gdb/Makefile
diff -u src/external/gpl3/gdb/bin/gdb/Makefile:1.2 src/external/gpl3/gdb/bin/gdb/Makefile:1.3
--- src/external/gpl3/gdb/bin/gdb/Makefile:1.2	Sun Oct  2 14:15:23 2011
+++ src/external/gpl3/gdb/bin/gdb/Makefile	Sun Oct  9 14:17:53 2011
@@ -1,5 +1,6 @@
-#	$NetBSD: Makefile,v 1.2 2011/10/02 18:15:23 christos Exp $
+#	$NetBSD: Makefile,v 1.3 2011/10/09 18:17:53 christos Exp $
 
+.include bsd.own.mk
 .include ../Makefile.inc
 
 GDBARCHDIR=${.CURDIR}/../../lib/libgdb/arch/${MACHINE_ARCH}
@@ -19,9 +20,18 @@ CPPFLAGS+=	-I${.CURDIR} \
 		-I${DIST}/include \
 		${GCPPFLAGS:M-D*}
 
-#TEXINFO=	gdb.texinfo gdbint.texinfo stabs.texinfo
-#INFOFLAGS=	-I${DIST}/gdb/doc -I${DIST}/gdb/mi \
-#		-I${DIST}/readline/doc -I${.CURDIR}/..
+TEXINFO=	gdb.texinfo gdbint.texinfo stabs.texinfo
+INFOFLAGS=	-I${DIST}/gdb/doc -I${DIST}/gdb/mi \
+		-I${DIST}/readline/doc -I${.CURDIR}/.. -DGDBN=${GDBN}
+
+GDBvn.texi: ${DIST}/gdb/version.in
+	echo @set GDBVN $$(${TOOL_CAT} ${.ALLSRC})  ${.TARGET}
+
+gdb-cfg.texi: ${DIST}/gdb/doc/all-cfg.texi
+	${TOOL_CAT} ${.ALLSRC}  ${.TARGET}
+
+CLEANFILES+= GDBvn.texi gdb-cfg.texi
+gdb.info: gdb-cfg.texi GDBvn.texi
 
 .include ../../Makefile.inc
 .include bsd.info.mk



CVS commit: src/tests/lib/libc/regex

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 18:21:09 UTC 2011

Modified Files:
src/tests/lib/libc/regex: Makefile
Added Files:
src/tests/lib/libc/regex: t_exhaust.c

Log Message:
Add a test to check for DoS attacks against regcomp/regexec. From
Maksymilian Arciemowicz.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/regex/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/lib/libc/regex/t_exhaust.c

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

Modified files:

Index: src/tests/lib/libc/regex/Makefile
diff -u src/tests/lib/libc/regex/Makefile:1.1 src/tests/lib/libc/regex/Makefile:1.2
--- src/tests/lib/libc/regex/Makefile:1.1	Sat Jan  8 20:00:40 2011
+++ src/tests/lib/libc/regex/Makefile	Sun Oct  9 14:21:08 2011
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/01/09 01:00:40 pgoyette Exp $
+# $NetBSD: Makefile,v 1.2 2011/10/09 18:21:08 christos Exp $
 
 MKMAN=	no
 
@@ -12,6 +12,7 @@ SRCS=		main.c split.c debug.c
 CPPFLAGS+=	-I${NETBSDSRCDIR}/lib/libc/regex
 
 TESTS_SH=	t_regex
+TESTS_C=	t_exhaust
 
 FILESDIR=	${TESTSDIR}/data
 FILES+=		README

Added files:

Index: src/tests/lib/libc/regex/t_exhaust.c
diff -u /dev/null src/tests/lib/libc/regex/t_exhaust.c:1.1
--- /dev/null	Sun Oct  9 14:21:09 2011
+++ src/tests/lib/libc/regex/t_exhaust.c	Sun Oct  9 14:21:08 2011
@@ -0,0 +1,196 @@
+/*	$NetBSD: t_exhaust.c,v 1.1 2011/10/09 18:21:08 christos Exp $	*/
+
+/*-
+ * Copyright (c) 2011 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Christos Zoulas.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *must display the following acknowledgement:
+ *This product includes software developed by the NetBSD
+ *Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ *contributors may be used to endorse or promote products derived
+ *from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include sys/cdefs.h
+__RCSID($NetBSD: t_exhaust.c,v 1.1 2011/10/09 18:21:08 christos Exp $);
+
+#include stdio.h
+#include regex.h
+#include string.h
+#include stdlib.h
+#include err.h
+#include atf-c.h
+
+
+static char *
+mkstr(const char *str, size_t len)
+{
+	size_t slen = strlen(str);
+	char *p = malloc(slen * len + 1);
+	if (p == NULL)
+		err(1, malloc);
+	for (size_t i = 0; i  len; i++)
+		strcpy(p[i * slen], str);
+	return p;
+}
+
+static char *
+concat(const char *d, const char *s)
+{
+	size_t dlen = strlen(d);
+	size_t slen = strlen(s);
+	char *p = malloc(dlen + slen + 1);
+	strcpy(p, d);
+	strcpy(p + dlen, s);
+	return p;
+}
+
+static char *
+p0(size_t len)
+{
+	char *d, *s1, *s2;
+	s1 = mkstr(\\(, len);
+	s2 = concat(s1, ));
+	free(s1);
+	d = concat((, s2);
+	free(s2);
+	return d;
+}
+
+static char *
+p1(size_t len)
+{
+	char *d, *s1, *s2, *s3;
+	s1 = mkstr(\\(, 60);
+	s2 = mkstr((.*), len);
+	s3 = concat(s1, s2);
+	free(s2);
+	free(s1);
+	s1 = concat(s3, ));
+	free(s3);
+	d = concat((, s1);
+	free(s1);
+	return d;
+}
+
+static char *
+ps(const char *m, const char *s, size_t len)
+{
+	char *d, *s1, *s2, *s3;
+	s1 = mkstr(m, len);
+	s2 = mkstr(s, len);
+	s3 = concat(s1, s2);
+	free(s2);
+	free(s1);
+	d = concat((.?), s3);
+	free(s3);
+	return d;
+}
+
+static char *
+p2(size_t len)
+{
+	return ps(((.*){0,255}, ), len);
+}
+
+static char *
+p3(size_t len)
+{
+	return ps((.\\{0,}, ), len);
+}
+
+static char *
+p4(size_t len)
+{
+	return ps(((.*){1,255}, ), len);
+}
+
+static char *

CVS commit: src/lib/libc/regex

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 18:23:00 UTC 2011

Modified Files:
src/lib/libc/regex: engine.c regcomp.c regex2.h

Log Message:
Prevent regcomp/regexec DoS attacks by limiting the amount of memory used
and the level of recursion. Thanks to Maksymilian Arciemowicz for discovery
and help with the implementation.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/lib/libc/regex/engine.c
cvs rdiff -u -r1.29 -r1.30 src/lib/libc/regex/regcomp.c
cvs rdiff -u -r1.12 -r1.13 src/lib/libc/regex/regex2.h

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

Modified files:

Index: src/lib/libc/regex/engine.c
diff -u src/lib/libc/regex/engine.c:1.22 src/lib/libc/regex/engine.c:1.23
--- src/lib/libc/regex/engine.c:1.22	Thu Feb 12 00:06:54 2009
+++ src/lib/libc/regex/engine.c	Sun Oct  9 14:23:00 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: engine.c,v 1.22 2009/02/12 05:06:54 lukem Exp $	*/
+/*	$NetBSD: engine.c,v 1.23 2011/10/09 18:23:00 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993, 1994
@@ -212,8 +212,8 @@ matcher(
 	/* prescreening; this does wonders for this rather slow code */
 	if (g-must != NULL) {
 		for (dp = start; dp  stop; dp++)
-			if (*dp == g-must[0]  stop - dp = g-mlen 
-memcmp(dp, g-must, (size_t)g-mlen) == 0)
+			if (*dp == g-must[0]  (size_t)(stop - dp) = g-mlen 
+memcmp(dp, g-must, g-mlen) == 0)
 break;
 		if (dp == stop)		/* we didn't find g-must */
 			return(REG_NOMATCH);

Index: src/lib/libc/regex/regcomp.c
diff -u src/lib/libc/regex/regcomp.c:1.29 src/lib/libc/regex/regcomp.c:1.30
--- src/lib/libc/regex/regcomp.c:1.29	Thu Feb 12 00:06:54 2009
+++ src/lib/libc/regex/regcomp.c	Sun Oct  9 14:23:00 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: regcomp.c,v 1.29 2009/02/12 05:06:54 lukem Exp $	*/
+/*	$NetBSD: regcomp.c,v 1.30 2011/10/09 18:23:00 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993, 1994
@@ -76,7 +76,7 @@
 #if 0
 static char sccsid[] = @(#)regcomp.c	8.5 (Berkeley) 3/20/94;
 #else
-__RCSID($NetBSD: regcomp.c,v 1.29 2009/02/12 05:06:54 lukem Exp $);
+__RCSID($NetBSD: regcomp.c,v 1.30 2011/10/09 18:23:00 christos Exp $);
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -125,11 +125,11 @@ extern C {
 #endif
 
 /* === regcomp.c === */
-static void p_ere(struct parse *p, int stop);
-static void p_ere_exp(struct parse *p);
+static void p_ere(struct parse *p, int stop, size_t reclimit);
+static void p_ere_exp(struct parse *p, size_t reclimit);
 static void p_str(struct parse *p);
-static void p_bre(struct parse *p, int end1, int end2);
-static int p_simp_re(struct parse *p, int starordinary);
+static void p_bre(struct parse *p, int end1, int end2, size_t reclimit);
+static int p_simp_re(struct parse *p, int starordinary, size_t reclimit);
 static int p_count(struct parse *p);
 static void p_bracket(struct parse *p);
 static void p_b_term(struct parse *p, cset *cs);
@@ -141,7 +141,7 @@ static int othercase(int ch);
 static void bothcases(struct parse *p, int ch);
 static void ordinary(struct parse *p, int ch);
 static void nonnewline(struct parse *p);
-static void repeat(struct parse *p, sopno start, int from, int to);
+static void repeat(struct parse *p, sopno start, int from, int to, size_t reclimit);
 static int seterr(struct parse *p, int e);
 static cset *allocset(struct parse *p);
 static void freeset(struct parse *p, cset *cs);
@@ -163,7 +163,7 @@ static sopno dupl(struct parse *p, sopno
 static void doemit(struct parse *p, sop op, sopno opnd);
 static void doinsert(struct parse *p, sop op, sopno opnd, sopno pos);
 static void dofwd(struct parse *p, sopno pos, sopno value);
-static void enlarge(struct parse *p, sopno size);
+static int enlarge(struct parse *p, sopno size);
 static void stripsnug(struct parse *p, struct re_guts *g);
 static void findmust(struct parse *p, struct re_guts *g);
 static sopno pluscount(struct parse *p, struct re_guts *g);
@@ -211,6 +211,13 @@ static int never = 0;		/* for use in ass
 #define	never	0		/* some assert.hs have bugs too */
 #endif
 
+#define	MEMLIMIT	0x800
+#define MEMSIZE(p) \
+	((p)-ncsalloc / CHAR_BIT * (p)-g-csetsize + \
+	(p)-ncsalloc * sizeof(cset) + \
+	(p)-ssize * sizeof(sop))
+#define	RECLIMIT	256
+
 /*
  - regcomp - interface for parser and compilation
  = extern int regcomp(regex_t *, const char *, int);
@@ -260,7 +267,7 @@ regcomp(
 	if (g == NULL)
 		return(REG_ESPACE);
 	p-ssize = len/(size_t)2*(size_t)3 + (size_t)1;	/* ugh */
-	p-strip = (sop *)malloc(p-ssize * sizeof(sop));
+	p-strip = malloc(p-ssize * sizeof(sop));
 	p-slen = 0;
 	if (p-strip == NULL) {
 		free(g);
@@ -297,11 +304,11 @@ regcomp(
 	EMIT(OEND, 0);
 	g-firststate = THERE();
 	if (cflagsREG_EXTENDED)
-		p_ere(p, OUT);
+		p_ere(p, OUT, 0);
 	else if (cflagsREG_NOSPEC)
 		p_str(p);
 	else
-		p_bre(p, OUT, OUT);
+		p_bre(p, OUT, OUT, 0);
 	EMIT(OEND, 0);
 	g-laststate = THERE();
 
@@ -328,12 +335,13 @@ regcomp(
 
 /*
  - p_ere - ERE parser top 

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

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 18:25:28 UTC 2011

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

Log Message:
add the regex exhaustion test


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

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

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.398 src/distrib/sets/lists/tests/mi:1.399
--- src/distrib/sets/lists/tests/mi:1.398	Tue Oct  4 16:20:32 2011
+++ src/distrib/sets/lists/tests/mi	Sun Oct  9 14:25:28 2011
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.398 2011/10/04 20:20:32 christos Exp $
+# $NetBSD: mi,v 1.399 2011/10/09 18:25:28 christos Exp $
 #
 # Note: don't delete entries from here - mark them as obsolete instead.
 #
@@ -416,6 +416,7 @@
 ./usr/libdata/debug/usr/tests/lib/libc/net/h_servent.debug		tests-lib-debug		debug,atf
 ./usr/libdata/debug/usr/tests/lib/libc/net/t_getprotoent.debug		tests-lib-debug		debug,atf
 ./usr/libdata/debug/usr/tests/lib/libc/regextests-lib-debug
+./usr/libdata/debug/usr/tests/lib/libc/regex/t_exhaust.debug		tests-lib-debug		debug,atf
 ./usr/libdata/debug/usr/tests/lib/libc/regex/h_regex.debug		tests-lib-debug		debug,atf
 ./usr/libdata/debug/usr/tests/lib/libc/rpctests-lib-debug
 ./usr/libdata/debug/usr/tests/lib/libc/rpc/t_xdr.debug			tests-lib-debug		debug,atf
@@ -2016,8 +2017,8 @@
 ./usr/tests/lib/libc/regex/data/subtle.in	tests-lib-tests		atf
 ./usr/tests/lib/libc/regex/data/word_bound.in	tests-lib-tests		atf
 ./usr/tests/lib/libc/regex/h_regex		tests-lib-tests		atf
+./usr/tests/lib/libc/regex/t_exhaust		tests-lib-tests		atf
 ./usr/tests/lib/libc/regex/t_regex		tests-lib-tests		atf
-./usr/tests/lib/libc/regex/h_regex		tests-lib-tests		atf
 ./usr/tests/lib/libc/rpc			tests-lib-tests
 ./usr/tests/lib/libc/rpc/Atffile		tests-lib-tests		atf
 ./usr/tests/lib/libc/rpc/t_xdr			tests-lib-tests		atf



CVS commit: src/sys/sys

2011-10-09 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Oct  9 20:30:19 UTC 2011

Modified Files:
src/sys/sys: cdefs.h

Log Message:
add __noclone for gcc 4.5.


To generate a diff of this commit:
cvs rdiff -u -r1.87 -r1.88 src/sys/sys/cdefs.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/sys/cdefs.h
diff -u src/sys/sys/cdefs.h:1.87 src/sys/sys/cdefs.h:1.88
--- src/sys/sys/cdefs.h:1.87	Tue Aug 16 23:30:24 2011
+++ src/sys/sys/cdefs.h	Sun Oct  9 20:30:19 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: cdefs.h,v 1.87 2011/08/16 23:30:24 dyoung Exp $	*/
+/*	$NetBSD: cdefs.h,v 1.88 2011/10/09 20:30:19 chs Exp $	*/
 
 /*
  * Copyright (c) 1991, 1993
@@ -232,6 +232,12 @@
 #define	__noinline	/* nothing */
 #endif
 
+#if __GNUC_PREREQ__(4, 5)
+#define	__noclone	__attribute__((__noclone__))
+#else
+#define	__noclone	/* nothing */
+#endif
+
 #if __GNUC_PREREQ__(2, 7)
 #define	__unused	__attribute__((__unused__))
 #else



CVS commit: src/sys/kern

2011-10-09 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Oct  9 20:30:38 UTC 2011

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

Log Message:
mark exit_psignal() as __noclone to work around a gcc 4.5 bug on arm.


To generate a diff of this commit:
cvs rdiff -u -r1.234 -r1.235 src/sys/kern/kern_exit.c

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

Modified files:

Index: src/sys/kern/kern_exit.c
diff -u src/sys/kern/kern_exit.c:1.234 src/sys/kern/kern_exit.c:1.235
--- src/sys/kern/kern_exit.c:1.234	Mon Jun  6 22:04:34 2011
+++ src/sys/kern/kern_exit.c	Sun Oct  9 20:30:37 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_exit.c,v 1.234 2011/06/06 22:04:34 matt Exp $	*/
+/*	$NetBSD: kern_exit.c,v 1.235 2011/10/09 20:30:37 chs Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: kern_exit.c,v 1.234 2011/06/06 22:04:34 matt Exp $);
+__KERNEL_RCSID(0, $NetBSD: kern_exit.c,v 1.235 2011/10/09 20:30:37 chs Exp $);
 
 #include opt_ktrace.h
 #include opt_perfctrs.h
@@ -133,7 +133,8 @@ SDT_PROBE_DEFINE(proc,,,exit, 
 /*
  * Fill in the appropriate signal information, and signal the parent.
  */
-static void
+/* XXX noclone works around a gcc 4.5 bug on arm */
+static void __noclone
 exit_psignal(struct proc *p, struct proc *pp, ksiginfo_t *ksi)
 {
 



CVS commit: src/sys/ufs/ufs

2011-10-09 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Oct  9 21:15:34 UTC 2011

Modified Files:
src/sys/ufs/ufs: extattr.h

Log Message:
add forward declarations for the VOP args structures
so that fstat can include this file.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/ufs/ufs/extattr.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/ufs/ufs/extattr.h
diff -u src/sys/ufs/ufs/extattr.h:1.9 src/sys/ufs/ufs/extattr.h:1.10
--- src/sys/ufs/ufs/extattr.h:1.9	Fri Jun 17 14:23:52 2011
+++ src/sys/ufs/ufs/extattr.h	Sun Oct  9 21:15:34 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: extattr.h,v 1.9 2011/06/17 14:23:52 manu Exp $	*/
+/*	$NetBSD: extattr.h,v 1.10 2011/10/09 21:15:34 chs Exp $	*/
 
 /*-
  * Copyright (c) 1999-2001 Robert N. M. Watson
@@ -110,9 +110,13 @@ int	ufs_extattr_autostart(struct mount *
 void	ufs_extattr_stop(struct mount *mp, struct lwp *l);
 int	ufs_extattrctl(struct mount *mp, int cmd, struct vnode *filename,
 	int attrnamespace, const char *attrname);
+struct vop_getextattr_args;
 int	ufs_getextattr(struct vop_getextattr_args *ap);
+struct vop_deleteextattr_args;
 int	ufs_deleteextattr(struct vop_deleteextattr_args *ap);
+struct vop_setextattr_args;
 int	ufs_setextattr(struct vop_setextattr_args *ap);
+struct vop_listextattr_args;
 int	ufs_listextattr(struct vop_listextattr_args *ap);
 void	ufs_extattr_vnode_inactive(struct vnode *vp, struct lwp *l);
 



CVS commit: src/usr.sbin/makefs

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 21:33:43 UTC 2011

Modified Files:
src/usr.sbin/makefs: ffs.c ffs.h makefs.8
src/usr.sbin/makefs/ffs: mkfs.c

Log Message:
add support for setting the ufs label. (Nathan Whitehorn)


To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/usr.sbin/makefs/ffs.c
cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/makefs/ffs.h
cvs rdiff -u -r1.36 -r1.37 src/usr.sbin/makefs/makefs.8
cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/makefs/ffs/mkfs.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/makefs/ffs.c
diff -u src/usr.sbin/makefs/ffs.c:1.44 src/usr.sbin/makefs/ffs.c:1.45
--- src/usr.sbin/makefs/ffs.c:1.44	Tue Apr 28 18:49:26 2009
+++ src/usr.sbin/makefs/ffs.c	Sun Oct  9 17:33:43 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs.c,v 1.44 2009/04/28 22:49:26 joerg Exp $	*/
+/*	$NetBSD: ffs.c,v 1.45 2011/10/09 21:33:43 christos Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -71,7 +71,7 @@
 
 #include sys/cdefs.h
 #if defined(__RCSID)  !defined(__lint)
-__RCSID($NetBSD: ffs.c,v 1.44 2009/04/28 22:49:26 joerg Exp $);
+__RCSID($NetBSD: ffs.c,v 1.45 2011/10/09 21:33:43 christos Exp $);
 #endif	/* !__lint */
 
 #include sys/param.h
@@ -241,6 +241,9 @@ ffs_parse_opts(const char *option, fsinf
 			goto leave_ffs_parse_opts;
 		}
 		rv = 1;
+	} else if (strcmp(var, label) == 0) {
+		strlcpy(ffs_opts-label, val, sizeof(ffs_opts-label));
+		rv = 1;
 	} else
 		rv = set_option(ffs_options, var, val);
 

Index: src/usr.sbin/makefs/ffs.h
diff -u src/usr.sbin/makefs/ffs.h:1.1 src/usr.sbin/makefs/ffs.h:1.2
--- src/usr.sbin/makefs/ffs.h:1.1	Mon Dec 20 15:51:42 2004
+++ src/usr.sbin/makefs/ffs.h	Sun Oct  9 17:33:43 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs.h,v 1.1 2004/12/20 20:51:42 jmc Exp $	*/
+/*	$NetBSD: ffs.h,v 1.2 2011/10/09 21:33:43 christos Exp $	*/
 
 /*
  * Copyright (c) 2001-2003 Wasabi Systems, Inc.
@@ -38,7 +38,11 @@
 #ifndef _FFS_H
 #define _FFS_H
 
+#include ufs/ufs/dinode.h
+#include ufs/ffs/fs.h
+
 typedef struct {
+	char	label[MAXVOLLEN];	/* volume name/label */
 	int	bsize;		/* block size */
 	int	fsize;		/* fragment size */
 	int	cpg;		/* cylinders per group */

Index: src/usr.sbin/makefs/makefs.8
diff -u src/usr.sbin/makefs/makefs.8:1.36 src/usr.sbin/makefs/makefs.8:1.37
--- src/usr.sbin/makefs/makefs.8:1.36	Mon Aug 15 10:45:01 2011
+++ src/usr.sbin/makefs/makefs.8	Sun Oct  9 17:33:43 2011
@@ -1,4 +1,4 @@
-.\	$NetBSD: makefs.8,v 1.36 2011/08/15 14:45:01 wiz Exp $
+.\	$NetBSD: makefs.8,v 1.37 2011/10/09 21:33:43 christos Exp $
 .\
 .\ Copyright (c) 2001-2003 Wasabi Systems, Inc.
 .\ All rights reserved.
@@ -33,7 +33,7 @@
 .\ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\ POSSIBILITY OF SUCH DAMAGE.
 .\
-.Dd August 13, 2011
+.Dd October 9, 2011
 .Dt MAKEFS 8
 .Os
 .Sh NAME
@@ -238,6 +238,8 @@ Block size.
 Bytes per inode.
 .It Sy fsize
 Fragment size.
+.It Sy label
+Label name of the image.
 .It Sy maxbpg
 Maximum blocks per file in a cylinder group.
 .It Sy minfree

Index: src/usr.sbin/makefs/ffs/mkfs.c
diff -u src/usr.sbin/makefs/ffs/mkfs.c:1.21 src/usr.sbin/makefs/ffs/mkfs.c:1.22
--- src/usr.sbin/makefs/ffs/mkfs.c:1.21	Mon Dec 20 15:51:42 2004
+++ src/usr.sbin/makefs/ffs/mkfs.c	Sun Oct  9 17:33:43 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: mkfs.c,v 1.21 2004/12/20 20:51:42 jmc Exp $	*/
+/*	$NetBSD: mkfs.c,v 1.22 2011/10/09 21:33:43 christos Exp $	*/
 
 /*
  * Copyright (c) 2002 Networks Associates Technology, Inc.
@@ -48,7 +48,7 @@
 static char sccsid[] = @(#)mkfs.c	8.11 (Berkeley) 5/3/95;
 #else
 #ifdef __RCSID
-__RCSID($NetBSD: mkfs.c,v 1.21 2004/12/20 20:51:42 jmc Exp $);
+__RCSID($NetBSD: mkfs.c,v 1.22 2011/10/09 21:33:43 christos Exp $);
 #endif
 #endif
 #endif /* not lint */
@@ -147,7 +147,10 @@ ffs_mkfs(const char *fsys, const fsinfo_
 	avgfpdir =  ffs_opts-avgfpdir;
 	bbsize =BBSIZE;
 	sbsize =SBLOCKSIZE;
-	
+
+	strlcpy((char *)sblock.fs_volname, ffs_opts-label,
+	sizeof(sblock.fs_volname));
+
 	if (Oflag == 0) {
 		sblock.fs_old_inodefmt = FS_42INODEFMT;
 		sblock.fs_maxsymlinklen = 0;



CVS commit: src/tests/lib/libc/regex

2011-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Oct 10 04:32:42 UTC 2011

Modified Files:
src/tests/lib/libc/regex: Makefile debug.c

Log Message:
- Use PROGS instead of PROG so that we can co-exist with TESTS_C
- Make the helper program compile again.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/regex/Makefile
cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/regex/debug.c

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

Modified files:

Index: src/tests/lib/libc/regex/Makefile
diff -u src/tests/lib/libc/regex/Makefile:1.2 src/tests/lib/libc/regex/Makefile:1.3
--- src/tests/lib/libc/regex/Makefile:1.2	Sun Oct  9 14:21:08 2011
+++ src/tests/lib/libc/regex/Makefile	Mon Oct 10 00:32:41 2011
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2011/10/09 18:21:08 christos Exp $
+# $NetBSD: Makefile,v 1.3 2011/10/10 04:32:41 christos Exp $
 
 MKMAN=	no
 
@@ -7,8 +7,8 @@ MKMAN=	no
 TESTSDIR=	${TESTSBASE}/lib/libc/regex
 
 BINDIR=		${TESTSDIR}
-PROG=		h_regex
-SRCS=		main.c split.c debug.c
+PROGS+=		h_regex
+SRCS.h_regex=	main.c split.c debug.c
 CPPFLAGS+=	-I${NETBSDSRCDIR}/lib/libc/regex
 
 TESTS_SH=	t_regex

Index: src/tests/lib/libc/regex/debug.c
diff -u src/tests/lib/libc/regex/debug.c:1.1 src/tests/lib/libc/regex/debug.c:1.2
--- src/tests/lib/libc/regex/debug.c:1.1	Sat Jan  8 13:10:31 2011
+++ src/tests/lib/libc/regex/debug.c	Mon Oct 10 00:32:41 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: debug.c,v 1.1 2011/01/08 18:10:31 pgoyette Exp $	*/
+/*	$NetBSD: debug.c,v 1.2 2011/10/10 04:32:41 christos Exp $	*/
 
 /*-
  * Copyright (c) 1993 The NetBSD Foundation, Inc.
@@ -51,12 +51,11 @@ void
 regprint(regex_t *r, FILE *d)
 {
 	struct re_guts *g = r-re_g;
-	int i;
 	int c;
 	int last;
 	int nincat[NC];
 
-	fprintf(d, %ld states, %d categories, (long)g-nstates,
+	fprintf(d, %ld states, %zu categories, (long)g-nstates,
 			g-ncategories);
 	fprintf(d, , first %ld last %ld, (long)g-firststate,
 		(long)g-laststate);
@@ -77,24 +76,24 @@ regprint(regex_t *r, FILE *d)
 		fprintf(d, , nplus %ld, (long)g-nplus);
 	fprintf(d, \n);
 	s_print(g, d);
-	for (i = 0; i  g-ncategories; i++) {
+	for (size_t i = 0; i  g-ncategories; i++) {
 		nincat[i] = 0;
 		for (c = CHAR_MIN; c = CHAR_MAX; c++)
 			if (g-categories[c] == i)
 nincat[i]++;
 	}
 	fprintf(d, cc0#%d, nincat[0]);
-	for (i = 1; i  g-ncategories; i++)
+	for (size_t i = 1; i  g-ncategories; i++)
 		if (nincat[i] == 1) {
 			for (c = CHAR_MIN; c = CHAR_MAX; c++)
 if (g-categories[c] == i)
 	break;
-			fprintf(d, , %d=%s, i, regchar(c));
+			fprintf(d, , %zu=%s, i, regchar(c));
 		}
 	fprintf(d, \n);
-	for (i = 1; i  g-ncategories; i++)
+	for (size_t i = 1; i  g-ncategories; i++)
 		if (nincat[i] != 1) {
-			fprintf(d, cc%d\t, i);
+			fprintf(d, cc%zu\t, i);
 			last = -1;
 			for (c = CHAR_MIN; c = CHAR_MAX+1; c++)	/* +1 does flush */
 if (c = CHAR_MAX  g-categories[c] == i) {
@@ -122,11 +121,10 @@ s_print(struct re_guts *g, FILE *d)
 {
 	sop *s;
 	cset *cs;
-	int i;
 	int done = 0;
 	sop opnd;
 	int col = 0;
-	int last;
+	ssize_t last;
 	sopno offset = 2;
 #	define	GAP()	{	if (offset % 5 == 0) { \
 	if (col  40) { \
@@ -175,7 +173,7 @@ s_print(struct re_guts *g, FILE *d)
 			fprintf(d, [(%ld), (long)opnd);
 			cs = g-sets[opnd];
 			last = -1;
-			for (i = 0; i  g-csetsize+1; i++)	/* +1 flushes */
+			for (size_t i = 0; i  g-csetsize+1; i++)	/* +1 flushes */
 if (CHIN(cs, i)  i  g-csetsize) {
 	if (last  0) {
 		fprintf(d, %s, regchar(i));
@@ -183,9 +181,9 @@ s_print(struct re_guts *g, FILE *d)
 	}
 } else {
 	if (last = 0) {
-		if (last != i-1)
+		if (last != (ssize_t)i - 1)
 			fprintf(d, -%s,
-regchar(i-1));
+			regchar(i - 1));
 		last = -1;
 	}
 }