This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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;



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]