Embedded C++

Aug 03, 2004 2 Replies

Hello,



I'm trying to start a project in C++ for 386 embedded system target. The code should support exception handling and most C++ features but there is no C/C++ stdlib available.



Actually I started with gcc 3.3.4. I would like to dig out the gcc code I absolutely need to link against my binary to let most of C++ stuff work. I didn't find any really usefull documentation for this purpose. Currently, I began to link againt libgcc_eh.a which seems to provide the exception handling management (_Unwind_*) but as I didn't understand everything, I'm not sure I don't miss something. Also, it still does not compile well (dl_iterate... symbol not resolved at compile time). Last, I don't want to link stuff I don't need (std C++ lib, std C lib, ...). I will provide my own functions for this (I know the exception handling management needs malloc, free, etc.).



Could some of you help me by giving some pointers on how to achieve this goal :



- Parts of gcc source code or libs I need to compile against my project to be able to make full use of all C++ language features (except the standard lib).



- Where to find the initial C++ bootstrap (which calls constructors and initialize global variables before entering main). Any serious link on how to find these informations is welcome. I already spent a few hours searching gcc source code and I will find with some more hours, but some good documentations about those internals would save me a lot of time !



Regards, Sylvain.


no

Is the use of GCC a requirement? If not have you considered Open Watcom as an alternative?

formatting link

Richard.

formatting link

as

I know Watcom. I have developped many 16 and 32 bits softwares using it 10 years ago. Currently OpenWatcom does not offer everything I could need (especially portability to other CPUs in the future).

BTW, this really does not answer my question ...

Thanks anyway ;-)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required