Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Mar 2011 21:52:12 +0100
From:      Roman Divacky <rdivacky@freebsd.org>
To:        Fabian Keil <freebsd-listen@fabiankeil.de>
Cc:        current@freebsd.org
Subject:   Re: [TESTING]: one more boot2 shrinking patch
Message-ID:  <20110308205212.GA96321@freebsd.org>
In-Reply-To: <20110308211931.1c5deb8b@r500.local>
References:  <20110308173909.GA71091@freebsd.org> <20110308211931.1c5deb8b@r500.local>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 08, 2011 at 09:19:31PM +0100, Fabian Keil wrote:
> Roman Divacky <rdivacky@freebsd.org> wrote:
> 
> > this diet patch 
> > 
> >         http://lev.vlakno.cz/~rdivacky/boot2-final-diet.patch
> > 
> > includes these changes:
> > 
> >         o       bunch of variables are turned into uint8_t 
> > 
> >         o       initial setting of namep[] in lookup() is removed
> >                 as it's only overwritten a few lines down
> > 
> >         o       kname is explicitly initialized in main() as BSS
> >                 in boot2 is not zeroed
> 
> Are you saying the previous:
> 
> static const char *kname = NULL;
> 
> didn't work, or is this the explanation why the
> initialization hasn't simply been removed?
 
gcc nor clang emits any code to initialize static type foo = 0;
because it's expected that BSS is zeroed, which is not the case
in boot2 so we have to initialize that explicitly

> >         o       the "fmt" dance in load() is removed
> > 
> >         o       buf in printf() is made static to save space
> > 
> > 
> > Please test/review this patch. John Baldwin already looked and I booted
> > it so it should be quite safe. I plan to commit this in a few days unless
> > problems are found..
> 
> Works for me with gcc from base on amd64.
> 
> 
> I noticed an unrelated warning about an unused variable, though.
> 
> /usr/src/sys/boot/i386/boot2/boot2.c: In function 'load':
> /usr/src/sys/boot/i386/boot2/boot2.c:310: warning: unused variable 'x'
> 
> It seems to be left over from:
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/boot/i386/boot2/boot2.c.diff?r1=1.91;r2=1.92;f=h
> 
> The attached (only compile-tested) patch removes it.

oh, I'll commit that with the rest

thanks for the testing!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110308205212.GA96321>