From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7182 invoked by alias); 19 Aug 2009 10:37:57 -0000 Received: (qmail 7174 invoked by uid 22791); 19 Aug 2009 10:37:57 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 19 Aug 2009 10:37:50 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id B96FE2F78016; Wed, 19 Aug 2009 11:37:47 +0100 (BST) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id how94WTzqEEx; Wed, 19 Aug 2009 11:37:46 +0100 (BST) Date: Wed, 19 Aug 2009 10:37:00 -0000 Message-Id: From: Bart Veer To: Uwe Kindler CC: ecos-devel@sourceware.org In-reply-to: <4A83C81E.9060402@web.de> (message from Uwe Kindler on Thu, 13 Aug 2009 10:00:30 +0200) Subject: Re: Strange __cxa_pure_virtual problem References: <4A830092.7050206@web.de> <4A83C81E.9060402@web.de> Mailing-List: contact ecos-devel-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-devel-owner@ecos.sourceware.org X-SW-Source: 2009-08/txt/msg00027.txt.bz2 >>>>> "Uwe" == Uwe Kindler writes: 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.