Embedded C++


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.

Reply to
Loading thread data ...


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

formatting link


formatting link

Reply to


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 ;-)

Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.