Hi Ivan,


> The  bigger  code problem in your case is caused by GCC4 inlining some
> functions by default. For example, an non-static inline function, that
> is  used  only  a  single  time  (such  as  init_SPI in your case), is
> included  in the object file twice (the function itself and its inline
> call).  If  you specify the -ffunction-sections attribute (and use the
> -gc-sections linker switch), the code size will be less than using GCC
> v3.
> 
> If  you  don't want to use the -ffunction-sections, you either need to
> disable  inlining  completely  (-fno-inline),  or  tweak  the  maximum
> inlined  function  size  (-finline-limit=x),  that  is  more  precise.

Thanks, the fno-inline works and reduces the code.

The bigger project I have, the code size is about the same.

There is some movement of things from the data section to the bss section with 
gcc-4.3.4 (I assume variables initialized with 0 or something).

I did have to add the section .debug_ranges to the linker script as it was 
going into the data section by default and using extra space (similar problem 
here)

http://osdir.com/ml/lib.newlib/2005-05/msg00011.html

Regards,

Peter Jansen



      
__________________________________________________________________________________
Find local businesses and services in your area with Yahoo!7 Local.
Get started: http://local.yahoo.com.au

Reply via email to