[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Powerpc IRQ handling breaks strict EABI compliance

Valette Eric writes:
 > Sergei Organov wrote:
 > > By default, variables/constants not larger than 8 bytes are put into small data
 > > sections, but this is configurable. Actual gain depends on the style
 > > application is written in though.
 > How much data can you handle this way? 64K? Do you have any performance 
 > and code size figures to be more concrete? (e.g by compiling your 
 > application with and without the compiler eabi flags and running the 
 > benchmarks...).

MIPS has a similar section that can be 64k long.  gcc -G selects the
maximum size of data item to be included there rather than .bss or
.data.  The savings is in code size and efficiency, as data in this
"small item" section can be referenced with one instruction instead of
2 for general data.  Proper operation of this section critically
depends on the link script.  RTEMS has not used this section for the
MIPS bsp's for a while now.  At some point I may give a try at
re-enabling it.

This section will benefit code that has lots of small global
variables; I think RTEMS itself will benefit quite a lot.