[Bug libdw/21174] libdw with perf: duplication of entries in callstack

thommyj at gmail dot com sourceware-bugzilla@sourceware.org
Fri Feb 17 14:42:00 GMT 2017


https://sourceware.org/bugzilla/show_bug.cgi?id=21174

--- Comment #6 from Thommy Jakobsson <thommyj at gmail dot com> ---
Hi again and thanks for spending the time.

>>Maybe you can debug by triggering the pr_debug ()
Switched the pr_debug to a normal printf, and also added a printout of program
counter directly in the libdw frame callback (see attached patch). And from
what I can see the duplication of symbol comes from libdw

>>eu-readelf --debug-dump=frame /usr/local/bin/Application
Not fully understand how to read the callstack debug data, is this what you
want? I guess you are supposed to unroll the entire register file from last
function with this info, so I would have expected more data.

 [  1ad8] FDE length=36 cie=[  1aa0]
   CIE_pointer:              6816
   initial_location:         0x00000000006e35d8 <IBUFDIST_distribute>
   address_range:            0x58

   Program:
     advance_loc 2 to 0x4
     def_cfa_offset 32
     offset r29 (x29) at cfa-32
     offset r30 (x30) at cfa-24
     advance_loc 2 to 0x8
     def_cfa_register r29 (x29)
     advance_loc 38 to 0x54
     restore r30 (x30)
     restore r29 (x29)
     def_cfa r31 (sp) at offset 0

 [  1b00] CIE length=12
   CIE_id:                   18446744073709551615
   version:                  1
   augmentation:             ""
   code_alignment_factor:    2
   data_alignment_factor:    -4
   return_address_register:  30

   Program:
     def_cfa r31 (sp) at offset 0

BR,
Thommy Jakobsson

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Elfutils-devel mailing list