From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10020 invoked by alias); 18 Feb 2004 08:12:17 -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 9755 invoked from network); 18 Feb 2004 08:12:02 -0000 Received: from unknown (HELO otisco.McKusick.COM) (209.31.233.190) by sources.redhat.com with SMTP; 18 Feb 2004 08:12:02 -0000 Received: (from hilfingr@localhost) by otisco.McKusick.COM (8.11.6/8.11.6) id i1I8BnC11365; Wed, 18 Feb 2004 00:11:49 -0800 Date: Wed, 18 Feb 2004 08:12:00 -0000 Message-Id: <200402180811.i1I8BnC11365@otisco.McKusick.COM> From: "Paul N. Hilfinger" To: carlton@kealia.com CC: gdb-patches@sources.redhat.com In-reply-to: (message from David Carlton on Tue, 17 Feb 2004 17:26:54 -0800) Subject: Re: [rfa] Add SYMBOL_SET_LINKAGE_NAME Reply-to: Hilfinger@otisco.mckusick.com References: <200402180049.i1I0n4HR018124@tully.CS.Berkeley.EDU> X-SW-Source: 2004-02/txt/msg00509.txt.bz2 > From: David Carlton > On Tue, 17 Feb 2004 16:49:04 -0800, Paul Hilfinger said: > > 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?) I admit that I have never been clear on the precise limits of "linkage name". The linker DOES see these things (else how do they find their way into the executable file?) although it's true that it does not "link" them as it does for regular symbols. After watching you struggle manfully through a number of terminology changes, I was a little reluctant to suggest the introduction of still another concept, so I stuck with "linkage name". The point is that WHATEVER you call Ada's mangled type names, they are NOT what is written in the source code (so can't be "natural names") and they ARE the raw names extracted from the executable's debugging information. Hmm; they also happen to be what I proposed calling "search names"---i.e., the names used internally to search by. We could use the opportunity to introduce search names and make this "SET_SEARCH_NAME". Just a thought. Paul Hilfinger