On Sat, Sep 15, 2012 at 9:09 AM, Dehao Chen <de...@google.com> wrote: > I tried the up-to-date addr2line on any "gcc -g" generated code, it > does not work either. This is because in the new dwarf, the > DW_AT_high_pc now actually means the size. e.g. > > <1><9b>: Abbrev Number: 2 (DW_TAG_subprogram) > <9c> DW_AT_external : 1 > <9c> DW_AT_name : bar > <a0> DW_AT_decl_file : 1 > <a1> DW_AT_decl_line : 8 > <a2> DW_AT_linkage_name: (indirect string, offset: 0x7b): _Z3barv > <a6> DW_AT_type : <0x8d> > <aa> DW_AT_low_pc : 0x400583 > <b2> DW_AT_high_pc : 0x37 0x0 > <ba> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) > <bc> DW_AT_GNU_all_call_sites: 1 > <bc> DW_AT_sibling : <0xff> > > However, addr2line still thinks DW_AT_high_pc means "high_pc". I think > we should wait for binutil to catch up with gcc. >
So, the meaning of DW_AT_high_pc in DWARF4 is different from DWARF3? -- H.J.