From owner-freebsd-current Wed Sep 18 6:26:28 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C964F37B401; Wed, 18 Sep 2002 06:26:25 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C42E43E72; Wed, 18 Sep 2002 06:26:24 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id XAA21402; Wed, 18 Sep 2002 23:26:21 +1000 Date: Wed, 18 Sep 2002 23:34:52 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Dag-Erling Smorgrav Cc: current@FreeBSD.ORG, , Subject: Re: alpha tinderbox failure In-Reply-To: <200209172233.g8HMXAKb063476@beast.freebsd.org> Message-ID: <20020918232251.A15503-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, 17 Sep 2002, Dag-Erling Smorgrav wrote: > -------------------------------------------------------------- > >>> Kernel build for LINT started on Tue Sep 17 15:31:39 PDT 2002 > -------------------------------------------------------------- > ===> vinum > ./aicasm: 877 instructions used > ./aicasm: 658 instructions used > In file included from /h/des/src/sys/dev/dgb/dgb.c:89: > /h/des/src/sys/i386/isa/isa_device.h:43:31: opt_compat_oldisa.h: No such file or directory > /h/des/src/sys/dev/dgb/dgb.c:92:2: #error "The dgb device requires the old isa compatibility shims" > /h/des/src/sys/dev/iicbus/iic.c:42:25: machine/iic.h: No such file or directory > /h/des/src/sys/dev/lmc/if_lmc.c:32:2: warning: #warning "The lmc driver is broken and is not compiled with LINT" > /h/des/src/sys/dev/ncv/ncr53c500.c:80:27: machine/dvcfg.h: No such file or directory > /h/des/src/sys/dev/ncv/ncr53c500.c:81:33: machine/physio_proc.h: No such file or directory > In file included from /h/des/src/sys/dev/ncv/ncr53c500.c:86: > /h/des/src/sys/dev/ncv/ncr53c500hw.h:39:27: machine/dvcfg.h: No such file or directory > /h/des/src/sys/dev/ncv/ncr53c500_pccard.c:55:27: machine/dvcfg.h: No such file or directory > In file included from /h/des/src/sys/dev/ncv/ncr53c500_pccard.c:63: > /h/des/src/sys/dev/ncv/ncr53c500hw.h:39:27: machine/dvcfg.h: No such file or directory > /h/des/src/sys/dev/nsp/nsp.c:80:27: machine/dvcfg.h: No such file or directory > /h/des/src/sys/dev/nsp/nsp.c:81:33: machine/physio_proc.h: No such file or directory > /h/des/src/sys/dev/nsp/nsp_pccard.c:52:27: machine/dvcfg.h: No such file or directory >... > /h/des/src/sys/pci/simos.c:57:2: #error "The simos device requires the old pci compatibility shims" > /h/des/src/sys/dev/syscons/syscons.c:117:18: font.h: No such file or directory > mkdep: compile failed > *** Error code 1 > > Stop in /h/des/obj/h/des/src/sys/LINT. > *** Error code 1 Here is a simple hack for killing broken devices which were (now nominally) configured in a previous line. Something like this should be used to avoid moving correctly placed devices in /sys/conf/NOTES to many MD NOTES files just because they are broken for 1 arch, or even to put almost all devices in /sys/conf/NOTES and kill selected ones in MD notes files. Options could be killed similarly. A non-hackish version would use a new keyword. A slightly less hackish version could use a count of -1. config somehow already handles devices that are configured more than once reasonably allthough it adds them more than once in newdev(). %%% Index: config.y =================================================================== RCS file: /home/ncvs/src/usr.sbin/config/config.y,v retrieving revision 1.56 diff -u -2 -r1.56 config.y --- config.y 27 Aug 2001 05:11:53 -0000 1.56 +++ config.y 18 Sep 2002 13:21:49 -0000 @@ -263,6 +263,16 @@ newdev(char *name, int count) { - struct device *np; + struct device *np, *pp; + for (pp = NULL, np = curp; np != NULL; pp = np, np = np->d_next) { + if (strcmp(name, np->d_name) == 0) { + printf("device %s repeated; forgetting it\n"); + if (pp == NULL) + curp = np->d_next; + else + pp->d_next = np->d_next; + return; + } + } np = (struct device *) malloc(sizeof *np); memset(np, 0, sizeof(*np)); %%% Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message