Re: [PATCH] DWARF support for .debug_loc offsets

Jim Blandy
2002-07-11T19:20:51Z

Petr Sorfa <petrs@caldera.com> writes:
> Sorry for the [PATCH] debacle will use [RFA]. Comments below.

(Well, it's hardly a debacle; more like a minor bureaucratic point.
But it's a useful convention, so I try to spread the news when the
need arises.)

> > Petr Sorfa <petrs@caldera.com> writes:
> > > This patch provides support for offsets into .debug_loc.
> > >
> > > The patch does not include .debug_loc support in read_tag_string_type()
> > > as the DW_AT_string_length attribute is currently being misused by GCC
> > > (it uses it to hold the length, rather than the location to the length)
> > > and GDB supports the incorrect form.
> > >
> > > There is a second part of this patch which is dependent on FORTRAN95
> > > support of modules and will be released later.
> >
> > I'm confused. If (say) a DW_AT_frame_base attribute's value uses
> > DW_FORM_data4 or DW_FORM_data8, then that data is the offset in the
> > ..debug_loc section of a location list describing how to find the
> > object at various points in the code. But your code seems to assume
> > that the data in the .debug_loc section is simply the address of the
> > object.
> >
> > Having location list support would be great, but if we can get
> > Daniel's LOC_COMPUTED patch committed, adding location list support
> > will be very simple.
> Oops, you are completely correct. Let me remove the DW_FORM_data4/8
> stuff for DW_AT_frame_base and resubmit the patch for RFA. Is this OK?

The only thing that'll be left is the code that checks the form, and
complains if it's not DW_FORM_block, right? Yes, that'll be fine.