From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28211 invoked by alias); 20 Aug 2007 18:12:09 -0000 Received: (qmail 27952 invoked by uid 22791); 20 Aug 2007 18:12:07 -0000 X-Spam-Check-By: sourceware.org Received: from s200aog10.obsmtp.com (HELO s200aog10.obsmtp.com) (207.126.144.124) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 20 Aug 2007 18:11:58 +0000 Received: from source ([164.129.1.35]) (using TLSv1) by eu1sys200aob010.postini.com ([207.126.147.11]) with SMTP; Mon, 20 Aug 2007 18:11:55 UTC Received: from zeta.dmz-eu.st.com (ns2.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 67F34DA5C for ; Mon, 20 Aug 2007 18:11:55 +0000 (GMT) Received: from mail1.bri.st.com (mail1.bri.st.com [164.129.8.218]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 9B7FE4C4B0 for ; Mon, 20 Aug 2007 18:11:54 +0000 (GMT) Received: from [164.129.15.13] (bri1043.bri.st.com [164.129.15.13]) by mail1.bri.st.com (MOS 3.7.5a-GA) with ESMTP id CJE18135 (AUTH stubbsa); Mon, 20 Aug 2007 19:11:53 +0100 (BST) Message-ID: <46C9D968.40809@st.com> Date: Mon, 20 Aug 2007 18:12:00 -0000 From: Andrew STUBBS User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: GDB List Subject: Re: C++ Typedefs and symbol tables References: <46C9CB12.5000004@st.com> <20070820171803.GA11056@caradoc.them.org> <46C9D0E1.5080509@st.com> <20070820174920.GA12384@caradoc.them.org> In-Reply-To: <20070820174920.GA12384@caradoc.them.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-08/txt/msg00141.txt.bz2 Daniel Jacobowitz wrote: > Symbols come from .debug_info and have type information. minsyms come > from the ELF .symtab section, and do not. Ah, OK. How do I determine this, and how do I get it to use the proper symbols if it has chosen the wrong ones? I know that the debug info contains the definition given in the source - at least for one example I looked at, anyway. It couldn't have arrived at the version given by 'info functions' without canonicalizing the debug info, so I assume it must be using the (already canonical) minsyms only. > 2-3 typenames is not typical, in C++ programs. It added around 30% > time in my testing. Oh? I'm talking about converting something like Int32 f(Bp,Int16) to int f(B*,short) (where Bp is an example of a typedef), and only for parameters given to breakpoint commands and the like. There's only 3 types in that (four if you count the function type), and breakpoint commands wouldn't come up _too_ often, so surely it couldn't take that much time? Surely we are talking at cross-purposes? Andrew