Re: Latest Debian package online (including sources)

"Peter T. Breuer" <[email protected]> Tue, 4 Jul 2006 02:27:50 +0200 (MET DST)
Newsgroups gmane.linux.enbd.general
Message-ID <[email protected]>
"Also sprach Bas van Schaik:"
> > Yes. Remove -Os. You can't hope to compile for small size and expect
> > code to be inlined! Correct kernel compilation needs -O1 or -O2.
> >   
> Weird, I didn't change anything here, but I'll look at it when I'm
> somehow near the Debian unstable system. Can you tell me the difference
> between "-O1" and "-O2", I'll need to choose which one to use.

I wouldn't worry about it. -O2 is standard. -O1 would be required if
level 2 optimization somehow went wrong for a module.

In your kernel source directory Makefile, the optimization level
should be defined by such things as

  HOSTCFLAGS      = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

However, I see that there is a

  ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
  CFLAGS          += -Os
  else
  CFLAGS          += -O2
  endif

so make sure that "CONFIG_CC_OPTIMIZE_FOR_SIZE" is not set (huh, how?
what? where?). Oh .. it's a .config parameter.

   CONFIG_IKCONFIG_PROC=y
   # CONFIG_CPUSETS is not set
   CONFIG_INITRAMFS_SOURCE=""
   # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   # CONFIG_EMBEDDED is not set
   CONFIG_KALLSYMS=y


and that is configured directly via make config ...


  x[ ] Optimize for size (Look out for broken compilers!)  

 CONFIG_CC_OPTIMIZE_FOR_SIZE:                                            x  
  x                                                                         x  
  x Enabling this option will pass "-Os" instead of "-O2" to gcc            x  
  x resulting in a smaller kernel.                                          x  
  x                                                                         x  
  x WARNING: some versions of gcc may generate incorrect code with this     x  
  x option.  If problems are observed, a gcc upgrade may be needed.         x  
  x                                                                         x  
  x If unsure, say N.                             

 Symbol: CC_OPTIMIZE_FOR_SIZE [=n]                                       x  
  x Prompt: Optimize for size (Look out for broken compilers!)              x  
  x   Defined at init/Kconfig:259                                           x  
  x   Depends on: ARM || H8300 || EXPERIMENTAL                              x  
  x   Location:                                                             x  
  x     -> General setup   

so apparently you only get given that option if "EXPERIMENTAL" is
configured. Well, don't set it anyway. It isn't a good idea. How come 
a debian source has it configured?

Peter