Discussion on D support in gdb
Martin Nowak
dawg at dawgfoto.de
Wed Nov 23 06:07:37 PST 2011
On Tue, 22 Nov 2011 16:19:00 +0100, Martin Nowak <dawg at dawgfoto.de> wrote:
> On Tue, 22 Nov 2011 04:18:47 +0100, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>
>> Maybe someone knowledgeable could chime in:
>>
>> http://sourceware.org/ml/gdb/2011-11/msg00066.html
>>
>>
>>
>> Andrei
>
> I think we should follow Tom Tromney's proposal to add the extensions
> under the GNU vendor space, i.e. prefix them with 0x41xx.
> Numbers hopefully don't fall under licensing issues.
>
> It should be fairly straightforward to improve gdb debugging support
> given that
> changes are accepted on either side. The GDB codebase is a slightly
> unfriendly
> environment but getting rid of 'p ((char*[2])str)[1]' would be great.
>
> I would volunteer to do the implementation but it would be great if
> someone helped with
> clarifying the following issues.
>
> - Can we slowly start to acquire DWARF-3/4?
>
Definitely interesting, it would allow to reduce the debug info size
and adds more versatile constructs. DWARF3 support starts June 2006
(gdb-6.5),
DWARF4 with April 2010 (gdb-7.2).
The biggest issue is that OSX is stuck on a terribly old gdb-6.35.
> - Why were extensions chosen over say representing an array as two
> field struct?
>
It is possible to fully represent D arrays as DW_TAG_array_type in DWARF4
as it any expressions for the data base address and the array length.
Given this it's unlikely that adding a specific darray tag is needed.
Gdb has currently no support for dynamic arrays at all.
It's probably more useful to emit them as struct { size_t length; T[0]
data; },
which is well supported even for DWARF2.
> - There is this request by Robert Clipsham
> http://dwarfstd.org/ShowIssue.php?issue=100504.1.
> What's the state of this, it wouldn't be needed any longer.
>
> - We should contact http://www.zero-bugs.com, it is said to support the
> dwarf extensions and would need to be changed.
>
> - Find out who else is affected by changing the current extensions.
>
> - Fixing the D-ABI specification.
>
> - Are there other DWARF debuggers that we should take into account?
>
> - Adding a page to GNU wiki describing the D extensions.
>
> - We could probably use DW_TAG_GNU_template_parameter_pack for
> variadic template arguments.
> http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
>
> martin
More information about the Digitalmars-d
mailing list