This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

uninitialized static globals in powerpc-*-eabi


I am currently using (gcc 2.8.1) cross powerpc-*-eabi hosted on
Solaris 2.5.1.

Looking at the section (IBM RS/6000 and PowerPC Options) in the guide
(Using and Porting GNU CC)
it states that -meabi and -msdata-data will be defined by default. 
The flag -msdata-data claims that on embedded PowerPC systems small
global and static data will be put in the ".sdata" section.  It
doesn't say but I'm assuming these globals are initialized.  This
seems to be ok.  It also says that small uninitialized global and
static data will be put in the ".sbss" section. Im finding that small
uninitialized global variables are going in ".sbss" but small
uninitialized global static variables are going in ".sdata".  This
doesn't seem right.  I would expect them to both go in ".sbss".  This
same behavior was also seen when explicitly using (-msdata=eabi),
(-msdata=sysv), (-sdata=data) and (-mno-eabi).  

When using (-mno-sdata) all small initialized globals (static or
otherwise) now go in ".data" like would be expected.  Also, the small
uninitialized global statics now go into ".bss".  The small
uninitialized globals go into the ".sbss".  This situation is somewhat
more acceptable as I can clear either of these areas (write over with
zeros).  Why in this case aren't they both put into the same area
(either .bss or .sbss)?

I want to use the default because it is supposed to do exactly what I
want.  Am I doing something wrong or is this problem fixed in some
later version (egcs)?

Any help would be greatly appreciated.

Thanks,
	Vaughan 




 
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com

_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.