Re: sys/conf/DEFAULT[S]

From: Adam C. Migus (adam_at_migus.org)
Date: 10/11/03

  • Next message: Nate Lawson: "Variable timer tick rate?"
    Date: Fri, 10 Oct 2003 21:10:14 -0400 (EDT)
    To: "Bruce Evans" <bde@zeta.org.au>
    
    
    

    Bruce Evans said:
    > 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
    > _______________________________________________
    > freebsd-arch@freebsd.org mailing list
    > http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    > To unsubscribe, send any mail to
    > "freebsd-arch-unsubscribe@freebsd.org"
    >

    Bruce,
    After all the confusion here's a patch that will address and fix the
    the SEMICOLON and nesting issues and in addition fix the problem you
    had with file names. It does so by introducing a PATH type. So
    'include' can now be used for things like "DEFAULTS.i386" (with or
    without quotes).

    -- 
    Adam - (http://people.migus.org/~amigus/)
    Migus Dot Org - (http://www.migus.org/)
    
    
    

    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"



  • Next message: Nate Lawson: "Variable timer tick rate?"

    Relevant Pages

    • Re: sys/conf/DEFAULT[S]
      ... Bruce Evans said: ... > back but config aborts before then. ... > Stefan's version requires SEMICOLON: ... not applying the patch but rather reading and carelessly assuming ...
      (freebsd-arch)
    • Re: Unable to Access Com Port
      ... Bruce, Steve and Malke, thanks...looks like I'll need to ... get a patch or new program. ... > If the application's manufacturer will not (or ... >> compatibility to Win 98, ...
      (microsoft.public.windowsxp.general)
    • Re: [PATCH] Re: IP_MAX_MEMBERSHIPS story.
      ... Bruce M Simpson wrote: ... the patch will probably also apply ... to HEAD with little or no fuzz. ... Because of the nature of this patch, it will break the ABI with regards ...
      (freebsd-net)
    • Re: sys/conf/DEFAULT[S]
      ... Bruce Evans said: ... > at the end of GENERIC should be a syntax error, ... > back but config aborts before then. ... with his patch. ...
      (freebsd-arch)

  • Quantcast