This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils 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: [PATCH] readelf: print split CUs when given --debug-dump=info+


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.

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