Binary is twice bigger

Ralf Corsepius corsepiu at faw.uni-ulm.de
Mon Dec 29 07:03:25 UTC 2003


On Tue, 2003-12-23 at 14:30, Sergei Organov wrote:
> "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

What else do you expect?

gcc's -m* flags internally alter gcc's behavior and in most cases add
some prefined #defines. So all you're going see inside of your code is
some defines.

> Ah well, so that is RTEMS that doesn't support EABI out-of-the-box, not GCC.
Yes and no. The ABI being used is a permanent issue with powerpc-rtems
and disparately needs to be looked after by powerpc experts.

I had repeatedly asked for assistance, but until now feedback from
powerpc experts had been pretty poor (PR 195 in RTEMS GNATS)

> But RTEMS doesn't support CodeWarrior out-of-the-box as well, isn't it?
No, and it'll probably not be supported unless CodeWarrior is available
for free.

> > 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?
I am waiting for your patches ;)

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

If Dietmar has found issues related to EABI and if it really is a simple
as he claims it to be for "powerpc experts", I'd like to see his
patches.

Besides this, I would not expect the ABI to have the impact on code size
Leon reports.

Ralf






More information about the users mailing list