This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Strange __cxa_pure_virtual problem


>>>>> "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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]