rizin/test/db/cmd/dwarf
Giovanni ade374378e
Add free-pascal demangling support (#3011)
* Add free-pascal demangling support
* Fixed tests
2022-09-06 10:39:58 +08:00

3065 lines
144 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NAME=id Dwarf Printing
FILE=bins/elf/dwarf3_many_comp_units.elf
CMDS=<<EOF
id
EOF
EXPECT=<<EOF
1 DW_TAG_compile_unit [has children] (0x0)
DW_AT_producer DW_FORM_strp
DW_AT_language DW_FORM_data1
DW_AT_name DW_FORM_strp
DW_AT_comp_dir DW_FORM_strp
DW_AT_ranges DW_FORM_data4
DW_AT_low_pc DW_FORM_addr
DW_AT_entry_pc DW_FORM_addr
DW_AT_stmt_list DW_FORM_data4
2 DW_TAG_structure_type [has children] (0x15)
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_siblings DW_FORM_ref4
3 DW_TAG_subprogram [has children] (0x26)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
4 DW_TAG_formal_parameter [no children] (0x3e)
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
5 DW_TAG_base_type [no children] (0x47)
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT_name DW_FORM_string
6 DW_TAG_const_type [no children] (0x52)
DW_AT_type DW_FORM_ref4
7 DW_TAG_pointer_type [no children] (0x59)
DW_AT_byte_size DW_FORM_data1
DW_AT_type DW_FORM_ref4
8 DW_TAG_structure_type [has children] (0x62)
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
9 DW_TAG_member [no children] (0x75)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_data1
DW_AT_artificial DW_FORM_flag
10 DW_TAG_subprogram [has children] (0x82)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
11 DW_TAG_subprogram [has children] (0x9a)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_virtuality DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
12 DW_TAG_subprogram [has children] (0xb6)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_virtuality DW_FORM_data1
DW_AT_vtable_elem_location DW_FORM_block1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
13 DW_TAG_subroutine_type [has children] (0xd4)
DW_AT_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
14 DW_TAG_unspecified_parameters [no children] (0xdd)
15 DW_TAG_pointer_type [no children] (0xe2)
DW_AT_byte_size DW_FORM_data1
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
16 DW_TAG_subprogram [has children] (0xed)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_tail_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
17 DW_TAG_variable [no children] (0x10c)
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
18 DW_TAG_subprogram [has children] (0x11d)
DW_AT_specification DW_FORM_ref4
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
19 DW_TAG_formal_parameter [no children] (0x131)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
DW_AT_location DW_FORM_block1
20 DW_TAG_subprogram [has children] (0x13e)
DW_AT_specification DW_FORM_ref4
DW_AT_object_pointer DW_FORM_ref4
DW_AT_inline DW_FORM_data1
DW_AT_siblings DW_FORM_ref4
21 DW_TAG_formal_parameter [no children] (0x14b)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
22 DW_TAG_subprogram [has children] (0x156)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_tail_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
23 DW_TAG_formal_parameter [no children] (0x16d)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_location DW_FORM_block1
24 DW_TAG_subprogram [has children] (0x176)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
1 DW_TAG_compile_unit [has children] (0x18c)
DW_AT_producer DW_FORM_strp
DW_AT_language DW_FORM_data1
DW_AT_name DW_FORM_strp
DW_AT_comp_dir DW_FORM_strp
DW_AT_ranges DW_FORM_data4
DW_AT_low_pc DW_FORM_addr
DW_AT_entry_pc DW_FORM_addr
DW_AT_stmt_list DW_FORM_data4
2 DW_TAG_structure_type [has children] (0x1a1)
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
3 DW_TAG_subprogram [has children] (0x1b4)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_artificial DW_FORM_flag
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
4 DW_TAG_formal_parameter [no children] (0x1c8)
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
5 DW_TAG_formal_parameter [no children] (0x1d1)
DW_AT_type DW_FORM_ref4
6 DW_TAG_member [no children] (0x1d8)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_data1
DW_AT_artificial DW_FORM_flag
7 DW_TAG_subprogram [has children] (0x1e5)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
8 DW_TAG_subprogram [has children] (0x1fd)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_virtuality DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
9 DW_TAG_subprogram [has children] (0x219)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_virtuality DW_FORM_data1
DW_AT_vtable_elem_location DW_FORM_block1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
10 DW_TAG_const_type [no children] (0x237)
DW_AT_type DW_FORM_ref4
11 DW_TAG_pointer_type [no children] (0x23e)
DW_AT_byte_size DW_FORM_data1
DW_AT_type DW_FORM_ref4
12 DW_TAG_reference_type [no children] (0x247)
DW_AT_byte_size DW_FORM_data1
DW_AT_type DW_FORM_ref4
13 DW_TAG_subroutine_type [has children] (0x250)
DW_AT_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
14 DW_TAG_unspecified_parameters [no children] (0x259)
15 DW_TAG_base_type [no children] (0x25e)
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT_name DW_FORM_string
16 DW_TAG_pointer_type [no children] (0x269)
DW_AT_byte_size DW_FORM_data1
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
17 DW_TAG_structure_type [has children] (0x274)
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
18 DW_TAG_inheritance [no children] (0x287)
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_data1
19 DW_TAG_subprogram [has children] (0x290)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_artificial DW_FORM_flag
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
20 DW_TAG_subprogram [has children] (0x2a4)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
21 DW_TAG_subprogram [has children] (0x2bc)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_virtuality DW_FORM_data1
DW_AT_vtable_elem_location DW_FORM_block1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
22 DW_TAG_structure_type [has children] (0x2da)
DW_AT_name DW_FORM_strp
DW_AT_declaration DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
23 DW_TAG_subprogram [has children] (0x2e5)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
24 DW_TAG_subprogram [has children] (0x2fb)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_tail_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
25 DW_TAG_variable [no children] (0x317)
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
26 DW_TAG_variable [no children] (0x328)
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
27 DW_TAG_subprogram [has children] (0x339)
DW_AT_specification DW_FORM_ref4
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
28 DW_TAG_formal_parameter [no children] (0x34d)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
DW_AT_location DW_FORM_block1
29 DW_TAG_subprogram [has children] (0x35a)
DW_AT_specification DW_FORM_ref4
DW_AT_object_pointer DW_FORM_ref4
DW_AT_inline DW_FORM_data1
DW_AT_siblings DW_FORM_ref4
30 DW_TAG_formal_parameter [no children] (0x367)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
31 DW_TAG_subprogram [has children] (0x372)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_tail_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
32 DW_TAG_formal_parameter [no children] (0x389)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_location DW_FORM_block1
33 DW_TAG_subprogram [has children] (0x392)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
34 DW_TAG_subprogram [has children] (0x3a9)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
Compilation Unit @ offset 0x0:
Length: 0x22a
Version: 3
Abbrev Offset: 0x0
Pointer Size: 8
<0xb>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_producer : (indirect string, offset: 0x76): GNU C++14 9.3.0 -mtune=generic -march=x86-64 -gdwarf-3 -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection
DW_AT_language : 4 (C++)
DW_AT_name : (indirect string, offset: 0x120): mammal.cpp
DW_AT_comp_dir : (indirect string, offset: 0x14b): /home/hound/r2test/dwarf/cpp/dump
DW_AT_ranges : 0
DW_AT_low_pc : 0x0
DW_AT_entry_pc : 0x0
DW_AT_stmt_list : 0
<0x31>: Abbrev Number: 2 (DW_TAG_structure_type)
DW_AT_name : (indirect string, offset: 0x4a): calculator
DW_AT_byte_size : 1
DW_AT_decl_file : 1
DW_AT_decl_line : 6
DW_AT_decl_column : 8
DW_AT_siblings : <0x5c>
<0x3e>: Abbrev Number: 3 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x172): calculate
DW_AT_decl_file : 1
DW_AT_decl_line : 7
DW_AT_decl_column : 6
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x2e): _ZN10calculator9calculateEv
DW_AT_type : <0x5c>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x54>
<0x54>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x68>
DW_AT_artificial : 1
<0x5a>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x5b>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x5c>: Abbrev Number: 5 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 5
DW_AT_name : int
<0x63>: Abbrev Number: 6 (DW_TAG_const_type)
DW_AT_type : <0x5c>
<0x68>: Abbrev Number: 7 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x31>
<0x6e>: Abbrev Number: 6 (DW_TAG_const_type)
DW_AT_type : <0x68>
<0x73>: Abbrev Number: 8 (DW_TAG_structure_type)
DW_AT_name : (indirect string, offset: 0x136): Mammal
DW_AT_byte_size : 8
DW_AT_decl_file : 2
DW_AT_decl_line : 1
DW_AT_decl_column : 8
DW_AT_containing_type : <0x73>
DW_AT_siblings : <0xfa>
<0x84>: Abbrev Number: 9 (DW_TAG_member)
DW_AT_name : (indirect string, offset: 0x130): _vptr.Mammal
DW_AT_type : <0x105>
DW_AT_data_member_location : 0
DW_AT_artificial : 1
<0x8f>: Abbrev Number: 10 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x136): Mammal
DW_AT_decl_file : 2
DW_AT_decl_line : 2
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x0): _ZN6MammalC4Ev
DW_AT_declaration : 1
DW_AT_object_pointer : <0xa5>
DW_AT_siblings : <0xac>
<0xa5>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x115>
DW_AT_artificial : 1
<0xab>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xac>: Abbrev Number: 11 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x186): ~Mammal
DW_AT_decl_file : 1
DW_AT_decl_line : 3
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xf): _ZN6MammalD4Ev
DW_AT_virtuality : 1
DW_AT_containing_type : <0x73>
DW_AT_declaration : 1
DW_AT_object_pointer : <0xc7>
DW_AT_siblings : <0xd4>
<0xc7>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x115>
DW_AT_artificial : 1
<0xcd>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x5c>
DW_AT_artificial : 1
<0xd3>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xd4>: Abbrev Number: 12 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x146): walk
DW_AT_decl_file : 1
DW_AT_decl_line : 4
DW_AT_decl_column : 7
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x64): _ZN6Mammal4walkEv
DW_AT_type : <0x5c>
DW_AT_virtuality : 1
DW_AT_vtable_elem_location : 2 byte block: 0x10 0x02
DW_AT_containing_type : <0x73>
DW_AT_declaration : 1
DW_AT_object_pointer : <0xf2>
<0xf2>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x115>
DW_AT_artificial : 1
<0xf8>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xf9>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xfa>: Abbrev Number: 13 (DW_TAG_subroutine_type)
DW_AT_type : <0x5c>
DW_AT_siblings : <0x105>
<0x103>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
<0x104>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x105>: Abbrev Number: 7 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x10b>
<0x10b>: Abbrev Number: 15 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_name : (indirect string, offset: 0x1e): __vtbl_ptr_type
DW_AT_type : <0xfa>
<0x115>: Abbrev Number: 7 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x73>
<0x11b>: Abbrev Number: 6 (DW_TAG_const_type)
DW_AT_type : <0x115>
<0x120>: Abbrev Number: 16 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x16d): pepa
DW_AT_decl_file : 1
DW_AT_decl_line : 10
DW_AT_decl_column : 5
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x13d): _Z4pepav
DW_AT_type : <0x5c>
DW_AT_low_pc : 0x11eb
DW_AT_high_pc : 0x1228
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x158>
<0x148>: Abbrev Number: 17 (DW_TAG_variable)
DW_AT_name : (indirect string, offset: 0x12b): calc
DW_AT_decl_file : 1
DW_AT_decl_line : 11
DW_AT_decl_column : 13
DW_AT_type : <0x31>
DW_AT_location : 2 byte block: 0x91 0x67
<0x157>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x158>: Abbrev Number: 18 (DW_TAG_subprogram)
DW_AT_specification : <0x3e>
DW_AT_object_pointer : <0x178>
DW_AT_low_pc : 0x1228
DW_AT_high_pc : 0x123b
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x186>
<0x178>: Abbrev Number: 19 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x6e>
DW_AT_artificial : 1
DW_AT_location : 2 byte block: 0x91 0x68
<0x185>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x186>: Abbrev Number: 18 (DW_TAG_subprogram)
DW_AT_specification : <0xd4>
DW_AT_object_pointer : <0x1a6>
DW_AT_low_pc : 0x11d8
DW_AT_high_pc : 0x11eb
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x1b4>
<0x1a6>: Abbrev Number: 19 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x11b>
DW_AT_artificial : 1
DW_AT_location : 2 byte block: 0x91 0x68
<0x1b3>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x1b4>: Abbrev Number: 20 (DW_TAG_subprogram)
DW_AT_specification : <0xac>
DW_AT_object_pointer : <0x1c2>
DW_AT_inline : 0
DW_AT_siblings : <0x1d7>
<0x1c2>: Abbrev Number: 21 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x11b>
DW_AT_artificial : 1
<0x1cc>: Abbrev Number: 21 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x17c): __in_chrg
DW_AT_type : <0x63>
DW_AT_artificial : 1
<0x1d6>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x1d7>: Abbrev Number: 22 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x1b4>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x10c): _ZN6MammalD0Ev
DW_AT_object_pointer : <0x1fb>
DW_AT_low_pc : 0x11a8
DW_AT_high_pc : 0x11d7
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x204>
<0x1fb>: Abbrev Number: 23 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x1c2>
DW_AT_location : 2 byte block: 0x91 0x68
<0x203>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x204>: Abbrev Number: 24 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x1b4>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x55): _ZN6MammalD2Ev
DW_AT_object_pointer : <0x224>
DW_AT_low_pc : 0x118a
DW_AT_high_pc : 0x11a7
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
<0x224>: Abbrev Number: 23 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x1c2>
DW_AT_location : 2 byte block: 0x91 0x68
<0x22c>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x22d>: Abbrev Number: 0 (DW_TAG_null_entry)
Compilation Unit @ offset 0x22e:
Length: 0x46b
Version: 3
Abbrev Offset: 0x18c
Pointer Size: 8
<0x239>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_producer : (indirect string, offset: 0x76): GNU C++14 9.3.0 -mtune=generic -march=x86-64 -gdwarf-3 -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection
DW_AT_language : 4 (C++)
DW_AT_name : (indirect string, offset: 0x1cc): main.cpp
DW_AT_comp_dir : (indirect string, offset: 0x14b): /home/hound/r2test/dwarf/cpp/dump
DW_AT_ranges : 48
DW_AT_low_pc : 0x0
DW_AT_entry_pc : 0x0
DW_AT_stmt_list : 129
<0x25f>: Abbrev Number: 2 (DW_TAG_structure_type)
DW_AT_name : (indirect string, offset: 0x240): Bird
DW_AT_byte_size : 8
DW_AT_decl_file : 2
DW_AT_decl_line : 9
DW_AT_decl_column : 8
DW_AT_containing_type : <0x25f>
DW_AT_siblings : <0x306>
<0x270>: Abbrev Number: 3 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x240): Bird
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x1bc): _ZN4BirdC4ERKS_
DW_AT_artificial : 1
DW_AT_declaration : 1
DW_AT_object_pointer : <0x284>
DW_AT_siblings : <0x290>
<0x284>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x30b>
DW_AT_artificial : 1
<0x28a>: Abbrev Number: 5 (DW_TAG_formal_parameter)
DW_AT_type : <0x316>
<0x28f>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x290>: Abbrev Number: 6 (DW_TAG_member)
DW_AT_name : (indirect string, offset: 0x23a): _vptr.Bird
DW_AT_type : <0x333>
DW_AT_data_member_location : 0
DW_AT_artificial : 1
<0x29b>: Abbrev Number: 7 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x240): Bird
DW_AT_decl_file : 2
DW_AT_decl_line : 10
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x275): _ZN4BirdC4Ev
DW_AT_declaration : 1
DW_AT_object_pointer : <0x2b1>
DW_AT_siblings : <0x2b8>
<0x2b1>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x30b>
DW_AT_artificial : 1
<0x2b7>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x2b8>: Abbrev Number: 8 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x26f): ~Bird
DW_AT_decl_file : 2
DW_AT_decl_line : 11
DW_AT_decl_column : 11
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x202): _ZN4BirdD4Ev
DW_AT_virtuality : 1
DW_AT_containing_type : <0x25f>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x2d3>
DW_AT_siblings : <0x2e0>
<0x2d3>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x30b>
DW_AT_artificial : 1
<0x2d9>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x327>
DW_AT_artificial : 1
<0x2df>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x2e0>: Abbrev Number: 9 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : fly
DW_AT_decl_file : 2
DW_AT_decl_line : 12
DW_AT_decl_column : 15
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x245): _ZN4Bird3flyEv
DW_AT_type : <0x327>
DW_AT_virtuality : 1
DW_AT_vtable_elem_location : 2 byte block: 0x10 0x02
DW_AT_containing_type : <0x25f>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x2fe>
<0x2fe>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x30b>
DW_AT_artificial : 1
<0x304>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x305>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x306>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x25f>
<0x30b>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x25f>
<0x311>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x30b>
<0x316>: Abbrev Number: 12 (DW_TAG_reference_type)
DW_AT_byte_size : 8
DW_AT_type : <0x306>
<0x31c>: Abbrev Number: 13 (DW_TAG_subroutine_type)
DW_AT_type : <0x327>
DW_AT_siblings : <0x327>
<0x325>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
<0x326>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x327>: Abbrev Number: 15 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 5
DW_AT_name : int
<0x32e>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x327>
<0x333>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x339>
<0x339>: Abbrev Number: 16 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_name : (indirect string, offset: 0x1e): __vtbl_ptr_type
DW_AT_type : <0x31c>
<0x343>: Abbrev Number: 17 (DW_TAG_structure_type)
DW_AT_name : Dog
DW_AT_byte_size : 8
DW_AT_decl_file : 2
DW_AT_decl_line : 3
DW_AT_decl_column : 8
DW_AT_containing_type : <0x3ea>
DW_AT_siblings : <0x3e5>
<0x354>: Abbrev Number: 18 (DW_TAG_inheritance)
DW_AT_type : <0x3ea>
DW_AT_data_member_location : 0
<0x35a>: Abbrev Number: 19 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : Dog
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x260): _ZN3DogC4ERKS_
DW_AT_artificial : 1
DW_AT_declaration : 1
DW_AT_object_pointer : <0x36e>
DW_AT_siblings : <0x37a>
<0x36e>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x40e>
DW_AT_artificial : 1
<0x374>: Abbrev Number: 5 (DW_TAG_formal_parameter)
DW_AT_type : <0x419>
<0x379>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x37a>: Abbrev Number: 20 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : Dog
DW_AT_decl_file : 2
DW_AT_decl_line : 4
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x1f6): _ZN3DogC4Ev
DW_AT_declaration : 1
DW_AT_object_pointer : <0x390>
DW_AT_siblings : <0x397>
<0x390>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x40e>
DW_AT_artificial : 1
<0x396>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x397>: Abbrev Number: 8 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x19a): ~Dog
DW_AT_decl_file : 2
DW_AT_decl_line : 5
DW_AT_decl_column : 11
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x18e): _ZN3DogD4Ev
DW_AT_virtuality : 1
DW_AT_containing_type : <0x343>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x3b2>
DW_AT_siblings : <0x3bf>
<0x3b2>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x40e>
DW_AT_artificial : 1
<0x3b8>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x327>
DW_AT_artificial : 1
<0x3be>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x3bf>: Abbrev Number: 21 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x146): walk
DW_AT_decl_file : 2
DW_AT_decl_line : 6
DW_AT_decl_column : 15
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x20f): _ZN3Dog4walkEv
DW_AT_type : <0x327>
DW_AT_virtuality : 1
DW_AT_vtable_elem_location : 2 byte block: 0x10 0x02
DW_AT_containing_type : <0x343>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x3dd>
<0x3dd>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x40e>
DW_AT_artificial : 1
<0x3e3>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x3e4>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x3e5>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x343>
<0x3ea>: Abbrev Number: 22 (DW_TAG_structure_type)
DW_AT_name : (indirect string, offset: 0x136): Mammal
DW_AT_declaration : 1
DW_AT_siblings : <0x40e>
<0x3f4>: Abbrev Number: 23 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x136): Mammal
DW_AT_decl_file : 1
DW_AT_decl_line : 2
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x0): _ZN6MammalC4Ev
DW_AT_declaration : 1
DW_AT_object_pointer : <0x406>
<0x406>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x46d>
DW_AT_artificial : 1
<0x40c>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x40d>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x40e>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x343>
<0x414>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x40e>
<0x419>: Abbrev Number: 12 (DW_TAG_reference_type)
DW_AT_byte_size : 8
DW_AT_type : <0x3e5>
<0x41f>: Abbrev Number: 24 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x19f): main
DW_AT_decl_file : 2
DW_AT_decl_line : 15
DW_AT_decl_column : 5
DW_AT_type : <0x327>
DW_AT_low_pc : 0x123b
DW_AT_high_pc : 0x12c6
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x46d>
<0x443>: Abbrev Number: 25 (DW_TAG_variable)
DW_AT_name : b
DW_AT_decl_file : 2
DW_AT_decl_line : 16
DW_AT_decl_column : 9
DW_AT_type : <0x30b>
DW_AT_location : 2 byte block: 0x91 0x50
<0x450>: Abbrev Number: 25 (DW_TAG_variable)
DW_AT_name : m
DW_AT_decl_file : 2
DW_AT_decl_line : 17
DW_AT_decl_column : 11
DW_AT_type : <0x46d>
DW_AT_location : 2 byte block: 0x91 0x58
<0x45d>: Abbrev Number: 26 (DW_TAG_variable)
DW_AT_name : (indirect string, offset: 0x1e2): output
DW_AT_decl_file : 2
DW_AT_decl_line : 20
DW_AT_decl_column : 7
DW_AT_type : <0x327>
DW_AT_location : 2 byte block: 0x91 0x4c
<0x46c>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x46d>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x3ea>
<0x473>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x46d>
<0x478>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x2e0>
DW_AT_object_pointer : <0x498>
DW_AT_low_pc : 0x13f0
DW_AT_high_pc : 0x1403
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x4a6>
<0x498>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x311>
DW_AT_artificial : 1
DW_AT_location : 2 byte block: 0x91 0x68
<0x4a5>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x4a6>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_specification : <0x2b8>
DW_AT_object_pointer : <0x4b4>
DW_AT_inline : 2
DW_AT_siblings : <0x4c9>
<0x4b4>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x311>
DW_AT_artificial : 1
<0x4be>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x17c): __in_chrg
DW_AT_type : <0x32e>
DW_AT_artificial : 1
<0x4c8>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x4c9>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x4a6>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x21e): _ZN4BirdD0Ev
DW_AT_object_pointer : <0x4ed>
DW_AT_low_pc : 0x13c0
DW_AT_high_pc : 0x13ef
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x4f6>
<0x4ed>: Abbrev Number: 32 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x4b4>
DW_AT_location : 2 byte block: 0x91 0x68
<0x4f5>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x4f6>: Abbrev Number: 33 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x4a6>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x1d5): _ZN4BirdD2Ev
DW_AT_object_pointer : <0x51a>
DW_AT_low_pc : 0x13a2
DW_AT_high_pc : 0x13bf
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x523>
<0x51a>: Abbrev Number: 32 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x4b4>
DW_AT_location : 2 byte block: 0x91 0x68
<0x522>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x523>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_specification : <0x29b>
DW_AT_object_pointer : <0x531>
DW_AT_inline : 2
DW_AT_siblings : <0x53c>
<0x531>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x311>
DW_AT_artificial : 1
<0x53b>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x53c>: Abbrev Number: 33 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x523>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x1e9): _ZN4BirdC2Ev
DW_AT_object_pointer : <0x560>
DW_AT_low_pc : 0x1384
DW_AT_high_pc : 0x13a1
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x569>
<0x560>: Abbrev Number: 32 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x531>
DW_AT_location : 2 byte block: 0x91 0x68
<0x568>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x569>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x3bf>
DW_AT_object_pointer : <0x589>
DW_AT_low_pc : 0x1370
DW_AT_high_pc : 0x1383
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x597>
<0x589>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x414>
DW_AT_artificial : 1
DW_AT_location : 2 byte block: 0x91 0x68
<0x596>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x597>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_specification : <0x397>
DW_AT_object_pointer : <0x5a5>
DW_AT_inline : 2
DW_AT_siblings : <0x5ba>
<0x5a5>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x414>
DW_AT_artificial : 1
<0x5af>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x17c): __in_chrg
DW_AT_type : <0x32e>
DW_AT_artificial : 1
<0x5b9>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x5ba>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x597>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x1a4): _ZN3DogD0Ev
DW_AT_object_pointer : <0x5de>
DW_AT_low_pc : 0x1340
DW_AT_high_pc : 0x136f
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x5e7>
<0x5de>: Abbrev Number: 32 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x5a5>
DW_AT_location : 2 byte block: 0x91 0x68
<0x5e6>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x5e7>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x597>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x254): _ZN3DogD2Ev
DW_AT_object_pointer : <0x60b>
DW_AT_low_pc : 0x1312
DW_AT_high_pc : 0x133f
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x614>
<0x60b>: Abbrev Number: 32 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x5a5>
DW_AT_location : 2 byte block: 0x91 0x68
<0x613>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x614>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_specification : <0x37a>
DW_AT_object_pointer : <0x622>
DW_AT_inline : 2
DW_AT_siblings : <0x62d>
<0x622>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x414>
DW_AT_artificial : 1
<0x62c>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x62d>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x614>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x1b0): _ZN3DogC2Ev
DW_AT_object_pointer : <0x651>
DW_AT_low_pc : 0x12e4
DW_AT_high_pc : 0x1311
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x65a>
<0x651>: Abbrev Number: 32 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x622>
DW_AT_location : 2 byte block: 0x91 0x68
<0x659>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x65a>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_specification : <0x3f4>
DW_AT_object_pointer : <0x668>
DW_AT_inline : 2
DW_AT_siblings : <0x673>
<0x668>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x11b): this
DW_AT_type : <0x473>
DW_AT_artificial : 1
<0x672>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x673>: Abbrev Number: 34 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x65a>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x22b): _ZN6MammalC2Ev
DW_AT_object_pointer : <0x693>
DW_AT_low_pc : 0x12c6
DW_AT_high_pc : 0x12e3
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
<0x693>: Abbrev Number: 32 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x668>
DW_AT_location : 2 byte block: 0x91 0x68
<0x69b>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x69c>: Abbrev Number: 0 (DW_TAG_null_entry)
Contents of the .debug_aranges section:
Address Range Set
Unit Length: 0x3c
64bit: false
Version: 2
Offset in .debug_info: 0x0
Address Size: 8
Segment Size: 0
Ranges:
address length
0x000000000000118a 0x000000000000009e
0x0000000000001228 0x0000000000000013
0x0000000000000000 0x0000000000000000
Address Range Set
Unit Length: 0xbc
64bit: false
Version: 2
Offset in .debug_info: 0x22e
Address Size: 8
Segment Size: 0
Ranges:
address length
0x000000000000123b 0x000000000000008b
0x00000000000012c6 0x000000000000001d
0x00000000000012e4 0x000000000000002d
0x0000000000001312 0x000000000000002d
0x0000000000001340 0x000000000000002f
0x0000000000001370 0x0000000000000013
0x0000000000001384 0x000000000000001d
0x00000000000013a2 0x000000000000001d
0x00000000000013c0 0x000000000000002f
0x00000000000013f0 0x0000000000000013
0x0000000000000000 0x0000000000000000
Raw dump of debug contents of section .debug_line:
Header information:
Length: 125
DWARF Version: 3
Header Length: 45
Minimum Instruction Length: 1
Maximum Operations per Instruction: 0
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
Opcodes:
Opcode 1 has 0 arg
Opcode 2 has 1 arg
Opcode 3 has 1 arg
Opcode 4 has 1 arg
Opcode 5 has 1 arg
Opcode 6 has 0 arg
Opcode 7 has 0 arg
Opcode 8 has 0 arg
Opcode 9 has 1 arg
Opcode 10 has 0 arg
Opcode 11 has 0 arg
Opcode 12 has 1 arg
The File Name Table:
Entry Dir Time Size Name
1 0 0 0 mammal.cpp
2 0 0 0 mammal.h
Line Number Statements:
Set column to 3
Extended opcode 2: set Address to 0x118a
Special opcode 7: advance Address by 0 to 0x118a and Line by 2 to 3
Set column to 19
Special opcode 173: advance Address by 12 to 0x1196 and Line by 0 to 3
Set column to 22
Special opcode 201: advance Address by 14 to 0x11a4 and Line by 0 to 3
Set column to 3
Special opcode 61: advance Address by 4 to 0x11a8 and Line by 0 to 3
Set column to 22
Special opcode 229: advance Address by 16 to 0x11b8 and Line by 0 to 3
Advance PC by constant 17 to 0x11c9
Special opcode 216: advance Address by 15 to 0x11d8 and Line by 1 to 4
Set column to 31
Special opcode 173: advance Address by 12 to 0x11e4 and Line by 0 to 4
Set column to 34
Special opcode 75: advance Address by 5 to 0x11e9 and Line by 0 to 4
Set column to 12
Special opcode 39: advance Address by 2 to 0x11eb and Line by 6 to 10
Special opcode 173: advance Address by 12 to 0x11f7 and Line by 0 to 10
Set column to 23
Special opcode 217: advance Address by 15 to 0x1206 and Line by 2 to 12
Set column to 1
Special opcode 174: advance Address by 12 to 0x1212 and Line by 1 to 13
Advance PC by 22 to 0x1228
Extended opcode 1: End of Sequence
Set column to 6
Extended opcode 2: set Address to 0x1228
Special opcode 11: advance Address by 0 to 0x1228 and Line by 6 to 7
Set column to 26
Special opcode 173: advance Address by 12 to 0x1234 and Line by 0 to 7
Set column to 28
Special opcode 75: advance Address by 5 to 0x1239 and Line by 0 to 7
Advance PC by 2 to 0x123b
Extended opcode 1: End of Sequence
Header information:
Length: 361
DWARF Version: 3
Header Length: 43
Minimum Instruction Length: 1
Maximum Operations per Instruction: 0
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
Opcodes:
Opcode 1 has 0 arg
Opcode 2 has 1 arg
Opcode 3 has 1 arg
Opcode 4 has 1 arg
Opcode 5 has 1 arg
Opcode 6 has 0 arg
Opcode 7 has 0 arg
Opcode 8 has 0 arg
Opcode 9 has 1 arg
Opcode 10 has 0 arg
Opcode 11 has 0 arg
Opcode 12 has 1 arg
The File Name Table:
Entry Dir Time Size Name
1 0 0 0 mammal.h
2 0 0 0 main.cpp
Line Number Statements:
Set column to 3
Extended opcode 2: set Address to 0x12c6
Special opcode 6: advance Address by 0 to 0x12c6 and Line by 1 to 2
Set column to 12
Special opcode 173: advance Address by 12 to 0x12d2 and Line by 0 to 2
Set column to 15
Special opcode 201: advance Address by 14 to 0x12e0 and Line by 0 to 2
Advance PC by 3 to 0x12e3
Extended opcode 1: End of Sequence
Set file to 2
Set column to 3
Extended opcode 2: set Address to 0x12e4
Special opcode 8: advance Address by 0 to 0x12e4 and Line by 3 to 4
Set column to 9
Special opcode 229: advance Address by 16 to 0x12f4 and Line by 0 to 4
Set column to 12
Advance PC by constant 17 to 0x1305
Special opcode 131: advance Address by 9 to 0x130e and Line by 0 to 4
Advance PC by 3 to 0x1311
Extended opcode 1: End of Sequence
Set file to 2
Set column to 11
Extended opcode 2: set Address to 0x1312
Special opcode 9: advance Address by 0 to 0x1312 and Line by 4 to 5
Set column to 18
Special opcode 229: advance Address by 16 to 0x1322 and Line by 0 to 5
Set column to 19
Advance PC by constant 17 to 0x1333
Special opcode 131: advance Address by 9 to 0x133c and Line by 0 to 5
Advance PC by 3 to 0x133f
Extended opcode 1: End of Sequence
Set file to 2
Set column to 11
Extended opcode 2: set Address to 0x1340
Special opcode 9: advance Address by 0 to 0x1340 and Line by 4 to 5
Set column to 19
Special opcode 229: advance Address by 16 to 0x1350 and Line by 0 to 5
Advance PC by 31 to 0x136f
Extended opcode 1: End of Sequence
Set file to 2
Set column to 15
Extended opcode 2: set Address to 0x1370
Special opcode 10: advance Address by 0 to 0x1370 and Line by 5 to 6
Set column to 31
Special opcode 173: advance Address by 12 to 0x137c and Line by 0 to 6
Set column to 34
Special opcode 75: advance Address by 5 to 0x1381 and Line by 0 to 6
Advance PC by 2 to 0x1383
Extended opcode 1: End of Sequence
Set file to 2
Set column to 3
Extended opcode 2: set Address to 0x1384
Advance line by 9, to 10
Copy
Set column to 10
Special opcode 173: advance Address by 12 to 0x1390 and Line by 0 to 10
Set column to 13
Special opcode 201: advance Address by 14 to 0x139e and Line by 0 to 10
Advance PC by 3 to 0x13a1
Extended opcode 1: End of Sequence
Set file to 2
Set column to 11
Extended opcode 2: set Address to 0x13a2
Advance line by 10, to 11
Copy
Set column to 19
Special opcode 173: advance Address by 12 to 0x13ae and Line by 0 to 11
Set column to 20
Special opcode 201: advance Address by 14 to 0x13bc and Line by 0 to 11
Advance PC by 3 to 0x13bf
Extended opcode 1: End of Sequence
Set file to 2
Set column to 11
Extended opcode 2: set Address to 0x13c0
Advance line by 10, to 11
Copy
Set column to 20
Special opcode 229: advance Address by 16 to 0x13d0 and Line by 0 to 11
Advance PC by 31 to 0x13ef
Extended opcode 1: End of Sequence
Set file to 2
Set column to 15
Extended opcode 2: set Address to 0x13f0
Advance line by 11, to 12
Copy
Set column to 30
Special opcode 173: advance Address by 12 to 0x13fc and Line by 0 to 12
Set column to 33
Special opcode 75: advance Address by 5 to 0x1401 and Line by 0 to 12
Advance PC by 2 to 0x1403
Extended opcode 1: End of Sequence
Set file to 2
Set column to 12
Extended opcode 2: set Address to 0x123b
Advance line by 14, to 15
Copy
Set column to 16
Special opcode 190: advance Address by 13 to 0x1248 and Line by 3 to 18
Set column to 5
Advance PC by constant 17 to 0x1259
Special opcode 61: advance Address by 4 to 0x125d and Line by 0 to 18
Set column to 15
Special opcode 62: advance Address by 4 to 0x1261 and Line by 1 to 19
Set column to 5
Advance PC by constant 17 to 0x1272
Special opcode 61: advance Address by 4 to 0x1276 and Line by 0 to 19
Set column to 7
Special opcode 62: advance Address by 4 to 0x127a and Line by 1 to 20
Set column to 20
Special opcode 104: advance Address by 7 to 0x1281 and Line by 1 to 21
Set column to 19
Special opcode 201: advance Address by 14 to 0x128f and Line by 0 to 21
Set column to 10
Special opcode 131: advance Address by 9 to 0x1298 and Line by 0 to 21
Set column to 21
Special opcode 48: advance Address by 3 to 0x129b and Line by 1 to 22
Set column to 20
Special opcode 201: advance Address by 14 to 0x12a9 and Line by 0 to 22
Set column to 10
Special opcode 131: advance Address by 9 to 0x12b2 and Line by 0 to 22
Set column to 23
Special opcode 48: advance Address by 3 to 0x12b5 and Line by 1 to 23
Set column to 24
Special opcode 75: advance Address by 5 to 0x12ba and Line by 0 to 23
Set column to 1
Special opcode 76: advance Address by 5 to 0x12bf and Line by 1 to 24
Advance PC by 7 to 0x12c6
Extended opcode 1: End of Sequence
0x0000118a /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 3
0x00001196 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 3
0x000011a4 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 3
0x000011a8 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 3
0x000011b8 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 3
0x000011d8 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 4
0x000011e4 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 4
0x000011e9 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 4
0x000011eb /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 10
0x000011f7 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 10
0x00001206 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 12
0x00001212 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 13
0x00001228 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 7
0x00001234 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 7
0x00001239 /home/hound/r2test/dwarf/cpp/dump/mammal.cpp 7
0x0000123b /home/hound/r2test/dwarf/cpp/dump/main.cpp 15
0x00001248 /home/hound/r2test/dwarf/cpp/dump/main.cpp 18
0x0000125d /home/hound/r2test/dwarf/cpp/dump/main.cpp 18
0x00001261 /home/hound/r2test/dwarf/cpp/dump/main.cpp 19
0x00001276 /home/hound/r2test/dwarf/cpp/dump/main.cpp 19
0x0000127a /home/hound/r2test/dwarf/cpp/dump/main.cpp 20
0x00001281 /home/hound/r2test/dwarf/cpp/dump/main.cpp 21
0x0000128f /home/hound/r2test/dwarf/cpp/dump/main.cpp 21
0x00001298 /home/hound/r2test/dwarf/cpp/dump/main.cpp 21
0x0000129b /home/hound/r2test/dwarf/cpp/dump/main.cpp 22
0x000012a9 /home/hound/r2test/dwarf/cpp/dump/main.cpp 22
0x000012b2 /home/hound/r2test/dwarf/cpp/dump/main.cpp 22
0x000012b5 /home/hound/r2test/dwarf/cpp/dump/main.cpp 23
0x000012ba /home/hound/r2test/dwarf/cpp/dump/main.cpp 23
0x000012bf /home/hound/r2test/dwarf/cpp/dump/main.cpp 24
0x000012c6 /home/hound/r2test/dwarf/cpp/dump/mammal.h 2
0x000012d2 /home/hound/r2test/dwarf/cpp/dump/mammal.h 2
0x000012e0 /home/hound/r2test/dwarf/cpp/dump/mammal.h 2
0x000012e3 - -
0x000012e4 /home/hound/r2test/dwarf/cpp/dump/main.cpp 4
0x000012f4 /home/hound/r2test/dwarf/cpp/dump/main.cpp 4
0x0000130e /home/hound/r2test/dwarf/cpp/dump/main.cpp 4
0x00001311 - -
0x00001312 /home/hound/r2test/dwarf/cpp/dump/main.cpp 5
0x00001322 /home/hound/r2test/dwarf/cpp/dump/main.cpp 5
0x0000133c /home/hound/r2test/dwarf/cpp/dump/main.cpp 5
0x0000133f - -
0x00001340 /home/hound/r2test/dwarf/cpp/dump/main.cpp 5
0x00001350 /home/hound/r2test/dwarf/cpp/dump/main.cpp 5
0x0000136f - -
0x00001370 /home/hound/r2test/dwarf/cpp/dump/main.cpp 6
0x0000137c /home/hound/r2test/dwarf/cpp/dump/main.cpp 6
0x00001381 /home/hound/r2test/dwarf/cpp/dump/main.cpp 6
0x00001383 - -
0x00001384 /home/hound/r2test/dwarf/cpp/dump/main.cpp 10
0x00001390 /home/hound/r2test/dwarf/cpp/dump/main.cpp 10
0x0000139e /home/hound/r2test/dwarf/cpp/dump/main.cpp 10
0x000013a1 - -
0x000013a2 /home/hound/r2test/dwarf/cpp/dump/main.cpp 11
0x000013ae /home/hound/r2test/dwarf/cpp/dump/main.cpp 11
0x000013bc /home/hound/r2test/dwarf/cpp/dump/main.cpp 11
0x000013bf - -
0x000013c0 /home/hound/r2test/dwarf/cpp/dump/main.cpp 11
0x000013d0 /home/hound/r2test/dwarf/cpp/dump/main.cpp 11
0x000013ef - -
0x000013f0 /home/hound/r2test/dwarf/cpp/dump/main.cpp 12
0x000013fc /home/hound/r2test/dwarf/cpp/dump/main.cpp 12
0x00001401 /home/hound/r2test/dwarf/cpp/dump/main.cpp 12
0x00001403 - -
EOF
RUN
NAME="pdf dwarf invalid main for analysis not found (aa)"
FILE=bins/src/dwarftest
CMDS=<<EOF
e asm.bytes=true
e asm.dwarf=true
e analysis.nopskip=true # if set to true it breaks the test
aa
pd 1 @ main
EOF
EXPECT=<<EOF
; DATA XREF from entry0 @ 0x40045d
/ int main (int argc, char **argv, char **envp);
| ; var int64_t var_4h @ rbp-0x4
| 0x0040052d 55 push rbp ; dwarftest.c:4
EOF
RUN
NAME="Mach-O dSYM lines (armv7)"
FILE=bins/mach0/TestRTTI-armv7-dSYM
CMDS=ix.@ 0x0000a24e
EXPECT=<<EOF
0x0000a24e /Users/ftamagni/src/TestRTTI/TestRTTI//TestRTTI.cpp 18
EOF
RUN
NAME="function info integration c++"
BROKEN=1
FILE=bins/elf/dwarf3_many_comp_units.elf
CMDS=<<EOF
e asm.bytes=true
e asm.dwarf=false
aaa
pd 13 @ main
EOF
EXPECT=<<EOF
; DATA XREF from entry0 @ 0x10c1
;-- main:
/ int dbg.main (int argc, char **argv, char **envp);
| ; var int output @ rbp-0x24
| ; var Bird *b @ rbp-0x20
| ; var Mammal *m @ rbp-0x18
| 0x0000123b f30f1efa endbr64 ; int main();
| 0x0000123f 55 push rbp
| 0x00001240 4889e5 mov rbp, rsp
| 0x00001243 53 push rbx
| 0x00001244 4883ec28 sub rsp, 0x28
| 0x00001248 bf08000000 mov edi, 8
| 0x0000124d e81efeffff call sym.imp.operator_new_unsigned_long
| 0x00001252 4889c3 mov rbx, rax
| 0x00001255 4889df mov rdi, rbx
| 0x00001258 e827010000 call method Bird::Bird() ; dbg.Bird::Bird()
| 0x0000125d 48895de0 mov qword [b], rbx
| 0x00001261 bf08000000 mov edi, 8
| 0x00001266 e805feffff call sym.imp.operator_new_unsigned_long
EOF
RUN
NAME="function info integration 1 rust"
BROKEN=1
FILE=bins/elf/dwarf_rust_bubble
CMDS=<<EOF
e asm.bytes=true
e asm.dwarf=false
aaa
pd 75 @ dbg.main
EOF
EXPECT=<<EOF
; DATA XREF from main @ 0x5b0d
;-- rust::main::h523dcf5432fcfd88:
/ int dbg.main (int argc, char **argv);
| ; var int64_t var_8h @ rsp+0x8
| ; var int64_t var_10h @ rsp+0x10
| ; var int64_t var_18h @ rsp+0x18
| ; var int64_t var_20h @ rsp+0x20
| ; var int64_t var_28h @ rsp+0x28
| ; var int64_t var_30h @ rsp+0x30
| ; var int64_t var_38h @ rsp+0x38
| ; var int64_t var_40h @ rsp+0x40
| ; var int64_t var_48h @ rsp+0x48
| ; var int64_t var_50h @ rsp+0x50
| ; var int64_t var_58h @ rsp+0x58
| ; var int64_t var_60h @ rsp+0x60
| ; var int64_t var_68h @ rsp+0x68
| ; var int64_t var_70h @ rsp+0x70
| ; var int64_t var_78h @ rsp+0x78
| ; var i32[11] numbers @ rsp+0x80
| ; var int64_t var_84h @ rsp+0x84
| ; var int64_t var_88h @ rsp+0x88
| ; var int64_t var_8ch @ rsp+0x8c
| ; var int64_t var_90h @ rsp+0x90
| ; var int64_t var_94h @ rsp+0x94
| ; var int64_t var_98h @ rsp+0x98
| ; var int64_t var_9ch @ rsp+0x9c
| ; var int64_t var_a0h @ rsp+0xa0
| ; var int64_t var_a4h @ rsp+0xa4
| ; var int64_t var_a8h @ rsp+0xa8
| ; var int64_t var_d8h @ rsp+0xd8
| ; var int64_t var_e0h @ rsp+0xe0
| ; var int64_t var_e8h @ rsp+0xe8
| ; var int64_t var_f0h @ rsp+0xf0
| ; var int64_t var_120h @ rsp+0x120
| ; var int64_t var_128h @ rsp+0x128
| ; var int64_t var_130h @ rsp+0x130
| ; var &str[6] strings @ rsp+0x138
| ; var int64_t var_140h @ rsp+0x140
| ; var int64_t var_148h @ rsp+0x148
| ; var int64_t var_150h @ rsp+0x150
| ; var int64_t var_158h @ rsp+0x158
| ; var int64_t var_160h @ rsp+0x160
| ; var int64_t var_168h @ rsp+0x168
| ; var int64_t var_170h @ rsp+0x170
| ; var int64_t var_178h @ rsp+0x178
| ; var int64_t var_180h @ rsp+0x180
| ; var int64_t var_188h @ rsp+0x188
| ; var int64_t var_1b8h @ rsp+0x1b8
| ; var int64_t var_1c0h @ rsp+0x1c0
| ; var int64_t var_1c8h @ rsp+0x1c8
| ; var int64_t var_1d0h @ rsp+0x1d0
| ; var int64_t var_200h @ rsp+0x200
| ; var int64_t var_208h @ rsp+0x208
| ; var int64_t var_210h @ rsp+0x210
| ; var int64_t var_218h @ rsp+0x218
| ; var int64_t var_220h @ rsp+0x220
| ; var int64_t var_228h @ rsp+0x228
| ; var &str[6] *arg0 @ rsp+0x230
| 0x00005750 4881ec380200. sub rsp, 0x238 ; void main();
| 0x00005757 c78424800000. mov dword [numbers], 8
| 0x00005762 c78424840000. mov dword [var_84h], 7
| 0x0000576d c78424880000. mov dword [var_88h], 1
| 0x00005778 c784248c0000. mov dword [var_8ch], 2
| 0x00005783 c78424900000. mov dword [var_90h], 9
| 0x0000578e c78424940000. mov dword [var_94h], 3
| 0x00005799 c78424980000. mov dword [var_98h], 4
| 0x000057a4 c784249c0000. mov dword [var_9ch], 5
| 0x000057af c78424a00000. mov dword [var_a0h], 0
| 0x000057ba c78424a40000. mov dword [var_a4h], 6
| 0x000057c5 488b05842b03. mov rax, qword [0x00038350] ; [0x38350:8]=0x38330
| 0x000057cc 488d8c248000. lea rcx, [numbers]
| 0x000057d4 48898c24e800. mov qword [var_e8h], rcx
| 0x000057dc 488b8c24e800. mov rcx, qword [var_e8h]
| 0x000057e4 48898c241802. mov qword [var_218h], rcx
| 0x000057ec 4889cf mov rdi, rcx ; int64_t arg1
| 0x000057ef 488d35da0f00. lea rsi, [sym.core::array::__impl_core::fmt::Debug_for__T_____::fmt::h894a83bd2e78b654] ; 0x67d0 ; "H\x83\xecHH\x89|$8H\x89t$@\xb8\n" ; int64_t arg2
| 0x000057f6 4889442478 mov qword [var_78h], rax
| 0x000057fb e8501b0000 call sym core::fmt::ArgumentV1::new::h4b3dd9450748c5fc ; dbg.new<[i32; 10]>
| 0x00005800 4889442470 mov qword [var_70h], rax
| 0x00005805 4889542468 mov qword [var_68h], rdx
| 0x0000580a 488b442470 mov rax, qword [var_70h]
| 0x0000580f 48898424d800. mov qword [var_d8h], rax
| 0x00005817 488b4c2468 mov rcx, qword [var_68h]
| 0x0000581c 48898c24e000. mov qword [var_e0h], rcx
| 0x00005824 488d9424d800. lea rdx, [var_d8h]
| 0x0000582c 488dbc24a800. lea rdi, [var_a8h] ; int64_t arg1
| 0x00005834 488b742478 mov rsi, qword [var_78h] ; int64_t arg2
| 0x00005839 41b802000000 mov r8d, 2
| 0x0000583f 4889542460 mov qword [var_60h], rdx
| 0x00005844 4c89c2 mov rdx, r8 ; int64_t arg3
| 0x00005847 488b4c2460 mov rcx, qword [var_60h] ; int64_t arg4
| 0x0000584c 41b801000000 mov r8d, 1 ; int64_t arg5
| 0x00005852 e8591b0000 call sym core::fmt::Arguments::new_v1::h2673b5bf555c0288 ; dbg.new_v1
| 0x00005857 488dbc24a800. lea rdi, [var_a8h]
| 0x0000585f ff15b3430300 call qword [dbg._print] ; [0x39c18:8]=0xa2d0 dbg._print
| 0x00005865 488d84248000. lea rax, [numbers]
| 0x0000586d 4889c7 mov rdi, rax
| 0x00005870 be0a000000 mov esi, 0xa
| 0x00005875 e8f6f9ffff call sym rust::bubble_sort::h0777bc845caabc60 ; dbg.bubble_sort<i32>
| 0x0000587a 488b05f72a03. mov rax, qword [0x00038378] ; [0x38378:8]=0x38358
| 0x00005881 488d8c248000. lea rcx, [numbers]
| 0x00005889 48898c243001. mov qword [var_130h], rcx
| 0x00005891 488b8c243001. mov rcx, qword [var_130h]
| 0x00005899 48898c242002. mov qword [var_220h], rcx
| 0x000058a1 4889cf mov rdi, rcx ; int64_t arg1
| 0x000058a4 488d35250f00. lea rsi, [sym.core::array::__impl_core::fmt::Debug_for__T_____::fmt::h894a83bd2e78b654] ; 0x67d0 ; "H\x83\xecHH\x89|$8H\x89t$@\xb8\n" ; int64_t arg2
| 0x000058ab 4889442458 mov qword [var_58h], rax
| 0x000058b0 e89b1a0000 call sym core::fmt::ArgumentV1::new::h4b3dd9450748c5fc ; dbg.new<[i32; 10]>
| 0x000058b5 4889442450 mov qword [var_50h], rax
| 0x000058ba 4889542448 mov qword [var_48h], rdx
| 0x000058bf 488b442450 mov rax, qword [var_50h]
| 0x000058c4 488984242001. mov qword [var_120h], rax
| 0x000058cc 488b4c2448 mov rcx, qword [var_48h]
| 0x000058d1 48898c242801. mov qword [var_128h], rcx
| 0x000058d9 488d94242001. lea rdx, [var_120h]
| 0x000058e1 488dbc24f000. lea rdi, [var_f0h] ; int64_t arg1
| 0x000058e9 488b742458 mov rsi, qword [var_58h] ; int64_t arg2
| 0x000058ee 41b802000000 mov r8d, 2
| 0x000058f4 4889542440 mov qword [var_40h], rdx
| 0x000058f9 4c89c2 mov rdx, r8 ; int64_t arg3
| 0x000058fc 488b4c2440 mov rcx, qword [var_40h] ; int64_t arg4
| 0x00005901 41b801000000 mov r8d, 1 ; int64_t arg5
| 0x00005907 e8a41a0000 call sym core::fmt::Arguments::new_v1::h2673b5bf555c0288 ; dbg.new_v1
| 0x0000590c 488dbc24f000. lea rdi, [var_f0h]
| 0x00005914 ff15fe420300 call qword [dbg._print] ; [0x39c18:8]=0xa2d0 dbg._print
| 0x0000591a 488d052b4702. lea rax, [0x0002a04c] ; "dealempty/usr/src/rustc-1.43.0/src/libcore/slice/mod.rscalled `Option::unwrap()` on a `None` valuesrc/libstd/env.rsfailed to ge"
| 0x00005921 488d0d214702. lea rcx, [0x0002a049] ; "cardealempty/usr/src/rustc-1.43.0/src/libcore/slice/mod.rscalled `Option::unwrap()` on a `None` valuesrc/libstd/env.rsfailed to"
| 0x00005928 488d15174702. lea rdx, [0x0002a046] ; "artcardealempty/usr/src/rustc-1.43.0/src/libcore/slice/mod.rscalled `Option::unwrap()` on a `None` valuesrc/libstd/env.rsfailed"
| 0x0000592f 488d350b4702. lea rsi, [0x0002a041] ; "beachartcardealempty/usr/src/rustc-1.43.0/src/libcore/slice/mod.rscalled `Option::unwrap()` on a `None` valuesrc/libstd/env.rsf"
| 0x00005936 488d3d134702. lea rdi, [0x0002a050] ; "empty/usr/src/rustc-1.43.0/src/libcore/slice/mod.rscalled `Option::unwrap()` on a `None` valuesrc/libstd/env.rsfailed to get en"
| 0x0000593d 4889bc243801. mov qword [strings], rdi
| 0x00005945 48c784244001. mov qword [var_140h], 5
| 0x00005951 4889b4244801. mov qword [var_148h], rsi
EOF
RUN
NAME="function info integration 2 rust"
BROKEN=1
FILE=bins/elf/dwarf_rust_bubble
CMDS=<<EOF
e asm.bytes=true
e asm.dwarf=false
aaa
pd 40 @ dbg.bubble_sort_i32
EOF
EXPECT=<<EOF
; CALL XREF from rust::main::h523dcf5432fcfd88 @ 0x5875 ; dbg.main
;-- rust::bubble_sort::h0777bc845caabc60:
;-- dbg.bubble_sort_i32:
/ dbg.bubble_sort<i32> (int64_t arg1, int64_t arg2);
| ; var int64_t var_fh @ rsp+0xf
| ; var int64_t var_10h @ rsp+0x10
| ; var int64_t var_18h @ rsp+0x18
| ; var int64_t var_20h @ rsp+0x20
| ; var int64_t var_28h @ rsp+0x28
| ; var int64_t var_30h @ rsp+0x30
| ; var int64_t var_38h @ rsp+0x38
| ; var int64_t var_40h @ rsp+0x40
| ; var int64_t var_48h @ rsp+0x48
| ; var usize n @ rsp+0x50
| ; var bool swapped @ rsp+0x5f
| ; var int64_t var_60h @ rsp+0x60
| ; var int64_t var_68h @ rsp+0x68
| ; var Range<usize> iter @ rsp+0x70
| ; var int64_t var_80h @ rsp+0x80
| ; var int64_t var_88h @ rsp+0x88
| ; var &mut [i32] values @ rsp+0x90
| ; var usize val @ rsp+0xa0
| ; var usize __next @ rsp+0xa8
| ; var usize i @ rsp+0xb0
| ; arg int64_t arg1 @ rdi
| ; arg int64_t arg2 @ rsi
| 0x00005270 4881ecb80000. sub rsp, 0xb8 ; void bubble_sort<i32>(&mut [i32] values);
| 0x00005277 4889bc249000. mov qword [values.data_ptr], rdi ; arg1
| 0x0000527f 4889b4249800. mov qword [rsp + 0x98], rsi ; arg2
| 0x00005287 48897c2448 mov qword [var_48h], rdi ; arg1
| 0x0000528c 4889742440 mov qword [var_40h], rsi ; arg2
| ; DATA XREF from core::fmt::builders::DebugTuple::finish::hfbbe40c195c334d6 @ 0x28b56
| 0x00005291 e8ea090000 call sym core::slice::_<impl [T]>::len::hbaf7153778228b73 ; dbg.len<i32>
| 0x00005296 4889442450 mov qword [n], rax
| 0x0000529b c644245f01 mov byte [swapped], 1
| ; CODE XREF from rust::bubble_sort::h0777bc845caabc60 @ 0x5441
| 0x000052a0 f644245f01 test byte [swapped], 1
| ,=< 0x000052a5 7508 jne 0x52af
| | 0x000052a7 4881c4b80000. add rsp, 0xb8
| | 0x000052ae c3 ret
| | ; CODE XREF from rust::bubble_sort::h0777bc845caabc60 @ 0x52a5
| `-> 0x000052af c644245f00 mov byte [swapped], 0
| 0x000052b4 488b442450 mov rax, qword [n]
| 0x000052b9 48c744246001. mov qword [var_60h], 1
| 0x000052c2 4889442468 mov qword [var_68h], rax
| 0x000052c7 488b7c2460 mov rdi, qword [var_60h] ; int64_t arg1
| 0x000052cc 488b742468 mov rsi, qword [var_68h] ; int64_t arg2
| 0x000052d1 e83a140000 call sym <I as core::iter::traits::collect::IntoIterator>::into_iter::h12f1e7995fb38cf5 ; dbg.into_iter<core::ops::range::Range<usize>>
| 0x000052d6 4889442438 mov qword [var_38h], rax
| 0x000052db 4889542430 mov qword [var_30h], rdx
| 0x000052e0 488b442438 mov rax, qword [var_38h]
| 0x000052e5 4889442470 mov qword [iter.start], rax
| 0x000052ea 488b4c2430 mov rcx, qword [var_30h]
| 0x000052ef 48894c2478 mov qword [rsp + 0x78], rcx
| ; CODE XREF from rust::bubble_sort::h0777bc845caabc60 @ 0x5432
| 0x000052f4 488d7c2470 lea rdi, [iter.start] ; int64_t arg1
| 0x000052f9 e812130000 call sym core::iter::range::_<impl core::iter::traits::iterator::Iterator for core::ops::range::Range<A>>::next::h707e8283b20ce50a ; dbg.next<usize>
| 0x000052fe 488994248800. mov qword [var_88h], rdx
| 0x00005306 488984248000. mov qword [var_80h], rax
| 0x0000530e 488b84248000. mov rax, qword [var_80h]
| 0x00005316 4885c0 test rax, rax
| ,=< 0x00005319 7404 je 0x531f
| ,==< 0x0000531b eb00 jmp 0x531d
| || ; CODE XREF from rust::bubble_sort::h0777bc845caabc60 @ 0x531b
| ,`--> 0x0000531d eb23 jmp 0x5342
| | | ; CODE XREF from rust::bubble_sort::h0777bc845caabc60 @ 0x5319
| | `-> 0x0000531f 488b442450 mov rax, qword [n]
| | 0x00005324 482d01000000 sub rax, 1
| | 0x0000532a 0f92c1 setb cl
| | 0x0000532d f6c101 test cl, 1
| | 0x00005330 4889442428 mov qword [var_28h], rax
| | ,=< 0x00005335 0f857f010000 jne 0x54ba
EOF
RUN
NAME="big endian variable info"
BROKEN=1
FILE=bins/elf/ppc64_sudoku_dwarf
CMDS=<<EOF
e asm.bytes=true
e asm.dwarf=false
aaa
pdf @ dbg.init
EOF
EXPECT=<<EOF
; CALL XREF from dbg.main @ 0x10001ae8
;-- Grid::init():
;-- method.Grid.init:
/ dbg.init (Grid * const this);
| ; arg Grid * const this @ r3
| 0x100012bc 39030144 addi r8, r3, 0x144 ; arg1 ; void init(Grid * const this);
| 0x100012c0 38e30168 addi r7, r3, 0x168 ; arg1
| 0x100012c4 39400000 li r10, 0
| ; CODE XREF from Grid::init() @ 0x100012e8
| .-> 0x100012c8 3928febc addi r9, r8, 0xfebc
| : 0x100012cc 38c00009 li r6, 9
| : 0x100012d0 7cc903a6 mtctr r6
| : ; CODE XREF from Grid::init() @ 0x100012dc
| .--> 0x100012d4 91490000 stw r10, 0(r9)
| :: 0x100012d8 39290024 addi r9, r9, 0x24
| `==< 0x100012dc 4200fff8 bdnz 0x100012d4
| : 0x100012e0 39080004 addi r8, r8, 4
| : 0x100012e4 7c283840 cmpld r8, r7
| `=< 0x100012e8 4082ffe0 bne 0x100012c8
| 0x100012ec 39200000 li r9, 0
| 0x100012f0 91230144 stw r9, 0x144(r3) ; arg1
| 0x100012f4 91230148 stw r9, 0x148(r3) ; arg1
\ 0x100012f8 4e800020 blr
EOF
RUN
NAME="function info integration ada"
BROKEN=1
FILE=bins/elf/ada_test_dwarf
CMDS=<<EOF
e asm.bytes=true
e asm.dwarf=false
aaa
pdf @ dbg.main
EOF
EXPECT=<<EOF
; DATA XREF from entry0 @ 0x2271
;-- main:
/ int dbg.main (int argc, char **argv, char **envp);
| ; var char **var_28h @ rbp-0x28
| ; var char **var_20h @ rbp-0x20
| ; var int var_14h @ rbp-0x14
| ; var system__address ensure_reference @ rbp-0x10
| ; var ada_main__main__seh___PAD seh @ rbp-0x8
| ; arg int argc @ rdi
| ; arg char **argv @ rsi
| ; arg char **envp @ rdx
| 0x00002742 55 push rbp ; integer main(integer const argc,void * const argv,void * const envp);
| 0x00002743 4889e5 mov rbp, rsp
| 0x00002746 4883ec30 sub rsp, 0x30
| 0x0000274a 897dec mov dword [var_14h], edi ; argc
| 0x0000274d 488975e0 mov qword [var_20h], rsi ; argv
| 0x00002751 488955d8 mov qword [var_28h], rdx ; envp
| 0x00002755 488d05dc0800. lea rax, obj.__gnat_ada_main_program_name ; 0x3038 ; "_ada_ada_test"
| 0x0000275c 488945f0 mov qword [ensure_reference], rax
| 0x00002760 8b45ec mov eax, dword [var_14h]
| 0x00002763 8905572a0000 mov dword [obj.gnat_argc], eax ; [0x51c0:4]=0
| 0x00002769 488b45e0 mov rax, qword [var_20h]
| 0x0000276d 488905b42900. mov qword [obj.gnat_argv], rax ; [0x5128:8]=0
| 0x00002774 488b45d8 mov rax, qword [var_28h]
| 0x00002778 488905112900. mov qword [obj.gnat_envp], rax ; [0x5090:8]=0
| 0x0000277f 488d45f8 lea rax, [seh.F]
| 0x00002783 4889c7 mov rdi, rax
| 0x00002786 e875f9ffff call sym.imp.__gnat_initialize
| 0x0000278b e8e8fcffff call dbg.adainit
| 0x00002790 e847000000 call dbg._ada_ada_test
| 0x00002795 e8b6fcffff call dbg.adafinal
| 0x0000279a e8d1f8ffff call sym.imp.__gnat_finalize
| 0x0000279f 8b054b290000 mov eax, dword [obj.gnat_exit_status] ; [0x50f0:4]=0
| 0x000027a5 c9 leave
\ 0x000027a6 c3 ret
EOF
RUN
NAME="function info integration freepascal"
FILE=bins/efi/freepascal_test_dwarf
CMDS=<<EOF
e analysis.jmp.cref=true
e asm.bytes=true
e asm.dwarf=false
aaa
pd 20 @ dbg.palya
EOF
EXPECT=<<EOF
; CALL XREFS from dbg.$main @ 0x405237, 0x40542d, 0x405ba3, 0x406e29
;-- unit p$mozgkigyo palya(smallint,smallint):
/ dbg.palya ();
| ; var int64_t var_28h @ rbp-0x28
| ; var int64_t var_20h @ rbp-0x20
| ; var SmallInt i @ rbp-0x14
| ; var SmallInt szel @ rbp-0x10
| ; var SmallInt mag @ rbp-0x8
| 0x00401980 55 push rbp ; void palya(SmallInt mag,SmallInt szel);
| 0x00401981 4889e5 mov rbp, rsp
| 0x00401984 488d6424d0 lea rsp, [rsp - 0x30]
| 0x00401989 48895dd8 mov qword [var_28h], rbx
| 0x0040198d 4c8965e0 mov qword [var_20h], r12
| 0x00401991 66897df8 mov word [mag], di
| 0x00401995 668975f0 mov word [szel], si
| 0x00401999 b801000000 mov eax, 1
| 0x0040199e bf01000000 mov edi, 1 ; int64_t arg2
| 0x004019a3 89c6 mov esi, eax ; int64_t arg_8h
| 0x004019a5 e8b6a10200 call sym unit crt gotoxy(tcrtcoord,tcrtcoord) ; sym.unit_crt_gotoxy_tcrtcoord_tcrtcoord
| 0x004019aa 66448b65f0 mov r12w, word [szel]
| 0x004019af 66c745ec0100 mov word [i], 1
| 0x004019b5 66443b65ec cmp r12w, word [i]
| ,=< 0x004019ba 7c45 jl 0x401a01
| | 0x004019bc 66816dec0100 sub word [i], 1
| | 0x004019c2 66666690 nop
| | 0x004019c6 6690 nop
| | ; CODE XREF from unit p$mozgkigyo palya(smallint,smallint) @ 0x4019ff
| | 0x004019c8 668145ec0100 add word [i], 1
| | 0x004019ce e82d280200 call sym.fpc_get_output
EOF
RUN
NAME=Invalid kind for DW_AT_name
FILE=bins/elf/dwarf3_c.elf.patched0
CMDS=<<EOF
aaa
id
EOF
EXPECT=<<EOF
1 DW_TAG_compile_unit [has children] (0x0)
DW_AT_producer DW_FORM_strp
DW_AT_language DW_FORM_data1
DW_AT_name DW_FORM_strp
DW_AT_comp_dir DW_FORM_strp
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_stmt_list DW_FORM_data4
2 DW_TAG_variable [no children] (0x13)
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_external DW_FORM_flag
DW_AT_location DW_FORM_block1
3 DW_TAG_base_type [no children] (0x26)
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT_name DW_FORM_data4
4 DW_TAG_subprogram [has children] (0x31)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_tail_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
5 DW_TAG_variable [no children] (0x4d)
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
6 DW_TAG_subprogram [has children] (0x5e)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
7 DW_TAG_variable [no children] (0x76)
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
Compilation Unit @ offset 0x0:
Length: 0xa9
Version: 3
Abbrev Offset: 0x0
Pointer Size: 8
<0xb>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_producer : (indirect string, offset: 0x0): GNU C17 9.3.0 -mtune=generic -march=x86-64 -gdwarf-3 -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection
DW_AT_language : 12 (C99)
DW_AT_name : (indirect string, offset: 0x94): main.c
DW_AT_comp_dir : (indirect string, offset: 0xa0): /home/hound/r2test/dwarf/c
DW_AT_low_pc : 0x1129
DW_AT_high_pc : 0x1156
DW_AT_stmt_list : 0
<0x2d>: Abbrev Number: 2 (DW_TAG_variable)
DW_AT_name : a
DW_AT_decl_file : 1
DW_AT_decl_line : 1
DW_AT_decl_column : 5
DW_AT_type : <0x42>
DW_AT_external : 1
DW_AT_location : 9 byte block: 0x03 0x14 0x40 0x00 0x00 0x00 0x00 0x00 0x00
<0x42>: Abbrev Number: 3 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 5
DW_AT_name : 7630441
<0x49>: Abbrev Number: 4 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x9b): main
DW_AT_decl_file : 1
DW_AT_decl_line : 7
DW_AT_decl_column : 5
DW_AT_type : <0x42>
DW_AT_low_pc : 0x1134
DW_AT_high_pc : 0x1156
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x7b>
<0x6d>: Abbrev Number: 5 (DW_TAG_variable)
DW_AT_name : i
DW_AT_decl_file : 1
DW_AT_decl_line : 9
DW_AT_decl_column : 6
DW_AT_type : <0x42>
DW_AT_location : 2 byte block: 0x91 0x6c
<0x7a>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x7b>: Abbrev Number: 6 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : foo
DW_AT_decl_file : 1
DW_AT_decl_line : 2
DW_AT_decl_column : 6
DW_AT_low_pc : 0x1129
DW_AT_high_pc : 0x1134
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
<0x97>: Abbrev Number: 7 (DW_TAG_variable)
DW_AT_name : b
DW_AT_decl_file : 1
DW_AT_decl_line : 4
DW_AT_decl_column : 15
DW_AT_type : <0x42>
<0xa1>: Abbrev Number: 7 (DW_TAG_variable)
DW_AT_name : c
DW_AT_decl_file : 1
DW_AT_decl_line : 5
DW_AT_decl_column : 6
DW_AT_type : <0x42>
<0xab>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xac>: Abbrev Number: 0 (DW_TAG_null_entry)
Contents of the .debug_aranges section:
Address Range Set
Unit Length: 0x2c
64bit: false
Version: 2
Offset in .debug_info: 0x0
Address Size: 8
Segment Size: 0
Ranges:
address length
0x0000000000001129 0x000000000000002d
0x0000000000000000 0x0000000000000000
Raw dump of debug contents of section .debug_line:
Header information:
Length: 70
DWARF Version: 3
Header Length: 29
Minimum Instruction Length: 1
Maximum Operations per Instruction: 0
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
Opcodes:
Opcode 1 has 0 arg
Opcode 2 has 1 arg
Opcode 3 has 1 arg
Opcode 4 has 1 arg
Opcode 5 has 1 arg
Opcode 6 has 0 arg
Opcode 7 has 0 arg
Opcode 8 has 0 arg
Opcode 9 has 1 arg
Opcode 10 has 0 arg
Opcode 11 has 0 arg
Opcode 12 has 1 arg
The File Name Table:
Entry Dir Time Size Name
1 0 0 0 main.c
Line Number Statements:
Set column to 1
Extended opcode 2: set Address to 0x1129
Special opcode 7: advance Address by 0 to 0x1129 and Line by 2 to 3
Special opcode 120: advance Address by 8 to 0x1131 and Line by 3 to 6
Set column to 12
Special opcode 48: advance Address by 3 to 0x1134 and Line by 1 to 7
Set column to 2
Special opcode 174: advance Address by 12 to 0x1140 and Line by 1 to 8
Set column to 6
Special opcode 146: advance Address by 10 to 0x114a and Line by 1 to 9
Set column to 9
Special opcode 104: advance Address by 7 to 0x1151 and Line by 1 to 10
Set column to 1
Special opcode 48: advance Address by 3 to 0x1154 and Line by 1 to 11
Advance PC by 2 to 0x1156
Extended opcode 1: End of Sequence
0x00001129 /home/hound/r2test/dwarf/c/main.c 3
0x00001131 /home/hound/r2test/dwarf/c/main.c 6
0x00001134 /home/hound/r2test/dwarf/c/main.c 7
0x00001140 /home/hound/r2test/dwarf/c/main.c 8
0x0000114a /home/hound/r2test/dwarf/c/main.c 9
0x00001151 /home/hound/r2test/dwarf/c/main.c 10
0x00001154 /home/hound/r2test/dwarf/c/main.c 11
0x00001156 - -
EOF
RUN
NAME=Infinite Recursion in Type References
FILE=bins/elf/dwarf3_cpp.elf.patched0
CMDS=<<EOF
aaa
id
EOF
EXPECT=<<EOF
1 DW_TAG_compile_unit [has children] (0x0)
DW_AT_producer DW_FORM_strp
DW_AT_language DW_FORM_data1
DW_AT_name DW_FORM_strp
DW_AT_comp_dir DW_FORM_strp
DW_AT_ranges DW_FORM_data4
DW_AT_low_pc DW_FORM_addr
DW_AT_entry_pc DW_FORM_addr
DW_AT_stmt_list DW_FORM_data4
2 DW_TAG_structure_type [has children] (0x15)
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
3 DW_TAG_subprogram [has children] (0x28)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_artificial DW_FORM_flag
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
4 DW_TAG_formal_parameter [no children] (0x3c)
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
5 DW_TAG_formal_parameter [no children] (0x45)
DW_AT_type DW_FORM_ref4
6 DW_TAG_member [no children] (0x4c)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_data1
DW_AT_artificial DW_FORM_flag
7 DW_TAG_subprogram [has children] (0x59)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
8 DW_TAG_subprogram [has children] (0x71)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_virtuality DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
9 DW_TAG_subprogram [has children] (0x8d)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_virtuality DW_FORM_data1
DW_AT_vtable_elem_location DW_FORM_block1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
10 DW_TAG_const_type [no children] (0xab)
DW_AT_type DW_FORM_ref4
11 DW_TAG_pointer_type [no children] (0xb2)
DW_AT_byte_size DW_FORM_data1
DW_AT_type DW_FORM_ref4
12 DW_TAG_reference_type [no children] (0xbb)
DW_AT_byte_size DW_FORM_data1
DW_AT_type DW_FORM_ref4
13 DW_TAG_subroutine_type [has children] (0xc4)
DW_AT_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
14 DW_TAG_unspecified_parameters [no children] (0xcd)
15 DW_TAG_base_type [no children] (0xd2)
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT_name DW_FORM_string
16 DW_TAG_pointer_type [no children] (0xdd)
DW_AT_byte_size DW_FORM_data1
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
17 DW_TAG_structure_type [has children] (0xe8)
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_containing_type DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
18 DW_TAG_inheritance [no children] (0xfb)
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_data1
19 DW_TAG_subprogram [has children] (0x104)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_artificial DW_FORM_flag
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
20 DW_TAG_subprogram [has children] (0x118)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
DW_AT_siblings DW_FORM_ref4
21 DW_TAG_subprogram [has children] (0x130)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_virtuality DW_FORM_data1
DW_AT_vtable_elem_location DW_FORM_block1
DW_AT_containing_type DW_FORM_ref4
DW_AT_declaration DW_FORM_flag
DW_AT_object_pointer DW_FORM_ref4
22 DW_TAG_subprogram [has children] (0x14e)
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_tail_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
23 DW_TAG_variable [no children] (0x16a)
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
24 DW_TAG_variable [no children] (0x17b)
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
25 DW_TAG_subprogram [has children] (0x18c)
DW_AT_specification DW_FORM_ref4
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
26 DW_TAG_formal_parameter [no children] (0x1a0)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
DW_AT_location DW_FORM_block1
27 DW_TAG_subprogram [has children] (0x1ad)
DW_AT_specification DW_FORM_ref4
DW_AT_object_pointer DW_FORM_ref4
DW_AT_inline DW_FORM_data1
DW_AT_siblings DW_FORM_ref4
28 DW_TAG_formal_parameter [no children] (0x1ba)
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_artificial DW_FORM_flag
29 DW_TAG_subprogram [has children] (0x1c5)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_tail_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
30 DW_TAG_formal_parameter [no children] (0x1dc)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_location DW_FORM_block1
31 DW_TAG_subprogram [has children] (0x1e5)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
DW_AT_siblings DW_FORM_ref4
32 DW_TAG_subprogram [has children] (0x1fc)
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_MIPS_linkage_name DW_FORM_strp
DW_AT_object_pointer DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
DW_AT_GNU_all_call_sites DW_FORM_flag
Compilation Unit @ offset 0x0:
Length: 0x5a4
Version: 3
Abbrev Offset: 0x0
Pointer Size: 8
<0xb>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_producer : (indirect string, offset: 0x155): GNU C++14 9.3.0 -mtune=generic -march=x86-64 -gdwarf-3 -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection
DW_AT_language : 4 (C++)
DW_AT_name : (indirect string, offset: 0x87): main.cpp
DW_AT_comp_dir : (indirect string, offset: 0x1f7): /home/hound/r2test/dwarf/cpp
DW_AT_ranges : 0
DW_AT_low_pc : 0x0
DW_AT_entry_pc : 0x0
DW_AT_stmt_list : 0
<0x31>: Abbrev Number: 2 (DW_TAG_structure_type)
DW_AT_name : (indirect string, offset: 0x12f): Bird
DW_AT_byte_size : 8
DW_AT_decl_file : 1
DW_AT_decl_line : 13
DW_AT_decl_column : 8
DW_AT_containing_type : <0x31>
DW_AT_siblings : <0xd8>
<0x42>: Abbrev Number: 3 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x12f): Bird
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x77): _ZN4BirdC4ERKS_
DW_AT_artificial : 1
DW_AT_declaration : 1
DW_AT_object_pointer : <0x56>
DW_AT_siblings : <0x62>
<0x56>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0xdd>
DW_AT_artificial : 1
<0x5c>: Abbrev Number: 5 (DW_TAG_formal_parameter)
DW_AT_type : <0xe8>
<0x61>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x62>: Abbrev Number: 6 (DW_TAG_member)
DW_AT_name : (indirect string, offset: 0x129): _vptr.Bird
DW_AT_type : <0x105>
DW_AT_data_member_location : 0
DW_AT_artificial : 1
<0x6d>: Abbrev Number: 7 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x12f): Bird
DW_AT_decl_file : 1
DW_AT_decl_line : 14
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x233): _ZN4BirdC4Ev
DW_AT_declaration : 1
DW_AT_object_pointer : <0x83>
DW_AT_siblings : <0x8a>
<0x83>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0xdd>
DW_AT_artificial : 1
<0x89>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x8a>: Abbrev Number: 8 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x22d): ~Bird
DW_AT_decl_file : 1
DW_AT_decl_line : 15
DW_AT_decl_column : 11
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xc8): _ZN4BirdD4Ev
DW_AT_virtuality : 1
DW_AT_containing_type : <0x31>
DW_AT_declaration : 1
DW_AT_object_pointer : <0xa5>
DW_AT_siblings : <0xb2>
<0xa5>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0xdd>
DW_AT_artificial : 1
<0xab>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0xf9>
DW_AT_artificial : 1
<0xb1>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xb2>: Abbrev Number: 9 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : fly
DW_AT_decl_file : 1
DW_AT_decl_line : 16
DW_AT_decl_column : 15
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x134): _ZN4Bird3flyEv
DW_AT_type : <0xf9>
DW_AT_virtuality : 1
DW_AT_vtable_elem_location : 2 byte block: 0x10 0x02
DW_AT_containing_type : <0x31>
DW_AT_declaration : 1
DW_AT_object_pointer : <0xd0>
<0xd0>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0xdd>
DW_AT_artificial : 1
<0xd6>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xd7>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xd8>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x31>
<0xdd>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x31>
<0xe3>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0xe3>
<0xe8>: Abbrev Number: 12 (DW_TAG_reference_type)
DW_AT_byte_size : 8
DW_AT_type : <0xd8>
<0xee>: Abbrev Number: 13 (DW_TAG_subroutine_type)
DW_AT_type : <0xf9>
DW_AT_siblings : <0xf9>
<0xf7>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
<0xf8>: Abbrev Number: 0 (DW_TAG_null_entry)
<0xf9>: Abbrev Number: 15 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 5
DW_AT_name : int
<0x100>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0xf9>
<0x105>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x10b>
<0x10b>: Abbrev Number: 16 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_name : (indirect string, offset: 0x5b): __vtbl_ptr_type
DW_AT_type : <0xee>
<0x115>: Abbrev Number: 17 (DW_TAG_structure_type)
DW_AT_name : Dog
DW_AT_byte_size : 8
DW_AT_decl_file : 1
DW_AT_decl_line : 7
DW_AT_decl_column : 8
DW_AT_containing_type : <0x1bc>
DW_AT_siblings : <0x1b7>
<0x126>: Abbrev Number: 18 (DW_TAG_inheritance)
DW_AT_type : <0x1bc>
DW_AT_data_member_location : 0
<0x12c>: Abbrev Number: 19 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : Dog
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x21e): _ZN3DogC4ERKS_
DW_AT_artificial : 1
DW_AT_declaration : 1
DW_AT_object_pointer : <0x140>
DW_AT_siblings : <0x14c>
<0x140>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x268>
DW_AT_artificial : 1
<0x146>: Abbrev Number: 5 (DW_TAG_formal_parameter)
DW_AT_type : <0x273>
<0x14b>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x14c>: Abbrev Number: 20 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : Dog
DW_AT_decl_file : 1
DW_AT_decl_line : 8
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xbc): _ZN3DogC4Ev
DW_AT_declaration : 1
DW_AT_object_pointer : <0x162>
DW_AT_siblings : <0x169>
<0x162>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x268>
DW_AT_artificial : 1
<0x168>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x169>: Abbrev Number: 8 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x22): ~Dog
DW_AT_decl_file : 1
DW_AT_decl_line : 9
DW_AT_decl_column : 11
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x0): _ZN3DogD4Ev
DW_AT_virtuality : 1
DW_AT_containing_type : <0x115>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x184>
DW_AT_siblings : <0x191>
<0x184>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x268>
DW_AT_artificial : 1
<0x18a>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0xf9>
DW_AT_artificial : 1
<0x190>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x191>: Abbrev Number: 21 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x38): walk
DW_AT_decl_file : 1
DW_AT_decl_line : 10
DW_AT_decl_column : 15
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xd5): _ZN3Dog4walkEv
DW_AT_type : <0xf9>
DW_AT_virtuality : 1
DW_AT_vtable_elem_location : 2 byte block: 0x10 0x02
DW_AT_containing_type : <0x115>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x1af>
<0x1af>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x268>
DW_AT_artificial : 1
<0x1b5>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x1b6>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x1b7>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x115>
<0x1bc>: Abbrev Number: 2 (DW_TAG_structure_type)
DW_AT_name : (indirect string, offset: 0x122): Mammal
DW_AT_byte_size : 8
DW_AT_decl_file : 1
DW_AT_decl_line : 1
DW_AT_decl_column : 8
DW_AT_containing_type : <0x1bc>
DW_AT_siblings : <0x263>
<0x1cd>: Abbrev Number: 3 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x122): Mammal
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x143): _ZN6MammalC4ERKS_
DW_AT_artificial : 1
DW_AT_declaration : 1
DW_AT_object_pointer : <0x1e1>
DW_AT_siblings : <0x1ed>
<0x1e1>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x279>
DW_AT_artificial : 1
<0x1e7>: Abbrev Number: 5 (DW_TAG_formal_parameter)
DW_AT_type : <0x284>
<0x1ec>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x1ed>: Abbrev Number: 6 (DW_TAG_member)
DW_AT_name : (indirect string, offset: 0x11c): _vptr.Mammal
DW_AT_type : <0x105>
DW_AT_data_member_location : 0
DW_AT_artificial : 1
<0x1f8>: Abbrev Number: 7 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x122): Mammal
DW_AT_decl_file : 1
DW_AT_decl_line : 2
DW_AT_decl_column : 3
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xc): _ZN6MammalC4Ev
DW_AT_declaration : 1
DW_AT_object_pointer : <0x20e>
DW_AT_siblings : <0x215>
<0x20e>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x279>
DW_AT_artificial : 1
<0x214>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x215>: Abbrev Number: 8 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x114): ~Mammal
DW_AT_decl_file : 1
DW_AT_decl_line : 3
DW_AT_decl_column : 11
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xf6): _ZN6MammalD4Ev
DW_AT_virtuality : 1
DW_AT_containing_type : <0x1bc>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x230>
DW_AT_siblings : <0x23d>
<0x230>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x279>
DW_AT_artificial : 1
<0x236>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0xf9>
DW_AT_artificial : 1
<0x23c>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x23d>: Abbrev Number: 21 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x38): walk
DW_AT_decl_file : 1
DW_AT_decl_line : 4
DW_AT_decl_column : 15
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x90): _ZN6Mammal4walkEv
DW_AT_type : <0xf9>
DW_AT_virtuality : 1
DW_AT_vtable_elem_location : 2 byte block: 0x10 0x02
DW_AT_containing_type : <0x1bc>
DW_AT_declaration : 1
DW_AT_object_pointer : <0x25b>
<0x25b>: Abbrev Number: 4 (DW_TAG_formal_parameter)
DW_AT_type : <0x279>
DW_AT_artificial : 1
<0x261>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x262>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x263>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x1bc>
<0x268>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x115>
<0x26e>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x268>
<0x273>: Abbrev Number: 12 (DW_TAG_reference_type)
DW_AT_byte_size : 8
DW_AT_type : <0x1b7>
<0x279>: Abbrev Number: 11 (DW_TAG_pointer_type)
DW_AT_byte_size : 8
DW_AT_type : <0x1bc>
<0x27f>: Abbrev Number: 10 (DW_TAG_const_type)
DW_AT_type : <0x279>
<0x284>: Abbrev Number: 12 (DW_TAG_reference_type)
DW_AT_byte_size : 8
DW_AT_type : <0x263>
<0x28a>: Abbrev Number: 22 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : (indirect string, offset: 0x27): main
DW_AT_decl_file : 1
DW_AT_decl_line : 19
DW_AT_decl_column : 5
DW_AT_type : <0xf9>
DW_AT_low_pc : 0x1169
DW_AT_high_pc : 0x11ed
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x2d8>
<0x2ae>: Abbrev Number: 23 (DW_TAG_variable)
DW_AT_name : b
DW_AT_decl_file : 1
DW_AT_decl_line : 20
DW_AT_decl_column : 9
DW_AT_type : <0xdd>
DW_AT_location : 2 byte block: 0x91 0x50
<0x2bb>: Abbrev Number: 23 (DW_TAG_variable)
DW_AT_name : m
DW_AT_decl_file : 1
DW_AT_decl_line : 21
DW_AT_decl_column : 11
DW_AT_type : <0x279>
DW_AT_location : 2 byte block: 0x91 0x58
<0x2c8>: Abbrev Number: 24 (DW_TAG_variable)
DW_AT_name : (indirect string, offset: 0x1b): output
DW_AT_decl_file : 1
DW_AT_decl_line : 24
DW_AT_decl_column : 7
DW_AT_type : <0xf9>
DW_AT_location : 2 byte block: 0x91 0x4c
<0x2d7>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x2d8>: Abbrev Number: 25 (DW_TAG_subprogram)
DW_AT_specification : <0xb2>
DW_AT_object_pointer : <0x2f8>
DW_AT_low_pc : 0x137a
DW_AT_high_pc : 0x138d
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x306>
<0x2f8>: Abbrev Number: 26 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0xe3>
DW_AT_artificial : 1
DW_AT_location : 2 byte block: 0x91 0x68
<0x305>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x306>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x8a>
DW_AT_object_pointer : <0x314>
DW_AT_inline : 2
DW_AT_siblings : <0x329>
<0x314>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0xe3>
DW_AT_artificial : 1
<0x31e>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x214): __in_chrg
DW_AT_type : <0x100>
DW_AT_artificial : 1
<0x328>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x329>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x306>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xe4): _ZN4BirdD0Ev
DW_AT_object_pointer : <0x34d>
DW_AT_low_pc : 0x134a
DW_AT_high_pc : 0x1379
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x356>
<0x34d>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x314>
DW_AT_location : 2 byte block: 0x91 0x68
<0x355>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x356>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x306>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xa2): _ZN4BirdD2Ev
DW_AT_object_pointer : <0x37a>
DW_AT_low_pc : 0x132c
DW_AT_high_pc : 0x1349
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x383>
<0x37a>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x314>
DW_AT_location : 2 byte block: 0x91 0x68
<0x382>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x383>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x6d>
DW_AT_object_pointer : <0x391>
DW_AT_inline : 2
DW_AT_siblings : <0x39c>
<0x391>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0xe3>
DW_AT_artificial : 1
<0x39b>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x39c>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x383>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0xaf): _ZN4BirdC2Ev
DW_AT_object_pointer : <0x3c0>
DW_AT_low_pc : 0x130e
DW_AT_high_pc : 0x132b
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x3c9>
<0x3c0>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x391>
DW_AT_location : 2 byte block: 0x91 0x68
<0x3c8>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x3c9>: Abbrev Number: 25 (DW_TAG_subprogram)
DW_AT_specification : <0x191>
DW_AT_object_pointer : <0x3e9>
DW_AT_low_pc : 0x12fa
DW_AT_high_pc : 0x130d
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x3f7>
<0x3e9>: Abbrev Number: 26 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0x26e>
DW_AT_artificial : 1
DW_AT_location : 2 byte block: 0x91 0x68
<0x3f6>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x3f7>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x169>
DW_AT_object_pointer : <0x405>
DW_AT_inline : 2
DW_AT_siblings : <0x41a>
<0x405>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0x26e>
DW_AT_artificial : 1
<0x40f>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x214): __in_chrg
DW_AT_type : <0x100>
DW_AT_artificial : 1
<0x419>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x41a>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x3f7>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x2c): _ZN3DogD0Ev
DW_AT_object_pointer : <0x43e>
DW_AT_low_pc : 0x12ca
DW_AT_high_pc : 0x12f9
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x447>
<0x43e>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x405>
DW_AT_location : 2 byte block: 0x91 0x68
<0x446>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x447>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x3f7>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x1eb): _ZN3DogD2Ev
DW_AT_object_pointer : <0x46b>
DW_AT_low_pc : 0x129c
DW_AT_high_pc : 0x12c9
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x474>
<0x46b>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x405>
DW_AT_location : 2 byte block: 0x91 0x68
<0x473>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x474>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x14c>
DW_AT_object_pointer : <0x482>
DW_AT_inline : 2
DW_AT_siblings : <0x48d>
<0x482>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0x26e>
DW_AT_artificial : 1
<0x48c>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x48d>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x474>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x6b): _ZN3DogC2Ev
DW_AT_object_pointer : <0x4b1>
DW_AT_low_pc : 0x126e
DW_AT_high_pc : 0x129b
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x4ba>
<0x4b1>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x482>
DW_AT_location : 2 byte block: 0x91 0x68
<0x4b9>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x4ba>: Abbrev Number: 25 (DW_TAG_subprogram)
DW_AT_specification : <0x23d>
DW_AT_object_pointer : <0x4da>
DW_AT_low_pc : 0x125a
DW_AT_high_pc : 0x126d
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x4e8>
<0x4da>: Abbrev Number: 26 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0x27f>
DW_AT_artificial : 1
DW_AT_location : 2 byte block: 0x91 0x68
<0x4e7>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x4e8>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x215>
DW_AT_object_pointer : <0x4f6>
DW_AT_inline : 2
DW_AT_siblings : <0x50b>
<0x4f6>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0x27f>
DW_AT_artificial : 1
<0x500>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x214): __in_chrg
DW_AT_type : <0x100>
DW_AT_artificial : 1
<0x50a>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x50b>: Abbrev Number: 29 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x4e8>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x3d): _ZN6MammalD0Ev
DW_AT_object_pointer : <0x52f>
DW_AT_low_pc : 0x122a
DW_AT_high_pc : 0x1259
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_tail_call_sites : 1
DW_AT_siblings : <0x538>
<0x52f>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x4f6>
DW_AT_location : 2 byte block: 0x91 0x68
<0x537>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x538>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x4e8>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x4c): _ZN6MammalD2Ev
DW_AT_object_pointer : <0x55c>
DW_AT_low_pc : 0x120c
DW_AT_high_pc : 0x1229
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
DW_AT_siblings : <0x565>
<0x55c>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x4f6>
DW_AT_location : 2 byte block: 0x91 0x68
<0x564>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x565>: Abbrev Number: 27 (DW_TAG_subprogram)
DW_AT_specification : <0x1f8>
DW_AT_object_pointer : <0x573>
DW_AT_inline : 2
DW_AT_siblings : <0x57e>
<0x573>: Abbrev Number: 28 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0xf1): this
DW_AT_type : <0x27f>
DW_AT_artificial : 1
<0x57d>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x57e>: Abbrev Number: 32 (DW_TAG_subprogram)
DW_AT_abstract_origin : <0x565>
DW_AT_MIPS_linkage_name : (indirect string, offset: 0x105): _ZN6MammalC2Ev
DW_AT_object_pointer : <0x59e>
DW_AT_low_pc : 0x11ee
DW_AT_high_pc : 0x120b
DW_AT_frame_base : 1 byte block: 0x9c
DW_AT_GNU_all_call_sites : 1
<0x59e>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_abstract_origin : <0x573>
DW_AT_location : 2 byte block: 0x91 0x68
<0x5a6>: Abbrev Number: 0 (DW_TAG_null_entry)
<0x5a7>: Abbrev Number: 0 (DW_TAG_null_entry)
Contents of the .debug_aranges section:
Address Range Set
Unit Length: 0xec
64bit: false
Version: 2
Offset in .debug_info: 0x0
Address Size: 8
Segment Size: 0
Ranges:
address length
0x0000000000001169 0x0000000000000084
0x00000000000011ee 0x000000000000001d
0x000000000000120c 0x000000000000001d
0x000000000000122a 0x000000000000002f
0x000000000000125a 0x0000000000000013
0x000000000000126e 0x000000000000002d
0x000000000000129c 0x000000000000002d
0x00000000000012ca 0x000000000000002f
0x00000000000012fa 0x0000000000000013
0x000000000000130e 0x000000000000001d
0x000000000000132c 0x000000000000001d
0x000000000000134a 0x000000000000002f
0x000000000000137a 0x0000000000000013
0x0000000000000000 0x0000000000000000
Raw dump of debug contents of section .debug_line:
Header information:
Length: 400
DWARF Version: 3
Header Length: 31
Minimum Instruction Length: 1
Maximum Operations per Instruction: 0
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
Opcodes:
Opcode 1 has 0 arg
Opcode 2 has 1 arg
Opcode 3 has 1 arg
Opcode 4 has 1 arg
Opcode 5 has 1 arg
Opcode 6 has 0 arg
Opcode 7 has 0 arg
Opcode 8 has 0 arg
Opcode 9 has 1 arg
Opcode 10 has 0 arg
Opcode 11 has 0 arg
Opcode 12 has 1 arg
The File Name Table:
Entry Dir Time Size Name
1 0 0 0 main.cpp
Line Number Statements:
Set column to 3
Extended opcode 2: set Address to 0x11ee
Special opcode 6: advance Address by 0 to 0x11ee and Line by 1 to 2
Set column to 12
Special opcode 173: advance Address by 12 to 0x11fa and Line by 0 to 2
Set column to 15
Special opcode 201: advance Address by 14 to 0x1208 and Line by 0 to 2
Advance PC by 3 to 0x120b
Extended opcode 1: End of Sequence
Set column to 11
Extended opcode 2: set Address to 0x120c
Special opcode 7: advance Address by 0 to 0x120c and Line by 2 to 3
Set column to 21
Special opcode 173: advance Address by 12 to 0x1218 and Line by 0 to 3
Set column to 22
Special opcode 201: advance Address by 14 to 0x1226 and Line by 0 to 3
Advance PC by 3 to 0x1229
Extended opcode 1: End of Sequence
Set column to 11
Extended opcode 2: set Address to 0x122a
Special opcode 7: advance Address by 0 to 0x122a and Line by 2 to 3
Set column to 22
Special opcode 229: advance Address by 16 to 0x123a and Line by 0 to 3
Advance PC by 31 to 0x1259
Extended opcode 1: End of Sequence
Set column to 15
Extended opcode 2: set Address to 0x125a
Special opcode 8: advance Address by 0 to 0x125a and Line by 3 to 4
Set column to 31
Special opcode 173: advance Address by 12 to 0x1266 and Line by 0 to 4
Set column to 34
Special opcode 75: advance Address by 5 to 0x126b and Line by 0 to 4
Advance PC by 2 to 0x126d
Extended opcode 1: End of Sequence
Set column to 3
Extended opcode 2: set Address to 0x126e
Special opcode 12: advance Address by 0 to 0x126e and Line by 7 to 8
Set column to 9
Special opcode 229: advance Address by 16 to 0x127e and Line by 0 to 8
Set column to 12
Advance PC by constant 17 to 0x128f
Special opcode 131: advance Address by 9 to 0x1298 and Line by 0 to 8
Advance PC by 3 to 0x129b
Extended opcode 1: End of Sequence
Set column to 11
Extended opcode 2: set Address to 0x129c
Special opcode 13: advance Address by 0 to 0x129c and Line by 8 to 9
Set column to 18
Special opcode 229: advance Address by 16 to 0x12ac and Line by 0 to 9
Set column to 19
Advance PC by constant 17 to 0x12bd
Special opcode 131: advance Address by 9 to 0x12c6 and Line by 0 to 9
Advance PC by 3 to 0x12c9
Extended opcode 1: End of Sequence
Set column to 11
Extended opcode 2: set Address to 0x12ca
Special opcode 13: advance Address by 0 to 0x12ca and Line by 8 to 9
Set column to 19
Special opcode 229: advance Address by 16 to 0x12da and Line by 0 to 9
Advance PC by 31 to 0x12f9
Extended opcode 1: End of Sequence
Set column to 15
Extended opcode 2: set Address to 0x12fa
Advance line by 9, to 10
Copy
Set column to 31
Special opcode 173: advance Address by 12 to 0x1306 and Line by 0 to 10
Set column to 34
Special opcode 75: advance Address by 5 to 0x130b and Line by 0 to 10
Advance PC by 2 to 0x130d
Extended opcode 1: End of Sequence
Set column to 3
Extended opcode 2: set Address to 0x130e
Advance line by 13, to 14
Copy
Set column to 10
Special opcode 173: advance Address by 12 to 0x131a and Line by 0 to 14
Set column to 13
Special opcode 201: advance Address by 14 to 0x1328 and Line by 0 to 14
Advance PC by 3 to 0x132b
Extended opcode 1: End of Sequence
Set column to 11
Extended opcode 2: set Address to 0x132c
Advance line by 14, to 15
Copy
Set column to 19
Special opcode 173: advance Address by 12 to 0x1338 and Line by 0 to 15
Set column to 20
Special opcode 201: advance Address by 14 to 0x1346 and Line by 0 to 15
Advance PC by 3 to 0x1349
Extended opcode 1: End of Sequence
Set column to 11
Extended opcode 2: set Address to 0x134a
Advance line by 14, to 15
Copy
Set column to 20
Special opcode 229: advance Address by 16 to 0x135a and Line by 0 to 15
Advance PC by 31 to 0x1379
Extended opcode 1: End of Sequence
Set column to 15
Extended opcode 2: set Address to 0x137a
Advance line by 15, to 16
Copy
Set column to 30
Special opcode 173: advance Address by 12 to 0x1386 and Line by 0 to 16
Set column to 33
Special opcode 75: advance Address by 5 to 0x138b and Line by 0 to 16
Advance PC by 2 to 0x138d
Extended opcode 1: End of Sequence
Set column to 12
Extended opcode 2: set Address to 0x1169
Advance line by 18, to 19
Copy
Set column to 16
Special opcode 190: advance Address by 13 to 0x1176 and Line by 3 to 22
Set column to 5
Advance PC by constant 17 to 0x1187
Special opcode 61: advance Address by 4 to 0x118b and Line by 0 to 22
Set column to 15
Special opcode 62: advance Address by 4 to 0x118f and Line by 1 to 23
Set column to 5
Advance PC by constant 17 to 0x11a0
Special opcode 61: advance Address by 4 to 0x11a4 and Line by 0 to 23
Set column to 7
Special opcode 62: advance Address by 4 to 0x11a8 and Line by 1 to 24
Set column to 20
Special opcode 104: advance Address by 7 to 0x11af and Line by 1 to 25
Set column to 19
Special opcode 201: advance Address by 14 to 0x11bd and Line by 0 to 25
Set column to 10
Special opcode 131: advance Address by 9 to 0x11c6 and Line by 0 to 25
Set column to 21
Special opcode 48: advance Address by 3 to 0x11c9 and Line by 1 to 26
Set column to 20
Special opcode 201: advance Address by 14 to 0x11d7 and Line by 0 to 26
Set column to 10
Special opcode 131: advance Address by 9 to 0x11e0 and Line by 0 to 26
Special opcode 48: advance Address by 3 to 0x11e3 and Line by 1 to 27
Set column to 1
Special opcode 48: advance Address by 3 to 0x11e6 and Line by 1 to 28
Advance PC by 7 to 0x11ed
Extended opcode 1: End of Sequence
0x00001169 /home/hound/r2test/dwarf/cpp/main.cpp 19
0x00001176 /home/hound/r2test/dwarf/cpp/main.cpp 22
0x0000118b /home/hound/r2test/dwarf/cpp/main.cpp 22
0x0000118f /home/hound/r2test/dwarf/cpp/main.cpp 23
0x000011a4 /home/hound/r2test/dwarf/cpp/main.cpp 23
0x000011a8 /home/hound/r2test/dwarf/cpp/main.cpp 24
0x000011af /home/hound/r2test/dwarf/cpp/main.cpp 25
0x000011bd /home/hound/r2test/dwarf/cpp/main.cpp 25
0x000011c6 /home/hound/r2test/dwarf/cpp/main.cpp 25
0x000011c9 /home/hound/r2test/dwarf/cpp/main.cpp 26
0x000011d7 /home/hound/r2test/dwarf/cpp/main.cpp 26
0x000011e0 /home/hound/r2test/dwarf/cpp/main.cpp 26
0x000011e3 /home/hound/r2test/dwarf/cpp/main.cpp 27
0x000011e6 /home/hound/r2test/dwarf/cpp/main.cpp 28
0x000011ed - -
0x000011ee /home/hound/r2test/dwarf/cpp/main.cpp 2
0x000011fa /home/hound/r2test/dwarf/cpp/main.cpp 2
0x00001208 /home/hound/r2test/dwarf/cpp/main.cpp 2
0x0000120b - -
0x0000120c /home/hound/r2test/dwarf/cpp/main.cpp 3
0x00001218 /home/hound/r2test/dwarf/cpp/main.cpp 3
0x00001226 /home/hound/r2test/dwarf/cpp/main.cpp 3
0x00001229 - -
0x0000122a /home/hound/r2test/dwarf/cpp/main.cpp 3
0x0000123a /home/hound/r2test/dwarf/cpp/main.cpp 3
0x00001259 - -
0x0000125a /home/hound/r2test/dwarf/cpp/main.cpp 4
0x00001266 /home/hound/r2test/dwarf/cpp/main.cpp 4
0x0000126b /home/hound/r2test/dwarf/cpp/main.cpp 4
0x0000126d - -
0x0000126e /home/hound/r2test/dwarf/cpp/main.cpp 8
0x0000127e /home/hound/r2test/dwarf/cpp/main.cpp 8
0x00001298 /home/hound/r2test/dwarf/cpp/main.cpp 8
0x0000129b - -
0x0000129c /home/hound/r2test/dwarf/cpp/main.cpp 9
0x000012ac /home/hound/r2test/dwarf/cpp/main.cpp 9
0x000012c6 /home/hound/r2test/dwarf/cpp/main.cpp 9
0x000012c9 - -
0x000012ca /home/hound/r2test/dwarf/cpp/main.cpp 9
0x000012da /home/hound/r2test/dwarf/cpp/main.cpp 9
0x000012f9 - -
0x000012fa /home/hound/r2test/dwarf/cpp/main.cpp 10
0x00001306 /home/hound/r2test/dwarf/cpp/main.cpp 10
0x0000130b /home/hound/r2test/dwarf/cpp/main.cpp 10
0x0000130d - -
0x0000130e /home/hound/r2test/dwarf/cpp/main.cpp 14
0x0000131a /home/hound/r2test/dwarf/cpp/main.cpp 14
0x00001328 /home/hound/r2test/dwarf/cpp/main.cpp 14
0x0000132b - -
0x0000132c /home/hound/r2test/dwarf/cpp/main.cpp 15
0x00001338 /home/hound/r2test/dwarf/cpp/main.cpp 15
0x00001346 /home/hound/r2test/dwarf/cpp/main.cpp 15
0x00001349 - -
0x0000134a /home/hound/r2test/dwarf/cpp/main.cpp 15
0x0000135a /home/hound/r2test/dwarf/cpp/main.cpp 15
0x00001379 - -
0x0000137a /home/hound/r2test/dwarf/cpp/main.cpp 16
0x00001386 /home/hound/r2test/dwarf/cpp/main.cpp 16
0x0000138b /home/hound/r2test/dwarf/cpp/main.cpp 16
0x0000138d - -
EOF
RUN