This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: Strange __cxa_pure_virtual problem
- From: Bart Veer <bartv at ecoscentric dot com>
- To: Uwe Kindler <uwe_kindler at web dot de>
- Cc: ecos-devel at sourceware dot org, jifl at jifvik dot org
- Date: Wed, 12 Aug 2009 20:07:16 +0100
- Subject: Re: Strange __cxa_pure_virtual problem
- References: <4A830092.7050206@web.de>
>>>>> "Uwe" == Uwe Kindler <uwe_kindler@web.de> writes:
Uwe> Hello Jonathan,
Uwe> thank you for your detailed description - it helped me to find the
Uwe> cause. In ustlecos.cpp there is a function:
Uwe> void diag_print_exception(const exception& ex)
Uwe> {
Uwe> static string exstr(64);
Uwe> ...
Uwe> if I remove the static from the string declaration the
Uwe> __cxa_pure_virtual problem is gone.
What happens if you then try to link a trivial eCos application which
declares a static string object? I suspect that is going to pull in
__cxa_guard_release() again, which will take its __cxa_pure_virtual()
from libsup++.a instead of libtarget.a. So deleting the static from
the declaration is only moving the problem, not solving it.
Bart
--
Bart Veer eCos Configuration Architect
eCosCentric Limited The eCos experts http://www.ecoscentric.com/
Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.