size of kernel after gcc4.2 upgrade

Garrett Cooper youshi10 at u.washington.edu
Sat May 26 21:46:51 UTC 2007


Stefan Ehmann wrote:
> On Friday 25 May 2007 17:05:17 Roman Divacky wrote:
>> On Fri, May 25, 2007 at 04:02:47PM +0200, Stefan Ehmann wrote:
>>> On Friday 25 May 2007 11:51:46 Roman Divacky wrote:
>>>> hi
>>>>
>>>> I just noticed that
>>>> spravci ~# ls -l /boot/kernel*/kernel
>>>> -r-xr-xr-x  1 root  wheel  3389971 May 18 12:03
>>>> /boot/kernel.old/kernel* -r-xr-xr-x  1 root  wheel  5211345 May 25
>>>> 11:47 /boot/kernel/kernel*
>>>>
>>>> ie. after gcc42 import the kernel size increased roughly by 60% thats
>>>> a little too much. is there any forgotten option or something that
>>>> makes the kernel grow so big?
>>> While I also see an increase, it's not that much.
>>>
>>> GENERIC from today's current, also compiled with gcc34 from ports (I had
>>> to delete two gcc options in sys/conf/kern.mk):
>>>
>>> gcc34: 6530916
>>> gcc42: 7352560
>>> gcc34 -Os: 6074468
>>> gcc42 -Os: 10058032
>> yes, thats it! I also used -Os. it looks like this occurs only with -Os
>> optimization level.
>>
>> can someone else confirm this? and/or possibly explain this?
> 
> -Os seems to do more inlining than -O.
> 
> Maybe this is a gcc bug, we use strange options for the buildkernel or who 
> knows what.
> 
> If I use INLINE_LIMIT=600, I get a more reasonable sized kernel (600 is the 
> gcc default, /sys/conf/kern.mk sets it to 8000). But it's still larger than 
> the -O compile.
> 
> If I further lower INLINE_LIMIT to 50:
> -Os: 5876816
> -O:  7154096
> 
> This numbers finally look sane for a -Os build. Doing this is probably not a 
> good idea but maybe this points to the cause of the size increase.

	This has been discussed quite a bit in the Gentoo forums with gcc 
v4.1+. Depending on the architecture and CPU, -Os actually reduced the 
overall performance greatly. This may or may not have to do with size.

For Pentium 4 - Core 2 Duo:
-O2 was good.
-O3 was better.
-Os was the worst.

	This is one of many discussion threads: 
<http://forums.gentoo.org/viewtopic-t-517019-highlight-.html>.

	Some food for thought.
-Garrett


More information about the freebsd-current mailing list