Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Berlin <dberlin@dberlin.org>
To: Martin Baulig <martin@gnome.org>
Cc: gdb@sources.redhat.com
Subject: Re: Lifetime of local variables
Date: Tue, 16 Apr 2002 06:15:00 -0000	[thread overview]
Message-ID: <Pine.LNX.4.44.0204160910090.15114-100000@dberlin.org> (raw)
In-Reply-To: <86u1qghdp5.fsf@einstein.home-of-linux.org>

On 12 Apr 2002, Martin Baulig wrote:

> Hi,
> 
> I was recently working a bit on debugging support for C# (using Mono)
> and I need a way to tell GDB about the lifetime of local variables. In
> C#, the JIT engine may decide to store two different variables at the
> same stack offset if they aren't used throughout the whole function.
> 
> Now I was wondering how to do this - DWARF 2 already has a
> `DW_AT_begin_scope' but unfortunately no `DW_AT_end_scope' - can we
> add this or something similar as a GNU extension ?
> 
> After looking at the code, I found out that `struct symbol' contains a
> `ranges' field which seems to do exactly what I want - but this field
> isn't used anywhere.

And the reason ranges isn't use anywhere is because it was part of a 
hackish extension to STABS for live range support.
The code to produce the live range extensions to STABS was never 
added to gcc in any public release.

If you are using DWARF2, you already can describe variable 
lifetimes/changing locations using location lists. 

While it would seem GDB has no support for them at current, rest assured 
that 
1. Patches to support location expressions, which is what location lists 
are made up of, have been submitted.
2. Location lists are a trivial extension of #1.

In fact, I already have support for them sitting in a patch on my 
harddrive, i'm waiting for the location expression support to be approved 
before i submit location list support.

GCC's cfg-branch will now produce location lists for optimized code, and I 
added support to readelf for reading them.


  parent reply	other threads:[~2002-04-16 13:15 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-12 16:18 Martin Baulig
2002-04-12 16:42 ` Daniel Jacobowitz
2002-04-13  4:35   ` Martin Baulig
2002-04-13  5:08     ` Momchil Velikov
2002-04-13  5:42       ` Martin Baulig
2002-04-13 11:32     ` Daniel Jacobowitz
2002-04-13 12:53       ` Martin Baulig
2002-04-13 12:59         ` Daniel Jacobowitz
2002-04-13 13:10         ` Momchil Velikov
2002-04-16  5:56 ` Daniel Berlin
2002-04-16  6:15 ` Daniel Berlin [this message]
2002-04-16 15:07 ` Jim Blandy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.44.0204160910090.15114-100000@dberlin.org \
    --to=dberlin@dberlin.org \
    --cc=gdb@sources.redhat.com \
    --cc=martin@gnome.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox