You can configure the standard C++ library in two ways to reduce the code size and dependencies on external libraries:
1. --enable-cxx-flags=-fno-exceptions This does currently not work, due to an error in guard.cc which defines recursive_init_error::~recursive_init_error() and this results in a dependency on pure.cc and this one pulls in the IO library. 2. --disable-hosted-libstdcxx This is also broken currently (try to build it). Embedded targets may provide a hosted C environment, but in some cases it is useless to provide output messages. Also the IO library is quite huge. Two files in libstdc++/libsupc++ pull in the IO library: pure.cc and eh_term_handler.cc (via vterminate.cc). It would be nice to have a configure option (like --enable-verbose-cxx) to enable or disable the output generation in these files. -- Summary: Embedded systems friendly libstdc++ Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sebastian dot huber at embedded-brains dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43852