From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28399 invoked by alias); 31 Aug 2006 17:41:46 -0000 Received: (qmail 28391 invoked by uid 22791); 31 Aug 2006 17:41:45 -0000 X-Spam-Check-By: sourceware.org Received: from smtp2-g19.free.fr (HELO smtp2-g19.free.fr) (212.27.42.28) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 31 Aug 2006 17:41:41 +0000 Received: from [192.168.0.11] (pas38-3-82-229-199-15.fbx.proxad.net [82.229.199.15]) by smtp2-g19.free.fr (Postfix) with ESMTP id EC60975BBE; Thu, 31 Aug 2006 19:41:38 +0200 (CEST) Subject: Re: Get versioned minsyms from dynamic symtab (Was: Re: How to call operator<< functions?) From: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Riss To: Daniel Jacobowitz Cc: Frederic RISS , Michael Veksler , gdb@sourceware.org In-Reply-To: <20060831165738.GA6529@nevyn.them.org> References: <44F5645F.4000301@tx.technion.ac.il> <1156936373.3429.250.camel@crx549.cro.st.com> <1156944608.3429.275.camel@crx549.cro.st.com> <1157024034.3429.303.camel@crx549.cro.st.com> <44F6D16B.7090001@tx.technion.ac.il> <1157027172.3429.309.camel@crx549.cro.st.com> <44F6DDF8.9000703@tx.technion.ac.il> <1157030582.3429.316.camel@crx549.cro.st.com> <1157042884.3429.344.camel@crx549.cro.st.com> <20060831165738.GA6529@nevyn.them.org> Content-Type: text/plain; charset=utf-8 Date: Thu, 31 Aug 2006 17:41:00 -0000 Message-Id: <1157046081.25005.18.camel@funkylaptop> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-08/txt/msg00282.txt.bz2 Le jeudi 31 août 2006 à 12:57 -0400, Daniel Jacobowitz a écrit : > > GDB tries to compare to incomplete types and of > > course it fails... > > This is a problem with GDB, that I've always been amazed we didn't > hit more often. It's a very difficult problem and I don't really know > what we should be doing about it. I don't know if there's a standard > term for this, but I've called it type unification in the past. > > We need some way to figure out that these are the same type, to the > best of our knowledge. In the case of C++ classes (not POD objects, but classes with methods), the One Definition Rule gives us a way to identify those, doesn't it? I mean both classes are named basic_ostream > and live in the std namespace. All this is clearly described by the Dwarf tree structure. Of course in this case, we're speaking about incomplete types here, and we don't know they're really not simple structures. Thus applying this unification logic would is a bit dangerous.