[RFC] improving the DWARF information emitted for Ada
Nicolas Setton
setton@adacore.com
Fri Feb 10 11:28:00 GMT 2006
> Any properly written dwarf reader will ignore attributes it doesn't
> understand, and hence in theory there should be no need for a -
> gdwarf-2+ option. You can just emit the new info by default and
> everything should work.
The problem is that the switch will also change what is contained in
the DW_AT_name attributes. For example what is today written as
"hello__my_array_type" will become "hello.my_array_type". Previously
we were using double underscores as component separator, and we would
like to use dots instead.
Right now, external tools (such as gdb, [lib]addr2line, etc) which
read dwarf-2 for Ada need to have "demangling" functions to transform
the contents of DW_AT_name into user-friendly strings. We want to
allow them to get rid of these Ada-specific demanglers, but in the
meantime we don't want the existing demanglers to choke on unexpected
contents of DW_AT_name.
> If you are proposing -gdwarf-2+ because you want to have support
> for both the old and new Ada debug info, then I think that is a
> misuse of the debug+ convention. You aren't really adding
> extensions. You are just changing from stabs hacks to proper dwarf
> info. Also, having the -gdwarf-2+ option may confuse people into
> thinking that they need it for C++ (which is where the + originally
> came from).
Understood.
> Not having both means that gdb patches need to get installed first,
> then the gcc patches, and then you document that gcc version X
> requires gdb version Y.
I'll check with the gdb-Ada experts what it takes exactly to support
this.
> Ordinarily this shouldn't be a problem, but I realize that
> historically gdb support for Ada hasn't been as good as it should
> be. If we really need both old and new formats, I'd suggest a -f
> option first, maybe something like -fada-stabs-encodings to get the
> old format.
OK, no problem for using -fada-stabs-encodings.
Thank you for your comments!
Nicolas
More information about the Gcc
mailing list