Re: Strange __cxa_pure_virtual problem

Bart Veer <[email protected]>
Newsgroups gmane.os.ecos.devel
Message-ID <[email protected]>
>>>>> "Uwe" == Uwe Kindler <[email protected]> writes:

    <snip>

    Uwe> Summary:

    Uwe> As soon as I declare a static object of a class with pure
    Uwe> virtual functions, a lot of __cxa_... stuff is pulled in from
    Uwe> libsupc++. This does not depend on uSTL package.

    Uwe> If the static object is a string from uSTL package, the
    Uwe> __cxa_pure_virtual() function from libsupc++ is used. If the
    Uwe> class declaration is part of the application then the
    Uwe> __cxa_pure_virtual() from infra/pure.cxx is used.

    Uwe> Do you have any suggestions how to continue with uSTL package
    Uwe> integration?

The underlying problem seems to be that the compiler is generating
calls to __cxa_guard_release() for reasons that are still not clear.
According to jifl's posting of 12 August that should only happen when
compiling with -fexceptions (possibly accidentally, by removing
-fno-exceptions for the application makefile). Everything else
including pulling in __cxa_pure_virtual() from libsupc++ is a side
effect of that.

So you need to figure out what __cxa_guard_release() is for and under
what circumstances the compiler will issue calls to that function.
Then we can figure out how to proceed.

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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.