This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Reference to .debug_loc
On Fri, 14 Feb 2003, Jakub Jelinek wrote:
> On Fri, Feb 14, 2003 at 02:51:24PM -0500, Daniel Jacobowitz wrote:
> > > >>Or is there another way?
> > > >
> > > >At a guess it should be like DW_AT_ranges:
> > > > .long .Ldebug_ranges0+0x0 # DW_AT_ranges
> > > >
> > > >I.E. dw2_asm_output_offset, rather than dw2_asm_output_delta, in GCC.
> > > >
> > >
> > > It's supposed to be the offset from the beginning of the debug_loc
> > > section.
> > > Will this do that?
> >
> > I think so. The result will be something like .Ldebug_ranges0 +
> > (.LLST0-.Ldebug_loc0). If the assembler won't take that then we'll
> > have to track addresses for loclists the same as we do for rangelists.
>
> Why simple .long .LLST0 is not sufficient (@secrel(.LLST0) on IA-64)?
> It is not the only place where gcc relies on VMA of debugging sections
> to be 0 if the architecture lacks section relative relocations.
That seems to work.
Michael, try this:
Index: dwarf2out.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2out.c,v
retrieving revision 1.382.2.8
diff -u -3 -p -r1.382.2.8 dwarf2out.c
--- dwarf2out.c 8 Feb 2003 19:43:32 -0000 1.382.2.8
+++ dwarf2out.c 14 Feb 2003 21:09:27 -0000
@@ -6924,8 +6924,7 @@ output_die (die)
if (sym == 0)
abort ();
- dw2_asm_output_delta (DWARF_OFFSET_SIZE, sym,
- loc_section_label, "%s", name);
+ dw2_asm_output_offset (DWARF_OFFSET_SIZE, sym, "%s", name);
}
break;