Hi, On Thu, 18 Feb 2010, Richard Guenther wrote:
On Wed, 17 Feb 2010, Philipp Thomas wrote:
* Cristian Rodríguez (crrodriguez@opensuse.org) [20100217 13:20]:
Also note that static C++ libraries may not work properly if they use RTTI or exceptions.
Richard, is this true? If so, why?
I think that is not true anymore.
It never was true. It was and is half-way true :-) Shared libraries linked against _static libgcc_ can't catch or throw exceptions, and depending on the used linker can't even propagate exceptions. Such libraries must be linked against the shared libgcc. (the reason is that parts of the code/data in libgcc implementing the exception machinery must exist only one time in the whole process image, that is all routines fiddling with exceptions have to use the same functions for doing so, not their own copies as would happen if they were linked against static libgcc). Ciao, Michael.