CTOR i960 problem

Neal Becker neal@ctd.comsat.com
Fri Jan 16 01:51:00 GMT 1998


I have egcs-1.0.1 built as:
--host=i686-pc-linux-gnu --target=i960-intel-coff
--prefix=/usr/local/i960 -v --with-newlib

I am using binutils-2.8.1.0.18.

CTORS are not working.  The problem seems to be that __CTOR_LIST__ is
placed in common.

/usr/local/i960/bin/i960-intel-coff-nm /usr/local/i960/lib/gcc-lib/i960-intel-coff/egcs-2.90.23/mca/libgcc.a | grep CTOR
         U ___CTOR_LIST__
00000008 C ___CTOR_LIST__

Thus, it is not initialized.

This is what I discovered by disassembling the executable:

00015eb0 <___do_global_ctors>:
__do_global_ctors():
   15eb0:	00 30 a8 8c 	lda	21d68 <___CTOR_LIST__>,g5
 
But 21d68 is not initialized:
*fill*         0x00021d5c        0x4
 COMMON         0x00021d60       0x10 /usr/local/i960/lib/gcc-lib/i960-intel-coff/egcs-2.90.23/mca/libgcc.a(_ctors.o)
                0x00021d60                __DTOR_LIST__
                0x00021d68                __CTOR_LIST__
 COMMON         0x00021d70       0x38
/usr/local/i960/lib/gcc-lib/i960-intel-co

What's wrong with this setup?



More information about the Gcc mailing list