Binary is twice bigger

Sergei Organov osv at topconrd.ru
Tue Dec 23 13:30:04 UTC 2003


"Dieter Schaefer" <CW-RTEMS at schaefer-comtronic.de> writes:
> > "Dieter Schaefer" <CW-RTEMS at Schaefer-Comtronic.de> writes:
> > >
> > [...]
> > > Early this year we have ported RTEMS (MPC860 target) to MetroWerks 
> > > CodeWarrior for Windows. There was a significant difference in size too. 
> > > The 2 main reasons are: 
> > > * CodeWarrior uses *real* EABI, not just some #defines in the Makefiles
> > 
> > Though I don't know what you mean by "some #defines in the Makefiles", GCC can
> > do it as well: -meabi [-msdata=eabi]
> Yes, I know. GNU+NewLib works perfect with EABI for PowerPC.
> I already proved that several times with various releases.

Well, I wouldn't say "perfect" as GCC 3.x has problems putting constants into
.sdata2 section when -msdata=eabi is selected :( I've put a PR to the gcc on
the issue <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9571>. 

Due to these problems I still use GCC 2.95.2 that works fine for me for RTEMSes
from 3.0 to 4.6, though I think '-meabi -msdata=sysv' should work in 3.x.

> However, if you look thru the mbx8xx and eth_comm bsp, you will find only
> some > #defines, *not* -meabi/-msdata=eabi

Ah well, so that is RTEMS that doesn't support EABI out-of-the-box, not GCC.
But RTEMS doesn't support CodeWarrior out-of-the-box as well, isn't it?

> If you add those compiler directives to your top-cfg file, it simply does
> not work. You will get several errors when you try to build RTEMS for those
> targets. Some areas need to be modified in order to handle the EABI
> conventions. Nothing special for people having background in this particular
> area, like you and me, but for the 'average' user?

Sure you are right, though I don't think it's more effort than porting RTEMS to
the CodeWarrior ;)

-- 
Sergei.




More information about the users mailing list