David N. Welton wrote:

The problem is that despite using -nostdlib whilst compiling, I still
get __cxa_atexit and __dso_handle defined in my .o files (yes, eCos
utilizes C++ in places).

I think the problem is not that you are getting definitions, but that you are getting references to these symbols.


I found a switch to turn off __cxa_atexit, but found nothing for the
other one.  Is it possible to get gcc 3.[recent] to generate
executables suitable for standalone execution?  If not, I think it
ought to be!

You mean, whether g++ supports free-standing (as opposed to hosted) development? It certainly does: __dso_handle is part of the minimum run-time that you need in a free-standing environmnent. Just supply a minimum definition for it, and be done with it: it needs to be some address. In general, it needs to be unique per shared library, but if you don't have shared libraries, a single definition will do.

Regards,
Martin





Reply via email to