From owner-freebsd-arch@FreeBSD.ORG Wed Oct 8 10:38:08 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C96B016A4B3; Wed, 8 Oct 2003 10:38:08 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id B899F43F3F; Wed, 8 Oct 2003 10:38:05 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id DAA12014; Thu, 9 Oct 2003 03:37:58 +1000 Date: Thu, 9 Oct 2003 03:36:35 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: "Adam C. Migus" In-Reply-To: <51457.204.254.155.35.1065630793.squirrel@mail.migus.org> Message-ID: <20031009032431.Y6050@gamplex.bde.org> References: <20030925092319.H5418@gamplex.bde.org><49939.204.254.155.35.1064593320.squirrel@mail.migus.org> <20030927080420.N18558@gamplex.bde.org> <49955.192.168.4.2.1065074430.squirrel@mail.migus.org> <51310.204.254.155.35.1065622332.squirrel@mail.migus.org> <51457.204.254.155.35.1065630793.squirrel@mail.migus.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Stefan Farfeleder cc: arch@freebsd.org Subject: Re: sys/conf/DEFAULT[S] X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Oct 2003 17:38:09 -0000 On Wed, 8 Oct 2003, Adam C. Migus wrote: > Bruce Evans said: > > On Wed, 8 Oct 2003, Adam C. Migus wrote: > >> ... > >> WRT Stefan's solution, simply nest two includes on the first line, > >> like so: > >> > >> head -1 KERNEL > >> include SUB1 > >> > >> head -1 SUB1 > >> include SUB2 > >> > >> This will cause config to fail in the same manner it did before, > >> with his patch. > > > > Er, but this works for me. I test with SUB2 having the following: > > 1) include GENERIC > > 2) same contents as GENERIC > > 3) same contents as GENERIC except for no comment lines at > > beginning. > Here's my broken config (with Stefan's patch) compile, run, error, > output and config exerpts: This still works for me :-). > root@caster:ttyp4:config# make clean > rm -f config config.o main.o lang.o mkmakefile.o mkheaders.o > mkoptions.o config.8.gz config.8.cat.gz lang.c config.c y.tab.c > y.tab.h > root@caster:ttyp4:config# make CFLAGS="`make -V CFLAGS` -DYYDEBUG=1" > Warning: Object directory not changed from original > /src/freebsd/CURRENT/src/usr.sbin/config > yacc -d config.y > cp y.tab.c config.c > cc -O -pipe -mcpu=pentiumpro -I. > -I/src/freebsd/CURRENT/src/usr.sbin/config -Wsystem-headers > -Werror -DYYDEBUG=1 -c config.c > cc -O -pipe -mcpu=pentiumpro -I. > -I/src/freebsd/CURRENT/src/usr.sbin/config -Wsystem-headers > -Werror -DYYDEBUG=1 -c main.c > lex -t lang.l > lang.c > cc -O -pipe -mcpu=pentiumpro -I. > -I/src/freebsd/CURRENT/src/usr.sbin/config -Wsystem-headers > -Werror -DYYDEBUG=1 -c lang.c > cc -O -pipe -mcpu=pentiumpro -I. > -I/src/freebsd/CURRENT/src/usr.sbin/config -Wsystem-headers > -Werror -DYYDEBUG=1 -c mkmakefile.c > cc -O -pipe -mcpu=pentiumpro -I. > -I/src/freebsd/CURRENT/src/usr.sbin/config -Wsystem-headers > -Werror -DYYDEBUG=1 -c mkheaders.c > cc -O -pipe -mcpu=pentiumpro -I. > -I/src/freebsd/CURRENT/src/usr.sbin/config -Wsystem-headers > -Werror -DYYDEBUG=1 -c mkoptions.c > cc -O -pipe -mcpu=pentiumpro -I. > -I/src/freebsd/CURRENT/src/usr.sbin/config -Wsystem-headers > -Werror -DYYDEBUG=1 -o config config.o main.o lang.o mkmakefile.o > mkheaders.o mkoptions.o -ll > gzip -cn config.8 > config.8.gz > root@caster:ttyp4:config# cp config /tmp > root@caster:ttyp4:config# cd ../../sys/i386/conf > root@caster:ttyp4:conf# export YYDEBUG=1 > root@caster:ttyp4:conf# /tmp/config DISKLESS_SMP_MAC > yydebug: state 0, reducing by rule 3 (Many_specs :) > yydebug: after reduction, shifting from state 0 to state 2 > yydebug: state 2, reading 274 (INCLUDE) > yydebug: state 2, shifting to state 19 > yydebug: state 19, reading 275 (ID) > yydebug: state 19, shifting to state 46 > yydebug: state 46, reading 273 (SEMICOLON) > yydebug: state 46, shifting to state 56 > yydebug: state 56, reducing by rule 20 (Config_spec : INCLUDE ID > SEMICOLON) This seems to be from a patching error. Stefan's patch moved "INCLUDE ID SEMICOLON" from Config_spec to Spec. > yydebug: after reduction, shifting from state 2 to state 22 > yydebug: state 22, reading 274 (INCLUDE) > config: SMP_MAC:1: syntax error > root@caster:ttyp4:conf# head -3 DISKLESS_SMP_MAC SMP_MAC MAC > ==> DISKLESS_SMP_MAC <== > include SMP_MAC > > ident DISKLESS_SMP_MAC > > ==> SMP_MAC <== > include MAC > > #ident SMP_MAC > > ==> MAC <== > # > # MAC -- Generic kernel configuration file for FreeBSD/i386 w/MAC > # My debugging output shows the move: %%% yydebug: state 0, reducing by rule 3 (Many_specs :) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 274 (INCLUDE) yydebug: state 2, shifting to state 19 yydebug: state 19, reading 275 (ID) yydebug: state 19, shifting to state 46 yydebug: state 46, reading 273 (SEMICOLON) yydebug: state 46, shifting to state 56 yydebug: state 56, reducing by rule 6 (Spec : INCLUDE ID SEMICOLON) ^^^^^^ ^^^^ [The first difference is here] yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 274 (INCLUDE) yydebug: state 2, shifting to state 19 yydebug: state 19, reading 275 (ID) yydebug: state 19, shifting to state 46 yydebug: state 46, reading 273 (SEMICOLON) yydebug: state 46, shifting to state 56 yydebug: state 56, reducing by rule 6 (Spec : INCLUDE ID SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 273 (SEMICOLON) yydebug: state 2, shifting to state 18 yydebug: state 18, reducing by rule 7 (Spec : SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 273 (SEMICOLON) yydebug: state 2, shifting to state 18 yydebug: state 18, reducing by rule 7 (Spec : SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 273 (SEMICOLON) yydebug: state 2, shifting to state 18 yydebug: state 18, reducing by rule 7 (Spec : SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 273 (SEMICOLON) yydebug: state 2, shifting to state 18 yydebug: state 18, reducing by rule 7 (Spec : SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 273 (SEMICOLON) yydebug: state 2, shifting to state 18 yydebug: state 18, reducing by rule 7 (Spec : SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 273 (SEMICOLON) yydebug: state 2, shifting to state 18 yydebug: state 18, reducing by rule 7 (Spec : SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 266 (IDENT) yydebug: state 2, shifting to state 11 yydebug: state 11, reading 275 (ID) yydebug: state 11, shifting to state 35 yydebug: state 35, reducing by rule 15 (Config_spec : IDENT ID) yydebug: after reduction, shifting from state 2 to state 22 yydebug: state 22, reading 273 (SEMICOLON) yydebug: state 22, shifting to state 48 yydebug: state 48, reducing by rule 5 (Spec : Config_spec SEMICOLON) yydebug: after reduction, shifting from state 2 to state 20 yydebug: state 20, reducing by rule 2 (Many_specs : Many_specs Spec) yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reading 0 (end-of-file) yydebug: state 2, reducing by rule 1 (Configuration : Many_specs) yydebug: after reduction, shifting from state 0 to state 1 Specify machine type, e.g. ``machine i386'' %%% Bruce