[PATCH] readelf: print split CUs when given --debug-dump=info+
Mark Wielaard
mark@klomp.org
Thu May 24 15:38:00 GMT 2018
On Sun, 2018-05-20 at 21:28 +0200, Mark Wielaard wrote:
> To show the difference between "regular" CUs and split CUs print
> offsets and references between { and } instead of [ and ].
>
> When --debug-dump=info+ is given (implied by -w) instead of
> --debug-dump=info any skeleton unit will be immediately followed
> by the corresponding split compile unit (from the .dwo file).
>
> DWARF section [27] '.debug_info' at offset 0x1075:
> [Offset]
> Compilation unit at offset 0:
> Version: 4, Abbreviation section offset: 0, Address size: 8, Offset
> size: 4
> Unit type: skeleton (4), Unit id: 0xc152129eb4b99599
> [ b] compile_unit abbrev: 1
> ranges (sec_offset) range list [ 0]
> low_pc (addr) +000000000000000000
> stmt_list (sec_offset) 0
> GNU_dwo_name (strp) "foo.dwo"
> comp_dir (strp) "/tmp"
> GNU_pubnames (flag_present) yes
> GNU_addr_base (sec_offset) 0
> GNU_dwo_id (data8) 0xc152129eb4b99599
> GNU_ranges_base (sec_offset) 0
> Split compilation unit at offset 0:
> Version: 4, Abbreviation section offset: 0, Address size: 8, Offset
> size: 4
> Unit type: skeleton (4), Unit id: 0xc152129eb4b99599
> { b} compile_unit abbrev: 1
> producer (GNU_str_index) "GNU C11 7.3.0
> -gsplit-dwarf -g"
> language (data1) C99 (12)
> name (GNU_str_index) "foo.c"
> comp_dir (GNU_str_index) "/tmp"
> GNU_dwo_id (data8) 0xc152129eb4b99599
> { 18} subprogram abbrev: 2
> external (flag_present) yes
> name (GNU_str_index) "main"
> decl_file (data1) foo.c (1)
> decl_line (data1) 1
> type (ref4) { 2b}
> high_pc (data8) 3
> frame_base (exprloc)
> [ 0] call_frame_cfa
> GNU_all_call_sites (flag_present) yes
> { 2b} base_type abbrev: 3
> byte_size (data1) 4
> encoding (data1) signed (5)
> name (string) "int"
Pushed to master.
More information about the Elfutils-devel
mailing list