From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18790 invoked by alias); 18 Feb 2004 01:27:02 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 18780 invoked from network); 18 Feb 2004 01:27:00 -0000 Received: from unknown (HELO hawaii.kealia.com) (209.3.10.89) by sources.redhat.com with SMTP; 18 Feb 2004 01:27:00 -0000 Received: by hawaii.kealia.com (Postfix, from userid 2049) id 0DF6DCDF5; Tue, 17 Feb 2004 17:26:55 -0800 (PST) To: Paul Hilfinger Cc: gdb-patches@sources.redhat.com Subject: Re: [rfa] Add SYMBOL_SET_LINKAGE_NAME References: <200402180049.i1I0n4HR018124@tully.CS.Berkeley.EDU> From: David Carlton Date: Wed, 18 Feb 2004 01:27:00 -0000 In-Reply-To: <200402180049.i1I0n4HR018124@tully.CS.Berkeley.EDU> (Paul Hilfinger's message of "Tue, 17 Feb 2004 16:49:04 -0800") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.4 (Reasonable Discussion, linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2004-02/txt/msg00498.txt.bz2 On Tue, 17 Feb 2004 16:49:04 -0800, Paul Hilfinger said: >> When we're talking about types, however, linkage names don't make much >> sense, only natural names. > Oh, I DO so hate to rock the boat, but this statement is not true in > the case of Ada, in which the natural name of a type is not how it's > known to the linker. Can you clarify this? Because: > I don't see why "linkage names don't make much sense" anyway: the name > of a (C/C++) type is, indeed, what the linker sees. I don't see this as being true for C/C++. The linker sees the names of functions and variables, but it doesn't see the names of types. There aren't any minimal symbols associated to types. There are minimal symbols associated to methods of classes, static variables of classes, and other stuff (virtual function tables, at least), but no minimal symbols associated to the the types themselves. I can see how you could take the name of a type and mangle it, and I can imagine that doing so might be useful for Ada (and perhaps even for C++?), given the picture that you've been painting. But I wouldn't call that a linkage name, because there's nothing in the object file which has that name. So is the picture different for Ada, or have I not been being clear with the distinction of linkage name vs. mangled name? (Or am I missing something even in the C/C++ case, for that matter?) David Carlton carlton@kealia.com