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

See the CrossGCC FAQ for lots more infromation.


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

Question about global object constructors, VxWorks, and GCC 2.95(fwd)



I also posted this message to the generic gcc help list, but thought this
list might also be relevant.



Hi all,

I am trying to compile gcc-2.95 for VxWorks (Tornado 1.0.1).  I have
successfully hacked and patched the files to the point of being able to
compile and load .o files, both C and C++.  The C++ ones require some
incremental linking to work, however, since my VxWorks kernel image does
not have all the functions (e.g. parts of libstdc++).

Such objects work, however, when loaded and called.

However, global object constructors and static member objects don't work.

This is almost certainly because the VxWorks shell doesn't know to call
the constructors when the objects are loaded.

I have investigated and I have found out that the constructors are being
built and put into the .o files, but that these constructors are marked
local so the symbols are not exported.

So, I cannot even write C code to call the functions manually.

I am trying to figure out whether the right approach is to switch to
collect2 or whether there is some sort of hacking on the .o files after
linking is a better approach.  Any suggestions?  What do other VxWorks
users do?

Any help is greatly appreciated, including pointers to manuals or web
pages that I might have missed.

Thanks,

-- 
Bryan K. Ogawa  <bogawa@vovida.com>  http://www.vovida.com/



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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