size of kernel after gcc4.2 upgrade

Stefan Ehmann shoesoft at gmx.net
Sat May 26 14:23:56 UTC 2007


On Saturday 26 May 2007 16:04:21 Roman Divacky wrote:
> On Sat, May 26, 2007 at 03:54:37PM +0200, Stefan Ehmann wrote:
> > On Saturday 26 May 2007 15:15:34 Ivan Voras wrote:
> > > Roman Divacky wrote:
> > > > well.. I dont think that 60% increase of size when you are optimizing
> > > > for size is normal. I even think its a "bug" in that sense that
> > > > something wrong is set somewhere which causes this.
> > > >
> > > > I certainly dont believe this is normal
> > >
> > > I'm using the default make flags. In my case, it's release,
> > > non-debugging 6-RELEASE kernel of 26 MB vs debugging kernel of
> > > 7-CURRENT of 106 MB :)
> >
> > I guess that's due to /boot/kernel/*.symbols which are not present in my
> > 6.2 installation. gcc42 file size increase shouldn't be that much.
>
> thats the problem. with -Os and gcc42 the kernel increases A LOT (60%),
> other optimization levels doesnt seem to be affected

Yes, but Ivan said he used default flags. So I think in his case the symbol 
files are mainly responsible for the 106MB vs 26MB.

There's definitely something fishy about the -Os build.

As I wrote earlier today: It looks like -Os does excessive inlining. Which 
might possibly be caused by our gcc options or a gcc bug.

Setting a very low -finline-limit for testing purposes gives reasonable 
filesizes.

Any gcc experts around to comment on this issue?

Stefan


More information about the freebsd-current mailing list