From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11038 invoked by alias); 4 Jun 2007 21:57:57 -0000 Received: (qmail 11028 invoked by uid 22791); 4 Jun 2007 21:57:56 -0000 X-Spam-Check-By: sourceware.org Received: from NaN.false.org (HELO nan.false.org) (208.75.86.248) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 04 Jun 2007 21:57:55 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id C5C4C982E4; Mon, 4 Jun 2007 21:57:52 +0000 (GMT) Received: from caradoc.them.org (dsl093-172-095.pit1.dsl.speakeasy.net [66.93.172.95]) by nan.false.org (Postfix) with ESMTP id 71D5E982E2; Mon, 4 Jun 2007 21:57:52 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.67) (envelope-from ) id 1HvKYG-0000Fl-MY; Mon, 04 Jun 2007 17:57:24 -0400 Date: Mon, 04 Jun 2007 21:57:00 -0000 From: Daniel Jacobowitz To: Joel Brobecker Cc: gdb@sourceware.org Subject: Re: More "catch assert" Ada failures Message-ID: <20070604215724.GA30990@caradoc.them.org> Mail-Followup-To: Joel Brobecker , gdb@sourceware.org References: <20070604130204.GA31142@caradoc.them.org> <20070604155009.GF3761@adacore.com> <20070604160600.GA8815@caradoc.them.org> <20070604190727.GM3761@adacore.com> <20070604213154.GP3761@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070604213154.GP3761@adacore.com> User-Agent: Mutt/1.5.15 (2007-04-09) 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-06/txt/msg00037.txt.bz2 On Mon, Jun 04, 2007 at 02:31:54PM -0700, Joel Brobecker wrote: > With the help of Eric Botcazou, we determined GCC built straight from > the FSF tree follows our encoding, and thus does not have the "__" > replaced by dots. So it looks like it's something that the Debian > version of GCC might be doing differently. Apparently, the name > attribute generation is generated by: > > /* Generate a DW_AT_name attribute given some string value to be included as > the value of the attribute. */ > > static void > add_name_attribute (dw_die_ref die, const char *name_string) > { > if (name_string != NULL && *name_string != 0) > { > if (demangle_name_func) > name_string = (*demangle_name_func) (name_string); > > add_AT_string (die, DW_AT_name, name_string); > } > } > > In our case (GNAT compiler), demangle_name_func is NULL, so we > emit the encoded name without any modification. Maybe that's > where Debian GCC does things differently? It's got to be something else; nothing in this package calls dwarf2out_set_demangle_name_func. But add_name_attribute is called with the result of dwarf2_name which comes from decl_printable_name. I'd always expect that to give the dotted form... Aha: 2006-10-31 Eric Botcazou Nicolas Setton Olivier Hainque Gary Dismukes ... * misc.c (gnat_dwarf_name): New function. (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name. (gnat_post_options): Add comment about structural alias analysis. (gnat_parse_file): Do not call cgraph_optimize here. (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations. Nothing before there is going to put the mangled name in DWARF info. I don't know if that means 4.2 or 4.3. -- Daniel Jacobowitz CodeSourcery