On Sun, Sep 16, 2012 at 12:09:04AM +0800, Dehao Chen 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.
I thought it had some months ago: http://sourceware.org/ml/binutils/2012-04/msg00447.html If that patch is present in your binutils and addr2line still doesn't work as intented there might be a bug or some other place to update. Thanks, Mark