This is the mail archive of the
mailing list for the GDB project.
Re: More "catch assert" Ada failures
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...
2006-10-31 Eric Botcazou <firstname.lastname@example.org>
Nicolas Setton <email@example.com>
Olivier Hainque <firstname.lastname@example.org>
Gary Dismukes <email@example.com>
* misc.c (gnat_dwarf_name): New function.
(LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
(gnat_post_options): Add comment about structural alias
(gnat_parse_file): Do not call cgraph_optimize here.
(LANG_HOOKS_WRITE_GLOBALS): Define to
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.