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: gcc 4.0 generates location list without DW_AT_frame_base


On Fri, Dec 31, 2004 at 02:03:24PM -0800, H. J. Lu wrote:
> On Fri, Dec 31, 2004 at 04:57:17PM -0500, Daniel Berlin wrote:
> > >0x000000000055c84d in add_location_or_const_value_attribute
> > >(die=0x2a96205820,
> > >   decl=0x2a961ad000, attr=DW_AT_location)
> > >   at /export/gnu/src/gcc/gcc/gcc/dwarf2out.c:10108
> > >10108         descr = loc_descriptor (NOTE_VAR_LOCATION
> > >(node->var_loc_note),
> > >(gdb) p *loc_list
> > >$4 = {first = 0x0, last = 0x0, decl_id = 14047}
> > >(gdb)
> > 
> > Oh, that's weird.
> > Wonder why we added it then.
> > anyway, just change
> > if (loc_list)
> > to
> > if (loc_list && loc_list->first)
> 
> I am testing it now. Bootstrap has passed the previous failure. It will
> take a while to finish.

The modified patch works with tls_symbolic_operand in i386. However,
I do see

 <2><427491>: Abbrev Number: 39 (DW_TAG_inlined_subroutine)
     DW_AT_sibling     : <427510>
     DW_AT_abstract_origin: <427159>
     DW_AT_low_pc      : 0x8399aea
     DW_AT_high_pc     : 0x8399b3c
 <3><4274a2>: Abbrev Number: 37 (DW_TAG_formal_parameter)
     DW_AT_abstract_origin: <42716b>
 <3><4274a7>: Abbrev Number: 37 (DW_TAG_formal_parameter)
     DW_AT_abstract_origin: <427177>
 <3><4274ac>: Abbrev Number: 44 (DW_TAG_lexical_block)
     DW_AT_low_pc      : 0x8399aea
     DW_AT_high_pc     : 0x8399b3c
 <4><4274b5>: Abbrev Number: 42 (DW_TAG_variable)
     DW_AT_abstract_origin: <427183>
     DW_AT_location    : 2 byte block: 91 54    (DW_OP_fbreg: -44)
[without DW_AT_frame_base]

I assume it is normal.


H.J.


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