Variables on the stack are not identified by bp/sp+<offset> anymore, but by their address from the bottom of the stack frame (RzStackAddr), independent of how they are accessed. So now there are only two kinds of variables: stack and register. This required some major refactoring and other changes: * RzAnalysisVar.isarg was removed. Whether a variable is an argument is now specified implicitly by its storage location. * Varsub of struct fields had to be rewritten so fields can be queried by arbitrary stack addresses using the recently introduced sp tracking, as the old approach to fill a list with all fields would not work anymore. * analysis.vars.stackname was removed, new behavior is more similar to this being true before. * Variables will not be created at stack+0 now, because the return address is there. Before, vars were only created sometimes in such cases. * Variables created from bp offsets in x86 are not deleted anymore if the function's bp_frame is false (see removed rz_analysis_function_delete_vars_by_kind(fcn, RZ_ANALYSIS_VAR_KIND_BPV); calls). This may lead to some false-positive detected variables. Whether this really is a practical issue is yet to be seen. At least there are no meaningful tests that are broken by this. * Applying variables from dwarf needed some fixes for determining the correct stack locations of variables in order to write meaningful tests. The handling is still not entirely correct for all possibilities of dwarf info, but at least the changed/added test cases are right and serve as a reference for future changes. * Projects version 11 is introduced. * afvb commands have been removed, afvs now handles all stack vars.
3065 lines
144 KiB
Text
3065 lines
144 KiB
Text
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_ch @ stack - 0xc
|
||
| 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 [0m; 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_30h @ stack - 0x30
|
||
| ; var int64_t var_28h @ stack - 0x28
|
||
| ; var SmallInt i @ stack - 0x1c
|
||
| ; var SmallInt szel @ stack - 0x18
|
||
| ; var SmallInt mag @ stack - 0x10
|
||
| 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_30h], rbx
|
||
| 0x0040198d 4c8965e0 mov qword [var_28h], 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
|