Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Created March 17, 2024 08:39
Show Gist options
  • Save lupyuen/76b8680a58793571db67082bcca2e86c to your computer and use it in GitHub Desktop.
Save lupyuen/76b8680a58793571db67082bcca2e86c to your computer and use it in GitHub Desktop.
RISC-V Disassembly for Rust App on QEMU RISC-V. See https://gist.github.com/lupyuen/7be4bedc6a109b2c3d1201aee6030428
$ riscv64-unknown-elf-objdump \
--syms --source --reloc --demangle --line-numbers --wide \
--debugging \
../apps/examples/hello_rust/*1.o
../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o: file format elf32-littleriscv
SYMBOL TABLE:
00000000 l df *ABS* 00000000 hello_rust_main.5d19f14b177ddfca-cgu.0
00000000 l .text.rust_begin_unwind 00000000
00000000 l .text.rust_begin_unwind 00000000
00000000 l .text.rust_begin_unwind 00000000
00000004 l .text.rust_begin_unwind 00000000
00000000 l .text.hello_rust_main 00000000
00000000 l .text.hello_rust_main 00000000
00000000 l .text.hello_rust_main 00000000
00000004 l .text.hello_rust_main 00000000
00000000 l O .rodata.str1.1 0000000e .Lstr
0000001c l .text.hello_rust_main 00000000
0000002c l .text.hello_rust_main 00000000
0000002c l .text.hello_rust_main 00000000
00000040 l .text.hello_rust_main 00000000
00000040 l .text.hello_rust_main 00000000
0000000e l O .rodata.str1.1 0000000f .Lstr.1
00000058 l .text.hello_rust_main 00000000
00000068 l .text.hello_rust_main 00000000
00000074 l .text.hello_rust_main 00000000
00000074 l .text.hello_rust_main 00000000
00000080 l .text.hello_rust_main 00000000
00000088 l .text.hello_rust_main 00000000
00000088 l .text.hello_rust_main 00000000
00000000 l .debug_loc 00000000
0000001b l .debug_loc 00000000
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l .debug_info 00000000
00000000 l .debug_str 00000000
00000041 l .debug_str 00000000
00000000 l .debug_line 00000000 .Lline_table_start0
0000007d l .debug_str 00000000
00000000 l .debug_ranges 00000000
000000a9 l .debug_str 00000000
000000ae l .debug_str 00000000
000000b2 l .debug_str 00000000
000000d2 l .debug_str 00000000
000000b8 l .debug_str 00000000
000000bd l .debug_str 00000000
000000c3 l .debug_str 00000000
000000ca l .debug_str 00000000
00000253 l .debug_str 00000000
00000209 l .debug_str 00000000
00000212 l .debug_str 00000000
0000021c l .debug_str 00000000
00000222 l .debug_str 00000000
00000228 l .debug_str 00000000
0000024d l .debug_str 00000000
00000247 l .debug_str 00000000
00000232 l .debug_str 00000000
00000239 l .debug_str 00000000
0000023f l .debug_str 00000000
00000235 l .debug_str 00000000
000003ff l .debug_str 00000000
000002af l .debug_str 00000000
000002ea l .debug_str 00000000
000002b5 l .debug_str 00000000
000002c0 l .debug_str 00000000
00000423 l .debug_str 00000000
000001e5 l .debug_str 00000000
000002aa l .debug_str 00000000
00000301 l .debug_str 00000000
0000036b l .debug_str 00000000
00000338 l .debug_str 00000000
000000dc l .debug_str 00000000
000000f6 l .debug_str 00000000
000000e0 l .debug_str 00000000
000000eb l .debug_str 00000000
0000011f l .debug_str 00000000
00000130 l .debug_str 00000000
000004c5 l .debug_str 00000000
0000013b l .debug_str 00000000
000001cd l .debug_str 00000000
00000461 l .debug_str 00000000
000004a2 l .debug_str 00000000
000004b2 l .debug_str 00000000
00000478 l .debug_str 00000000
0000046a l .debug_str 00000000
0000046f l .debug_str 00000000
00000474 l .debug_str 00000000
000001d5 l .debug_str 00000000
00000443 l .debug_str 00000000
000001e0 l .debug_str 00000000
0000027f l .debug_str 00000000
0000027d l .debug_str 00000000
00000284 l .debug_str 00000000
0000032a l .debug_str 00000000
000002f4 l .debug_str 00000000
0000030d l .debug_str 00000000
000002fb l .debug_str 00000000
00000309 l .debug_str 00000000
00000307 l .debug_str 00000000
000000b5 l .debug_str 00000000
000000fd l .debug_str 00000000
0000010d l .debug_str 00000000
00000129 l .debug_str 00000000
000004f6 l .debug_str 00000000
000004fc l .debug_str 00000000
0000051d l .debug_str 00000000
00000125 l .debug_str 00000000
000004cf l .debug_str 00000000
000001a2 l .debug_str 00000000
00000143 l .debug_str 00000000
00000175 l .debug_str 00000000
0000014b l .debug_str 00000000
00000196 l .debug_str 00000000
0000017c l .debug_str 00000000
00000182 l .debug_str 00000000
000001dc l .debug_str 00000000
0000042d l .debug_str 00000000
00000201 l .debug_str 00000000
000001ec l .debug_str 00000000
000001f5 l .debug_str 00000000
000001fc l .debug_str 00000000
0000025f l .debug_str 00000000
00000217 l .debug_str 00000000
00000408 l .debug_str 00000000
000002c7 l .debug_str 00000000
0000038f l .debug_str 00000000
000002fe l .debug_str 00000000
00000375 l .debug_str 00000000
00000351 l .debug_str 00000000
0000033c l .debug_str 00000000
00000481 l .debug_str 00000000
000004ad l .debug_str 00000000
000004f3 l .debug_str 00000000
0000050c l .debug_str 00000000
00000502 l .debug_str 00000000
00000523 l .debug_str 00000000
00000088 l .text.hello_rust_main 00000000
00000000 l .debug_frame 00000000
00000000 g F .text.rust_begin_unwind 00000004 .hidden rust_begin_unwind
00000000 g F .text.hello_rust_main 00000088 hello_rust_main
00000000 *UND* 00000000 puts
00000000 *UND* 00000000 lib_get_stream
00000000 *UND* 00000000 memset
00000000 *UND* 00000000 fgets
Disassembly of section .text.rust_begin_unwind:
00000000 <rust_begin_unwind>:
rust_begin_unwind():
apps/examples/hello_rust/hello_rust_main.rs:59
* Panic handler (needed for [no_std] compilation)
****************************************************************************/
#[panic_handler]
fn panic(_panic: &PanicInfo<'_>) -> ! {
loop {}
0: 0000006f j 0 <rust_begin_unwind>
Disassembly of section .text.hello_rust_main:
00000000 <hello_rust_main>:
hello_rust_main():
apps/examples/hello_rust/hello_rust_main.rs:71
/****************************************************************************
* hello_rust_main
****************************************************************************/
#[no_mangle]
pub extern "C" fn hello_rust_main(_argc: i32, _argv: *const *const u8) -> i32 {
0: ef010113 addi sp,sp,-272
apps/examples/hello_rust/hello_rust_main.rs:75
/* "Hello, Rust!!" using printf() from libc */
unsafe {
printf(b"Hello, Rust!!\n\0" as *const u8);
4: 10112623 sw ra,268(sp)
8: 10812423 sw s0,264(sp)
c: 00000537 lui a0,0x0 c: R_RISCV_HI20 .Lstr
10: 00050513 mv a0,a0 10: R_RISCV_LO12_I .Lstr
14: 00000097 auipc ra,0x0 14: R_RISCV_CALL_PLT puts
18: 000080e7 jalr ra # 14 <hello_rust_main+0x14>
apps/examples/hello_rust/hello_rust_main.rs:79
// Receive a string and print it.
// `stdin` comes from https://github.com/apache/nuttx/blob/master/include/stdio.h#L64-L68
let stdin: *mut core::ffi::c_void = lib_get_stream(0);
1c: 00000513 li a0,0
20: 00000097 auipc ra,0x0 20: R_RISCV_CALL_PLT lib_get_stream
24: 000080e7 jalr ra # 20 <hello_rust_main+0x20>
28: 00050413 mv s0,a0
apps/examples/hello_rust/hello_rust_main.rs:80
let mut buf: [core::ffi::c_char; 256] = [0; 256];
2c: 00810513 addi a0,sp,8
30: 10000613 li a2,256
34: 00000593 li a1,0
38: 00000097 auipc ra,0x0 38: R_RISCV_CALL_PLT memset
3c: 000080e7 jalr ra # 38 <hello_rust_main+0x38>
apps/examples/hello_rust/hello_rust_main.rs:81
if !fgets(
40: 00810513 addi a0,sp,8
44: 0ff00593 li a1,255
48: 00040613 mv a2,s0
4c: 00000097 auipc ra,0x0 4c: R_RISCV_CALL_PLT fgets
50: 000080e7 jalr ra # 4c <hello_rust_main+0x4c>
54: 02050063 beqz a0,74 <hello_rust_main+0x74>
apps/examples/hello_rust/hello_rust_main.rs:86
&mut buf[0], // Buffer
buf.len() as i32 - 1, // Size
stdin // Standard Input
).is_null() {
printf(b"You entered...\n\0" as *const u8);
58: 00000537 lui a0,0x0 58: R_RISCV_HI20 .Lstr.1
5c: 00050513 mv a0,a0 5c: R_RISCV_LO12_I .Lstr.1
60: 00000097 auipc ra,0x0 60: R_RISCV_CALL_PLT puts
64: 000080e7 jalr ra # 60 <hello_rust_main+0x60>
apps/examples/hello_rust/hello_rust_main.rs:87
puts(&buf[0]);
68: 00810513 addi a0,sp,8
6c: 00000097 auipc ra,0x0 6c: R_RISCV_CALL_PLT puts
70: 000080e7 jalr ra # 6c <hello_rust_main+0x6c>
apps/examples/hello_rust/hello_rust_main.rs:94
}
/* exit with status 0 */
0
}
74: 00000513 li a0,0
78: 10c12083 lw ra,268(sp)
7c: 10812403 lw s0,264(sp)
80: 11010113 addi sp,sp,272
84: 00008067 ret
Contents of the .debug_loc section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Offset Begin End Expression
00000000 ffffffff 00000000 (base address)
00000008 00000000 00000010 (DW_OP_reg10 (a0))
00000013 <End of list>
0000001b ffffffff 00000000 (base address)
00000023 00000000 0000001c (DW_OP_reg11 (a1))
0000002e <End of list>
Contents of the .debug_abbrev section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Number TAG (0x0)
1 DW_TAG_compile_unit [has children]
DW_AT_producer DW_FORM_strp
DW_AT_language DW_FORM_data2
DW_AT_name DW_FORM_strp
DW_AT_stmt_list DW_FORM_sec_offset
DW_AT_comp_dir DW_FORM_strp
DW_AT_GNU_pubnames DW_FORM_flag_present
DW_AT_low_pc DW_FORM_addr
DW_AT_ranges DW_FORM_sec_offset
DW_AT value: 0 DW_FORM value: 0
2 DW_TAG_namespace [has children]
DW_AT_name DW_FORM_strp
DW_AT value: 0 DW_FORM value: 0
3 DW_TAG_enumeration_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT_enum_class DW_FORM_flag_present
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_alignment DW_FORM_udata
DW_AT value: 0 DW_FORM value: 0
4 DW_TAG_enumerator [no children]
DW_AT_name DW_FORM_strp
DW_AT_const_value DW_FORM_udata
DW_AT value: 0 DW_FORM value: 0
5 DW_TAG_structure_type [has children]
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_alignment DW_FORM_udata
DW_AT value: 0 DW_FORM value: 0
6 DW_TAG_member [no children]
DW_AT_name DW_FORM_strp
DW_AT_type DW_FORM_ref4
DW_AT_alignment DW_FORM_udata
DW_AT_data_member_location DW_FORM_data1
DW_AT value: 0 DW_FORM value: 0
7 DW_TAG_variant_part [has children]
DW_AT_discr DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
8 DW_TAG_member [no children]
DW_AT_type DW_FORM_ref4
DW_AT_alignment DW_FORM_udata
DW_AT_data_member_location DW_FORM_data1
DW_AT_artificial DW_FORM_flag_present
DW_AT value: 0 DW_FORM value: 0
9 DW_TAG_variant [has children]
DW_AT_discr_value DW_FORM_data1
DW_AT value: 0 DW_FORM value: 0
10 DW_TAG_structure_type [no children]
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_alignment DW_FORM_udata
DW_AT value: 0 DW_FORM value: 0
11 DW_TAG_variant [has children]
DW_AT value: 0 DW_FORM value: 0
12 DW_TAG_template_type_param [no children]
DW_AT_type DW_FORM_ref4
DW_AT_name DW_FORM_strp
DW_AT value: 0 DW_FORM value: 0
13 DW_TAG_base_type [no children]
DW_AT_name DW_FORM_strp
DW_AT_encoding DW_FORM_data1
DW_AT_byte_size DW_FORM_data1
DW_AT value: 0 DW_FORM value: 0
14 DW_TAG_subprogram [has children]
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_data4
DW_AT_frame_base DW_FORM_exprloc
DW_AT_linkage_name DW_FORM_strp
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_noreturn DW_FORM_flag_present
DW_AT value: 0 DW_FORM value: 0
15 DW_TAG_formal_parameter [no children]
DW_AT_location DW_FORM_exprloc
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
16 DW_TAG_subprogram [has children]
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_data4
DW_AT_frame_base DW_FORM_exprloc
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_external DW_FORM_flag_present
DW_AT value: 0 DW_FORM value: 0
17 DW_TAG_formal_parameter [no children]
DW_AT_location DW_FORM_sec_offset
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
18 DW_TAG_lexical_block [has children]
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_data4
DW_AT value: 0 DW_FORM value: 0
19 DW_TAG_variable [no children]
DW_AT_location DW_FORM_exprloc
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
20 DW_TAG_pointer_type [no children]
DW_AT_type DW_FORM_ref4
DW_AT_name DW_FORM_strp
DW_AT_address_class DW_FORM_data4
DW_AT value: 0 DW_FORM value: 0
21 DW_TAG_pointer_type [no children]
DW_AT_type DW_FORM_ref4
DW_AT_address_class DW_FORM_data4
DW_AT value: 0 DW_FORM value: 0
22 DW_TAG_array_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
23 DW_TAG_subrange_type [no children]
DW_AT_type DW_FORM_ref4
DW_AT_lower_bound DW_FORM_sdata
DW_AT_count DW_FORM_data1
DW_AT value: 0 DW_FORM value: 0
24 DW_TAG_base_type [no children]
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT value: 0 DW_FORM value: 0
25 DW_TAG_subroutine_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
26 DW_TAG_formal_parameter [no children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
27 DW_TAG_subrange_type [no children]
DW_AT_type DW_FORM_ref4
DW_AT_lower_bound DW_FORM_sdata
DW_AT_count DW_FORM_data2
DW_AT value: 0 DW_FORM value: 0
Contents of the .debug_info section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Compilation Unit @ offset 0x0:
Length: 0x65b (32-bit)
Version: 4
Abbrev Offset: 0x0
Pointer Size: 4
<0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
<c> DW_AT_producer : (indirect string, offset: 0x0): clang LLVM (rustc version 1.74.0-nightly (ca62d2c44 2023-09-30))
<10> DW_AT_language : 28 (Rust)
<12> DW_AT_name : (indirect string, offset: 0x41): hello_rust_main.rs/@/hello_rust_main.5d19f14b177ddfca-cgu.0
<16> DW_AT_stmt_list : 0x0
<1a> DW_AT_comp_dir : (indirect string, offset: 0x7d): apps/examples/hello_rust
<1e> DW_AT_GNU_pubnames: 1
<1e> DW_AT_low_pc : 0x0
<22> DW_AT_ranges : 0x0
<1><26>: Abbrev Number: 2 (DW_TAG_namespace)
<27> DW_AT_name : (indirect string, offset: 0xa9): core
<2><2b>: Abbrev Number: 2 (DW_TAG_namespace)
<2c> DW_AT_name : (indirect string, offset: 0xae): fmt
<3><30>: Abbrev Number: 2 (DW_TAG_namespace)
<31> DW_AT_name : (indirect string, offset: 0xb2): rt
<4><35>: Abbrev Number: 3 (DW_TAG_enumeration_type)
<36> DW_AT_type : <0x3ee>
<3a> DW_AT_enum_class : 1
<3a> DW_AT_name : (indirect string, offset: 0xd2): Alignment
<3e> DW_AT_byte_size : 1
<3f> DW_AT_alignment : 1
<5><40>: Abbrev Number: 4 (DW_TAG_enumerator)
<41> DW_AT_name : (indirect string, offset: 0xb8): Left
<45> DW_AT_const_value : 0
<5><46>: Abbrev Number: 4 (DW_TAG_enumerator)
<47> DW_AT_name : (indirect string, offset: 0xbd): Right
<4b> DW_AT_const_value : 1
<5><4c>: Abbrev Number: 4 (DW_TAG_enumerator)
<4d> DW_AT_name : (indirect string, offset: 0xc3): Center
<51> DW_AT_const_value : 2
<5><52>: Abbrev Number: 4 (DW_TAG_enumerator)
<53> DW_AT_name : (indirect string, offset: 0xca): Unknown
<57> DW_AT_const_value : 3
<5><58>: Abbrev Number: 0
<4><59>: Abbrev Number: 5 (DW_TAG_structure_type)
<5a> DW_AT_name : (indirect string, offset: 0x253): Placeholder
<5e> DW_AT_byte_size : 32
<5f> DW_AT_alignment : 4
<5><60>: Abbrev Number: 6 (DW_TAG_member)
<61> DW_AT_name : (indirect string, offset: 0x209): position
<65> DW_AT_type : <0x4dd>
<69> DW_AT_alignment : 4
<6a> DW_AT_data_member_location: 20
<5><6b>: Abbrev Number: 6 (DW_TAG_member)
<6c> DW_AT_name : (indirect string, offset: 0x212): fill
<70> DW_AT_type : <0x574>
<74> DW_AT_alignment : 4
<75> DW_AT_data_member_location: 16
<5><76>: Abbrev Number: 6 (DW_TAG_member)
<77> DW_AT_name : (indirect string, offset: 0x21c): align
<7b> DW_AT_type : <0x35>
<7f> DW_AT_alignment : 1
<80> DW_AT_data_member_location: 28
<5><81>: Abbrev Number: 6 (DW_TAG_member)
<82> DW_AT_name : (indirect string, offset: 0x222): flags
<86> DW_AT_type : <0x4eb>
<8a> DW_AT_alignment : 4
<8b> DW_AT_data_member_location: 24
<5><8c>: Abbrev Number: 6 (DW_TAG_member)
<8d> DW_AT_name : (indirect string, offset: 0x228): precision
<91> DW_AT_type : <0xa3>
<95> DW_AT_alignment : 4
<96> DW_AT_data_member_location: 0
<5><97>: Abbrev Number: 6 (DW_TAG_member)
<98> DW_AT_name : (indirect string, offset: 0x24d): width
<9c> DW_AT_type : <0xa3>
<a0> DW_AT_alignment : 4
<a1> DW_AT_data_member_location: 8
<5><a2>: Abbrev Number: 0
<4><a3>: Abbrev Number: 5 (DW_TAG_structure_type)
<a4> DW_AT_name : (indirect string, offset: 0x247): Count
<a8> DW_AT_byte_size : 8
<a9> DW_AT_alignment : 4
<5><aa>: Abbrev Number: 7 (DW_TAG_variant_part)
<ab> DW_AT_discr : <0xaf>
<6><af>: Abbrev Number: 8 (DW_TAG_member)
<b0> DW_AT_type : <0x4eb>
<b4> DW_AT_alignment : 4
<b5> DW_AT_data_member_location: 0
<b6> DW_AT_artificial : 1
<6><b6>: Abbrev Number: 9 (DW_TAG_variant)
<b7> DW_AT_discr_value : 0
<7><b8>: Abbrev Number: 6 (DW_TAG_member)
<b9> DW_AT_name : (indirect string, offset: 0x232): Is
<bd> DW_AT_type : <0xe1>
<c1> DW_AT_alignment : 4
<c2> DW_AT_data_member_location: 0
<7><c3>: Abbrev Number: 0
<6><c4>: Abbrev Number: 9 (DW_TAG_variant)
<c5> DW_AT_discr_value : 1
<7><c6>: Abbrev Number: 6 (DW_TAG_member)
<c7> DW_AT_name : (indirect string, offset: 0x239): Param
<cb> DW_AT_type : <0xf4>
<cf> DW_AT_alignment : 4
<d0> DW_AT_data_member_location: 0
<7><d1>: Abbrev Number: 0
<6><d2>: Abbrev Number: 9 (DW_TAG_variant)
<d3> DW_AT_discr_value : 2
<7><d4>: Abbrev Number: 6 (DW_TAG_member)
<d5> DW_AT_name : (indirect string, offset: 0x23f): Implied
<d9> DW_AT_type : <0x107>
<dd> DW_AT_alignment : 4
<de> DW_AT_data_member_location: 0
<7><df>: Abbrev Number: 0
<6><e0>: Abbrev Number: 0
<5><e1>: Abbrev Number: 5 (DW_TAG_structure_type)
<e2> DW_AT_name : (indirect string, offset: 0x232): Is
<e6> DW_AT_byte_size : 8
<e7> DW_AT_alignment : 4
<6><e8>: Abbrev Number: 6 (DW_TAG_member)
<e9> DW_AT_name : (indirect string, offset: 0x235): __0
<ed> DW_AT_type : <0x4dd>
<f1> DW_AT_alignment : 4
<f2> DW_AT_data_member_location: 4
<6><f3>: Abbrev Number: 0
<5><f4>: Abbrev Number: 5 (DW_TAG_structure_type)
<f5> DW_AT_name : (indirect string, offset: 0x239): Param
<f9> DW_AT_byte_size : 8
<fa> DW_AT_alignment : 4
<6><fb>: Abbrev Number: 6 (DW_TAG_member)
<fc> DW_AT_name : (indirect string, offset: 0x235): __0
<100> DW_AT_type : <0x4dd>
<104> DW_AT_alignment : 4
<105> DW_AT_data_member_location: 4
<6><106>: Abbrev Number: 0
<5><107>: Abbrev Number: 10 (DW_TAG_structure_type)
<108> DW_AT_name : (indirect string, offset: 0x23f): Implied
<10c> DW_AT_byte_size : 8
<10d> DW_AT_alignment : 4
<5><10e>: Abbrev Number: 0
<4><10f>: Abbrev Number: 5 (DW_TAG_structure_type)
<110> DW_AT_name : (indirect string, offset: 0x3ff): Argument
<114> DW_AT_byte_size : 8
<115> DW_AT_alignment : 4
<5><116>: Abbrev Number: 6 (DW_TAG_member)
<117> DW_AT_name : (indirect string, offset: 0x2af): value
<11b> DW_AT_type : <0x5a2>
<11f> DW_AT_alignment : 4
<120> DW_AT_data_member_location: 0
<5><121>: Abbrev Number: 6 (DW_TAG_member)
<122> DW_AT_name : (indirect string, offset: 0x2ea): formatter
<126> DW_AT_type : <0x5af>
<12a> DW_AT_alignment : 4
<12b> DW_AT_data_member_location: 4
<5><12c>: Abbrev Number: 0
<4><12d>: Abbrev Number: 2 (DW_TAG_namespace)
<12e> DW_AT_name : (indirect string, offset: 0x2b5): {extern#0}
<5><132>: Abbrev Number: 10 (DW_TAG_structure_type)
<133> DW_AT_name : (indirect string, offset: 0x2c0): Opaque
<137> DW_AT_byte_size : 0
<138> DW_AT_alignment : 1
<5><139>: Abbrev Number: 0
<4><13a>: Abbrev Number: 0
<3><13b>: Abbrev Number: 5 (DW_TAG_structure_type)
<13c> DW_AT_name : (indirect string, offset: 0x423): Arguments
<140> DW_AT_byte_size : 24
<141> DW_AT_alignment : 4
<4><142>: Abbrev Number: 6 (DW_TAG_member)
<143> DW_AT_name : (indirect string, offset: 0x1e5): pieces
<147> DW_AT_type : <0x4ff>
<14b> DW_AT_alignment : 4
<14c> DW_AT_data_member_location: 0
<4><14d>: Abbrev Number: 6 (DW_TAG_member)
<14e> DW_AT_name : (indirect string, offset: 0xae): fmt
<152> DW_AT_type : <0x2b0>
<156> DW_AT_alignment : 4
<157> DW_AT_data_member_location: 16
<4><158>: Abbrev Number: 6 (DW_TAG_member)
<159> DW_AT_name : (indirect string, offset: 0x2aa): args
<15d> DW_AT_type : <0x57b>
<161> DW_AT_alignment : 4
<162> DW_AT_data_member_location: 8
<4><163>: Abbrev Number: 0
<3><164>: Abbrev Number: 10 (DW_TAG_structure_type)
<165> DW_AT_name : (indirect string, offset: 0x301): Error
<169> DW_AT_byte_size : 0
<16a> DW_AT_alignment : 1
<3><16b>: Abbrev Number: 5 (DW_TAG_structure_type)
<16c> DW_AT_name : (indirect string, offset: 0x36b): Formatter
<170> DW_AT_byte_size : 36
<171> DW_AT_alignment : 4
<4><172>: Abbrev Number: 6 (DW_TAG_member)
<173> DW_AT_name : (indirect string, offset: 0x222): flags
<177> DW_AT_type : <0x4eb>
<17b> DW_AT_alignment : 4
<17c> DW_AT_data_member_location: 28
<4><17d>: Abbrev Number: 6 (DW_TAG_member)
<17e> DW_AT_name : (indirect string, offset: 0x212): fill
<182> DW_AT_type : <0x574>
<186> DW_AT_alignment : 4
<187> DW_AT_data_member_location: 16
<4><188>: Abbrev Number: 6 (DW_TAG_member)
<189> DW_AT_name : (indirect string, offset: 0x21c): align
<18d> DW_AT_type : <0x35>
<191> DW_AT_alignment : 1
<192> DW_AT_data_member_location: 32
<4><193>: Abbrev Number: 6 (DW_TAG_member)
<194> DW_AT_name : (indirect string, offset: 0x24d): width
<198> DW_AT_type : <0x30d>
<19c> DW_AT_alignment : 4
<19d> DW_AT_data_member_location: 0
<4><19e>: Abbrev Number: 6 (DW_TAG_member)
<19f> DW_AT_name : (indirect string, offset: 0x228): precision
<1a3> DW_AT_type : <0x30d>
<1a7> DW_AT_alignment : 4
<1a8> DW_AT_data_member_location: 8
<4><1a9>: Abbrev Number: 6 (DW_TAG_member)
<1aa> DW_AT_name : (indirect string, offset: 0x338): buf
<1ae> DW_AT_type : <0x5e0>
<1b2> DW_AT_alignment : 4
<1b3> DW_AT_data_member_location: 20
<4><1b4>: Abbrev Number: 0
<3><1b5>: Abbrev Number: 0
<2><1b6>: Abbrev Number: 2 (DW_TAG_namespace)
<1b7> DW_AT_name : (indirect string, offset: 0xdc): ffi
<3><1bb>: Abbrev Number: 3 (DW_TAG_enumeration_type)
<1bc> DW_AT_type : <0x3ee>
<1c0> DW_AT_enum_class : 1
<1c0> DW_AT_name : (indirect string, offset: 0xf6): c_void
<1c4> DW_AT_byte_size : 1
<1c5> DW_AT_alignment : 1
<4><1c6>: Abbrev Number: 4 (DW_TAG_enumerator)
<1c7> DW_AT_name : (indirect string, offset: 0xe0): __variant1
<1cb> DW_AT_const_value : 0
<4><1cc>: Abbrev Number: 4 (DW_TAG_enumerator)
<1cd> DW_AT_name : (indirect string, offset: 0xeb): __variant2
<1d1> DW_AT_const_value : 1
<4><1d2>: Abbrev Number: 0
<3><1d3>: Abbrev Number: 0
<2><1d4>: Abbrev Number: 2 (DW_TAG_namespace)
<1d5> DW_AT_name : (indirect string, offset: 0x11f): panic
<3><1d9>: Abbrev Number: 2 (DW_TAG_namespace)
<1da> DW_AT_name : (indirect string, offset: 0x130): panic_info
<4><1de>: Abbrev Number: 5 (DW_TAG_structure_type)
<1df> DW_AT_name : (indirect string, offset: 0x4c5): PanicInfo
<1e3> DW_AT_byte_size : 20
<1e4> DW_AT_alignment : 4
<5><1e5>: Abbrev Number: 6 (DW_TAG_member)
<1e6> DW_AT_name : (indirect string, offset: 0x13b): payload
<1ea> DW_AT_type : <0x495>
<1ee> DW_AT_alignment : 4
<1ef> DW_AT_data_member_location: 0
<5><1f0>: Abbrev Number: 6 (DW_TAG_member)
<1f1> DW_AT_name : (indirect string, offset: 0x1cd): message
<1f5> DW_AT_type : <0x253>
<1f9> DW_AT_alignment : 4
<1fa> DW_AT_data_member_location: 8
<5><1fb>: Abbrev Number: 6 (DW_TAG_member)
<1fc> DW_AT_name : (indirect string, offset: 0x461): location
<200> DW_AT_type : <0x60e>
<204> DW_AT_alignment : 4
<205> DW_AT_data_member_location: 12
<5><206>: Abbrev Number: 6 (DW_TAG_member)
<207> DW_AT_name : (indirect string, offset: 0x4a2): can_unwind
<20b> DW_AT_type : <0x61b>
<20f> DW_AT_alignment : 1
<210> DW_AT_data_member_location: 16
<5><211>: Abbrev Number: 6 (DW_TAG_member)
<212> DW_AT_name : (indirect string, offset: 0x4b2): force_no_backtrace
<216> DW_AT_type : <0x61b>
<21a> DW_AT_alignment : 1
<21b> DW_AT_data_member_location: 17
<5><21c>: Abbrev Number: 0
<4><21d>: Abbrev Number: 0
<3><21e>: Abbrev Number: 2 (DW_TAG_namespace)
<21f> DW_AT_name : (indirect string, offset: 0x461): location
<4><223>: Abbrev Number: 5 (DW_TAG_structure_type)
<224> DW_AT_name : (indirect string, offset: 0x478): Location
<228> DW_AT_byte_size : 16
<229> DW_AT_alignment : 4
<5><22a>: Abbrev Number: 6 (DW_TAG_member)
<22b> DW_AT_name : (indirect string, offset: 0x46a): file
<22f> DW_AT_type : <0x526>
<233> DW_AT_alignment : 4
<234> DW_AT_data_member_location: 0
<5><235>: Abbrev Number: 6 (DW_TAG_member)
<236> DW_AT_name : (indirect string, offset: 0x46f): line
<23a> DW_AT_type : <0x4eb>
<23e> DW_AT_alignment : 4
<23f> DW_AT_data_member_location: 8
<5><240>: Abbrev Number: 6 (DW_TAG_member)
<241> DW_AT_name : (indirect string, offset: 0x474): col
<245> DW_AT_type : <0x4eb>
<249> DW_AT_alignment : 4
<24a> DW_AT_data_member_location: 12
<5><24b>: Abbrev Number: 0
<4><24c>: Abbrev Number: 0
<3><24d>: Abbrev Number: 0
<2><24e>: Abbrev Number: 2 (DW_TAG_namespace)
<24f> DW_AT_name : (indirect string, offset: 0x1d5): option
<3><253>: Abbrev Number: 5 (DW_TAG_structure_type)
<254> DW_AT_name : (indirect string, offset: 0x443): Option<&core::fmt::Arguments>
<258> DW_AT_byte_size : 4
<259> DW_AT_alignment : 4
<4><25a>: Abbrev Number: 7 (DW_TAG_variant_part)
<25b> DW_AT_discr : <0x25f>
<5><25f>: Abbrev Number: 8 (DW_TAG_member)
<260> DW_AT_type : <0x4eb>
<264> DW_AT_alignment : 4
<265> DW_AT_data_member_location: 0
<266> DW_AT_artificial : 1
<5><266>: Abbrev Number: 9 (DW_TAG_variant)
<267> DW_AT_discr_value : 0
<6><268>: Abbrev Number: 6 (DW_TAG_member)
<269> DW_AT_name : (indirect string, offset: 0x1e0): None
<26d> DW_AT_type : <0x282>
<271> DW_AT_alignment : 4
<272> DW_AT_data_member_location: 0
<6><273>: Abbrev Number: 0
<5><274>: Abbrev Number: 11 (DW_TAG_variant)
<6><275>: Abbrev Number: 6 (DW_TAG_member)
<276> DW_AT_name : (indirect string, offset: 0x27f): Some
<27a> DW_AT_type : <0x293>
<27e> DW_AT_alignment : 4
<27f> DW_AT_data_member_location: 0
<6><280>: Abbrev Number: 0
<5><281>: Abbrev Number: 0
<4><282>: Abbrev Number: 5 (DW_TAG_structure_type)
<283> DW_AT_name : (indirect string, offset: 0x1e0): None
<287> DW_AT_byte_size : 4
<288> DW_AT_alignment : 4
<5><289>: Abbrev Number: 12 (DW_TAG_template_type_param)
<28a> DW_AT_type : <0x4f2>
<28e> DW_AT_name : (indirect string, offset: 0x27d): T
<5><292>: Abbrev Number: 0
<4><293>: Abbrev Number: 5 (DW_TAG_structure_type)
<294> DW_AT_name : (indirect string, offset: 0x27f): Some
<298> DW_AT_byte_size : 4
<299> DW_AT_alignment : 4
<5><29a>: Abbrev Number: 12 (DW_TAG_template_type_param)
<29b> DW_AT_type : <0x4f2>
<29f> DW_AT_name : (indirect string, offset: 0x27d): T
<5><2a3>: Abbrev Number: 6 (DW_TAG_member)
<2a4> DW_AT_name : (indirect string, offset: 0x235): __0
<2a8> DW_AT_type : <0x4f2>
<2ac> DW_AT_alignment : 4
<2ad> DW_AT_data_member_location: 0
<5><2ae>: Abbrev Number: 0
<4><2af>: Abbrev Number: 0
<3><2b0>: Abbrev Number: 5 (DW_TAG_structure_type)
<2b1> DW_AT_name : (indirect string, offset: 0x284): Option<&[core::fmt::rt::Placeholder]>
<2b5> DW_AT_byte_size : 8
<2b6> DW_AT_alignment : 4
<4><2b7>: Abbrev Number: 7 (DW_TAG_variant_part)
<2b8> DW_AT_discr : <0x2bc>
<5><2bc>: Abbrev Number: 8 (DW_TAG_member)
<2bd> DW_AT_type : <0x4eb>
<2c1> DW_AT_alignment : 4
<2c2> DW_AT_data_member_location: 0
<2c3> DW_AT_artificial : 1
<5><2c3>: Abbrev Number: 9 (DW_TAG_variant)
<2c4> DW_AT_discr_value : 0
<6><2c5>: Abbrev Number: 6 (DW_TAG_member)
<2c6> DW_AT_name : (indirect string, offset: 0x1e0): None
<2ca> DW_AT_type : <0x2df>
<2ce> DW_AT_alignment : 4
<2cf> DW_AT_data_member_location: 0
<6><2d0>: Abbrev Number: 0
<5><2d1>: Abbrev Number: 11 (DW_TAG_variant)
<6><2d2>: Abbrev Number: 6 (DW_TAG_member)
<2d3> DW_AT_name : (indirect string, offset: 0x27f): Some
<2d7> DW_AT_type : <0x2f0>
<2db> DW_AT_alignment : 4
<2dc> DW_AT_data_member_location: 0
<6><2dd>: Abbrev Number: 0
<5><2de>: Abbrev Number: 0
<4><2df>: Abbrev Number: 5 (DW_TAG_structure_type)
<2e0> DW_AT_name : (indirect string, offset: 0x1e0): None
<2e4> DW_AT_byte_size : 8
<2e5> DW_AT_alignment : 4
<5><2e6>: Abbrev Number: 12 (DW_TAG_template_type_param)
<2e7> DW_AT_type : <0x54d>
<2eb> DW_AT_name : (indirect string, offset: 0x27d): T
<5><2ef>: Abbrev Number: 0
<4><2f0>: Abbrev Number: 5 (DW_TAG_structure_type)
<2f1> DW_AT_name : (indirect string, offset: 0x27f): Some
<2f5> DW_AT_byte_size : 8
<2f6> DW_AT_alignment : 4
<5><2f7>: Abbrev Number: 12 (DW_TAG_template_type_param)
<2f8> DW_AT_type : <0x54d>
<2fc> DW_AT_name : (indirect string, offset: 0x27d): T
<5><300>: Abbrev Number: 6 (DW_TAG_member)
<301> DW_AT_name : (indirect string, offset: 0x235): __0
<305> DW_AT_type : <0x54d>
<309> DW_AT_alignment : 4
<30a> DW_AT_data_member_location: 0
<5><30b>: Abbrev Number: 0
<4><30c>: Abbrev Number: 0
<3><30d>: Abbrev Number: 5 (DW_TAG_structure_type)
<30e> DW_AT_name : (indirect string, offset: 0x32a): Option<usize>
<312> DW_AT_byte_size : 8
<313> DW_AT_alignment : 4
<4><314>: Abbrev Number: 7 (DW_TAG_variant_part)
<315> DW_AT_discr : <0x319>
<5><319>: Abbrev Number: 8 (DW_TAG_member)
<31a> DW_AT_type : <0x4eb>
<31e> DW_AT_alignment : 4
<31f> DW_AT_data_member_location: 0
<320> DW_AT_artificial : 1
<5><320>: Abbrev Number: 9 (DW_TAG_variant)
<321> DW_AT_discr_value : 0
<6><322>: Abbrev Number: 6 (DW_TAG_member)
<323> DW_AT_name : (indirect string, offset: 0x1e0): None
<327> DW_AT_type : <0x33d>
<32b> DW_AT_alignment : 4
<32c> DW_AT_data_member_location: 0
<6><32d>: Abbrev Number: 0
<5><32e>: Abbrev Number: 9 (DW_TAG_variant)
<32f> DW_AT_discr_value : 1
<6><330>: Abbrev Number: 6 (DW_TAG_member)
<331> DW_AT_name : (indirect string, offset: 0x27f): Some
<335> DW_AT_type : <0x34e>
<339> DW_AT_alignment : 4
<33a> DW_AT_data_member_location: 0
<6><33b>: Abbrev Number: 0
<5><33c>: Abbrev Number: 0
<4><33d>: Abbrev Number: 5 (DW_TAG_structure_type)
<33e> DW_AT_name : (indirect string, offset: 0x1e0): None
<342> DW_AT_byte_size : 8
<343> DW_AT_alignment : 4
<5><344>: Abbrev Number: 12 (DW_TAG_template_type_param)
<345> DW_AT_type : <0x4dd>
<349> DW_AT_name : (indirect string, offset: 0x27d): T
<5><34d>: Abbrev Number: 0
<4><34e>: Abbrev Number: 5 (DW_TAG_structure_type)
<34f> DW_AT_name : (indirect string, offset: 0x27f): Some
<353> DW_AT_byte_size : 8
<354> DW_AT_alignment : 4
<5><355>: Abbrev Number: 12 (DW_TAG_template_type_param)
<356> DW_AT_type : <0x4dd>
<35a> DW_AT_name : (indirect string, offset: 0x27d): T
<5><35e>: Abbrev Number: 6 (DW_TAG_member)
<35f> DW_AT_name : (indirect string, offset: 0x235): __0
<363> DW_AT_type : <0x4dd>
<367> DW_AT_alignment : 4
<368> DW_AT_data_member_location: 4
<5><369>: Abbrev Number: 0
<4><36a>: Abbrev Number: 0
<3><36b>: Abbrev Number: 0
<2><36c>: Abbrev Number: 2 (DW_TAG_namespace)
<36d> DW_AT_name : (indirect string, offset: 0x2f4): result
<3><371>: Abbrev Number: 5 (DW_TAG_structure_type)
<372> DW_AT_name : (indirect string, offset: 0x30d): Result<(), core::fmt::Error>
<376> DW_AT_byte_size : 1
<377> DW_AT_alignment : 1
<4><378>: Abbrev Number: 7 (DW_TAG_variant_part)
<379> DW_AT_discr : <0x37d>
<5><37d>: Abbrev Number: 8 (DW_TAG_member)
<37e> DW_AT_type : <0x3ee>
<382> DW_AT_alignment : 1
<383> DW_AT_data_member_location: 0
<384> DW_AT_artificial : 1
<5><384>: Abbrev Number: 9 (DW_TAG_variant)
<385> DW_AT_discr_value : 0
<6><386>: Abbrev Number: 6 (DW_TAG_member)
<387> DW_AT_name : (indirect string, offset: 0x2fb): Ok
<38b> DW_AT_type : <0x3a1>
<38f> DW_AT_alignment : 1
<390> DW_AT_data_member_location: 0
<6><391>: Abbrev Number: 0
<5><392>: Abbrev Number: 9 (DW_TAG_variant)
<393> DW_AT_discr_value : 1
<6><394>: Abbrev Number: 6 (DW_TAG_member)
<395> DW_AT_name : (indirect string, offset: 0x309): Err
<399> DW_AT_type : <0x3c6>
<39d> DW_AT_alignment : 1
<39e> DW_AT_data_member_location: 0
<6><39f>: Abbrev Number: 0
<5><3a0>: Abbrev Number: 0
<4><3a1>: Abbrev Number: 5 (DW_TAG_structure_type)
<3a2> DW_AT_name : (indirect string, offset: 0x2fb): Ok
<3a6> DW_AT_byte_size : 1
<3a7> DW_AT_alignment : 1
<5><3a8>: Abbrev Number: 12 (DW_TAG_template_type_param)
<3a9> DW_AT_type : <0x5cc>
<3ad> DW_AT_name : (indirect string, offset: 0x27d): T
<5><3b1>: Abbrev Number: 12 (DW_TAG_template_type_param)
<3b2> DW_AT_type : <0x164>
<3b6> DW_AT_name : (indirect string, offset: 0x307): E
<5><3ba>: Abbrev Number: 6 (DW_TAG_member)
<3bb> DW_AT_name : (indirect string, offset: 0x235): __0
<3bf> DW_AT_type : <0x5cc>
<3c3> DW_AT_alignment : 1
<3c4> DW_AT_data_member_location: 1
<5><3c5>: Abbrev Number: 0
<4><3c6>: Abbrev Number: 5 (DW_TAG_structure_type)
<3c7> DW_AT_name : (indirect string, offset: 0x309): Err
<3cb> DW_AT_byte_size : 1
<3cc> DW_AT_alignment : 1
<5><3cd>: Abbrev Number: 12 (DW_TAG_template_type_param)
<3ce> DW_AT_type : <0x5cc>
<3d2> DW_AT_name : (indirect string, offset: 0x27d): T
<5><3d6>: Abbrev Number: 12 (DW_TAG_template_type_param)
<3d7> DW_AT_type : <0x164>
<3db> DW_AT_name : (indirect string, offset: 0x307): E
<5><3df>: Abbrev Number: 6 (DW_TAG_member)
<3e0> DW_AT_name : (indirect string, offset: 0x235): __0
<3e4> DW_AT_type : <0x164>
<3e8> DW_AT_alignment : 1
<3e9> DW_AT_data_member_location: 1
<5><3ea>: Abbrev Number: 0
<4><3eb>: Abbrev Number: 0
<3><3ec>: Abbrev Number: 0
<2><3ed>: Abbrev Number: 0
<1><3ee>: Abbrev Number: 13 (DW_TAG_base_type)
<3ef> DW_AT_name : (indirect string, offset: 0xb5): u8
<3f3> DW_AT_encoding : 7 (unsigned)
<3f4> DW_AT_byte_size : 1
<1><3f5>: Abbrev Number: 2 (DW_TAG_namespace)
<3f6> DW_AT_name : (indirect string, offset: 0xfd): hello_rust_main
<2><3fa>: Abbrev Number: 14 (DW_TAG_subprogram)
<3fb> DW_AT_low_pc : 0x0
<3ff> DW_AT_high_pc : 0x4
<403> DW_AT_frame_base : 1 byte block: 52 (DW_OP_reg2 (sp))
<405> DW_AT_linkage_name: (indirect string, offset: 0x10d): rust_begin_unwind
<409> DW_AT_name : (indirect string, offset: 0x11f): panic
<40d> DW_AT_decl_file : 1
<40e> DW_AT_decl_line : 58
<40f> DW_AT_noreturn : 1
<3><40f>: Abbrev Number: 15 (DW_TAG_formal_parameter)
<410> DW_AT_location : 1 byte block: 5a (DW_OP_reg10 (a0))
<412> DW_AT_name : (indirect string, offset: 0x129): _panic
<416> DW_AT_decl_file : 1
<417> DW_AT_decl_line : 58
<418> DW_AT_type : <0x488>
<3><41c>: Abbrev Number: 0
<2><41d>: Abbrev Number: 16 (DW_TAG_subprogram)
<41e> DW_AT_low_pc : 0x0
<422> DW_AT_high_pc : 0x88
<426> DW_AT_frame_base : 1 byte block: 52 (DW_OP_reg2 (sp))
<428> DW_AT_name : (indirect string, offset: 0xfd): hello_rust_main
<42c> DW_AT_decl_file : 1
<42d> DW_AT_decl_line : 71
<42e> DW_AT_type : <0x481>
<432> DW_AT_external : 1
<3><432>: Abbrev Number: 17 (DW_TAG_formal_parameter)
<433> DW_AT_location : 0x0 (location list)
<437> DW_AT_name : (indirect string, offset: 0x4f6): _argc
<43b> DW_AT_decl_file : 1
<43c> DW_AT_decl_line : 71
<43d> DW_AT_type : <0x481>
<3><441>: Abbrev Number: 17 (DW_TAG_formal_parameter)
<442> DW_AT_location : 0x1b (location list)
<446> DW_AT_name : (indirect string, offset: 0x4fc): _argv
<44a> DW_AT_decl_file : 1
<44b> DW_AT_decl_line : 71
<44c> DW_AT_type : <0x637>
<3><450>: Abbrev Number: 18 (DW_TAG_lexical_block)
<451> DW_AT_low_pc : 0x2c
<455> DW_AT_high_pc : 0x48
<4><459>: Abbrev Number: 19 (DW_TAG_variable)
<45a> DW_AT_location : 1 byte block: 58 (DW_OP_reg8 (s0))
<45c> DW_AT_name : (indirect string, offset: 0x51d): stdin
<460> DW_AT_decl_file : 1
<461> DW_AT_decl_line : 79
<462> DW_AT_type : <0x651>
<4><466>: Abbrev Number: 18 (DW_TAG_lexical_block)
<467> DW_AT_low_pc : 0x40
<46b> DW_AT_high_pc : 0x34
<5><46f>: Abbrev Number: 19 (DW_TAG_variable)
<470> DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<473> DW_AT_name : (indirect string, offset: 0x338): buf
<477> DW_AT_decl_file : 1
<478> DW_AT_decl_line : 80
<479> DW_AT_type : <0x622>
<5><47d>: Abbrev Number: 0
<4><47e>: Abbrev Number: 0
<3><47f>: Abbrev Number: 0
<2><480>: Abbrev Number: 0
<1><481>: Abbrev Number: 13 (DW_TAG_base_type)
<482> DW_AT_name : (indirect string, offset: 0x125): i32
<486> DW_AT_encoding : 5 (signed)
<487> DW_AT_byte_size : 4
<1><488>: Abbrev Number: 20 (DW_TAG_pointer_type)
<489> DW_AT_type : <0x1de>
<48d> DW_AT_name : (indirect string, offset: 0x4cf): &core::panic::panic_info::PanicInfo
<491> DW_AT_address_class: 0x0
<1><495>: Abbrev Number: 5 (DW_TAG_structure_type)
<496> DW_AT_name : (indirect string, offset: 0x1a2): &(dyn core::any::Any + core::marker::Send)
<49a> DW_AT_byte_size : 8
<49b> DW_AT_alignment : 4
<2><49c>: Abbrev Number: 6 (DW_TAG_member)
<49d> DW_AT_name : (indirect string, offset: 0x143): pointer
<4a1> DW_AT_type : <0x4b3>
<4a5> DW_AT_alignment : 4
<4a6> DW_AT_data_member_location: 0
<2><4a7>: Abbrev Number: 6 (DW_TAG_member)
<4a8> DW_AT_name : (indirect string, offset: 0x175): vtable
<4ac> DW_AT_type : <0x4c3>
<4b0> DW_AT_alignment : 4
<4b1> DW_AT_data_member_location: 4
<2><4b2>: Abbrev Number: 0
<1><4b3>: Abbrev Number: 21 (DW_TAG_pointer_type)
<4b4> DW_AT_type : <0x4bc>
<4b8> DW_AT_address_class: 0x0
<1><4bc>: Abbrev Number: 10 (DW_TAG_structure_type)
<4bd> DW_AT_name : (indirect string, offset: 0x14b): (dyn core::any::Any + core::marker::Send)
<4c1> DW_AT_byte_size : 0
<4c2> DW_AT_alignment : 1
<1><4c3>: Abbrev Number: 20 (DW_TAG_pointer_type)
<4c4> DW_AT_type : <0x4d0>
<4c8> DW_AT_name : (indirect string, offset: 0x196): &[usize; 3]
<4cc> DW_AT_address_class: 0x0
<1><4d0>: Abbrev Number: 22 (DW_TAG_array_type)
<4d1> DW_AT_type : <0x4dd>
<2><4d5>: Abbrev Number: 23 (DW_TAG_subrange_type)
<4d6> DW_AT_type : <0x4e4>
<4da> DW_AT_lower_bound : 0
<4db> DW_AT_count : 3
<2><4dc>: Abbrev Number: 0
<1><4dd>: Abbrev Number: 13 (DW_TAG_base_type)
<4de> DW_AT_name : (indirect string, offset: 0x17c): usize
<4e2> DW_AT_encoding : 7 (unsigned)
<4e3> DW_AT_byte_size : 4
<1><4e4>: Abbrev Number: 24 (DW_TAG_base_type)
<4e5> DW_AT_name : (indirect string, offset: 0x182): __ARRAY_SIZE_TYPE__
<4e9> DW_AT_byte_size : 8
<4ea> DW_AT_encoding : 7 (unsigned)
<1><4eb>: Abbrev Number: 13 (DW_TAG_base_type)
<4ec> DW_AT_name : (indirect string, offset: 0x1dc): u32
<4f0> DW_AT_encoding : 7 (unsigned)
<4f1> DW_AT_byte_size : 4
<1><4f2>: Abbrev Number: 20 (DW_TAG_pointer_type)
<4f3> DW_AT_type : <0x13b>
<4f7> DW_AT_name : (indirect string, offset: 0x42d): &core::fmt::Arguments
<4fb> DW_AT_address_class: 0x0
<1><4ff>: Abbrev Number: 5 (DW_TAG_structure_type)
<500> DW_AT_name : (indirect string, offset: 0x201): &[&str]
<504> DW_AT_byte_size : 8
<505> DW_AT_alignment : 4
<2><506>: Abbrev Number: 6 (DW_TAG_member)
<507> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<50b> DW_AT_type : <0x51d>
<50f> DW_AT_alignment : 4
<510> DW_AT_data_member_location: 0
<2><511>: Abbrev Number: 6 (DW_TAG_member)
<512> DW_AT_name : (indirect string, offset: 0x1f5): length
<516> DW_AT_type : <0x4dd>
<51a> DW_AT_alignment : 4
<51b> DW_AT_data_member_location: 4
<2><51c>: Abbrev Number: 0
<1><51d>: Abbrev Number: 21 (DW_TAG_pointer_type)
<51e> DW_AT_type : <0x526>
<522> DW_AT_address_class: 0x0
<1><526>: Abbrev Number: 5 (DW_TAG_structure_type)
<527> DW_AT_name : (indirect string, offset: 0x1fc): &str
<52b> DW_AT_byte_size : 8
<52c> DW_AT_alignment : 4
<2><52d>: Abbrev Number: 6 (DW_TAG_member)
<52e> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<532> DW_AT_type : <0x544>
<536> DW_AT_alignment : 4
<537> DW_AT_data_member_location: 0
<2><538>: Abbrev Number: 6 (DW_TAG_member)
<539> DW_AT_name : (indirect string, offset: 0x1f5): length
<53d> DW_AT_type : <0x4dd>
<541> DW_AT_alignment : 4
<542> DW_AT_data_member_location: 4
<2><543>: Abbrev Number: 0
<1><544>: Abbrev Number: 21 (DW_TAG_pointer_type)
<545> DW_AT_type : <0x3ee>
<549> DW_AT_address_class: 0x0
<1><54d>: Abbrev Number: 5 (DW_TAG_structure_type)
<54e> DW_AT_name : (indirect string, offset: 0x25f): &[core::fmt::rt::Placeholder]
<552> DW_AT_byte_size : 8
<553> DW_AT_alignment : 4
<2><554>: Abbrev Number: 6 (DW_TAG_member)
<555> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<559> DW_AT_type : <0x56b>
<55d> DW_AT_alignment : 4
<55e> DW_AT_data_member_location: 0
<2><55f>: Abbrev Number: 6 (DW_TAG_member)
<560> DW_AT_name : (indirect string, offset: 0x1f5): length
<564> DW_AT_type : <0x4dd>
<568> DW_AT_alignment : 4
<569> DW_AT_data_member_location: 4
<2><56a>: Abbrev Number: 0
<1><56b>: Abbrev Number: 21 (DW_TAG_pointer_type)
<56c> DW_AT_type : <0x59>
<570> DW_AT_address_class: 0x0
<1><574>: Abbrev Number: 13 (DW_TAG_base_type)
<575> DW_AT_name : (indirect string, offset: 0x217): char
<579> DW_AT_encoding : 16 (unicode string)
<57a> DW_AT_byte_size : 4
<1><57b>: Abbrev Number: 5 (DW_TAG_structure_type)
<57c> DW_AT_name : (indirect string, offset: 0x408): &[core::fmt::rt::Argument]
<580> DW_AT_byte_size : 8
<581> DW_AT_alignment : 4
<2><582>: Abbrev Number: 6 (DW_TAG_member)
<583> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<587> DW_AT_type : <0x599>
<58b> DW_AT_alignment : 4
<58c> DW_AT_data_member_location: 0
<2><58d>: Abbrev Number: 6 (DW_TAG_member)
<58e> DW_AT_name : (indirect string, offset: 0x1f5): length
<592> DW_AT_type : <0x4dd>
<596> DW_AT_alignment : 4
<597> DW_AT_data_member_location: 4
<2><598>: Abbrev Number: 0
<1><599>: Abbrev Number: 21 (DW_TAG_pointer_type)
<59a> DW_AT_type : <0x10f>
<59e> DW_AT_address_class: 0x0
<1><5a2>: Abbrev Number: 20 (DW_TAG_pointer_type)
<5a3> DW_AT_type : <0x132>
<5a7> DW_AT_name : (indirect string, offset: 0x2c7): &core::fmt::rt::{extern#0}::Opaque
<5ab> DW_AT_address_class: 0x0
<1><5af>: Abbrev Number: 20 (DW_TAG_pointer_type)
<5b0> DW_AT_type : <0x5bc>
<5b4> DW_AT_name : (indirect string, offset: 0x38f): fn(&core::fmt::rt::{extern#0}::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>
<5b8> DW_AT_address_class: 0x0
<1><5bc>: Abbrev Number: 25 (DW_TAG_subroutine_type)
<5bd> DW_AT_type : <0x371>
<2><5c1>: Abbrev Number: 26 (DW_TAG_formal_parameter)
<5c2> DW_AT_type : <0x5a2>
<2><5c6>: Abbrev Number: 26 (DW_TAG_formal_parameter)
<5c7> DW_AT_type : <0x5d3>
<2><5cb>: Abbrev Number: 0
<1><5cc>: Abbrev Number: 13 (DW_TAG_base_type)
<5cd> DW_AT_name : (indirect string, offset: 0x2fe): ()
<5d1> DW_AT_encoding : 7 (unsigned)
<5d2> DW_AT_byte_size : 0
<1><5d3>: Abbrev Number: 20 (DW_TAG_pointer_type)
<5d4> DW_AT_type : <0x16b>
<5d8> DW_AT_name : (indirect string, offset: 0x375): &mut core::fmt::Formatter
<5dc> DW_AT_address_class: 0x0
<1><5e0>: Abbrev Number: 5 (DW_TAG_structure_type)
<5e1> DW_AT_name : (indirect string, offset: 0x351): &mut dyn core::fmt::Write
<5e5> DW_AT_byte_size : 8
<5e6> DW_AT_alignment : 4
<2><5e7>: Abbrev Number: 6 (DW_TAG_member)
<5e8> DW_AT_name : (indirect string, offset: 0x143): pointer
<5ec> DW_AT_type : <0x5fe>
<5f0> DW_AT_alignment : 4
<5f1> DW_AT_data_member_location: 0
<2><5f2>: Abbrev Number: 6 (DW_TAG_member)
<5f3> DW_AT_name : (indirect string, offset: 0x175): vtable
<5f7> DW_AT_type : <0x4c3>
<5fb> DW_AT_alignment : 4
<5fc> DW_AT_data_member_location: 4
<2><5fd>: Abbrev Number: 0
<1><5fe>: Abbrev Number: 21 (DW_TAG_pointer_type)
<5ff> DW_AT_type : <0x607>
<603> DW_AT_address_class: 0x0
<1><607>: Abbrev Number: 10 (DW_TAG_structure_type)
<608> DW_AT_name : (indirect string, offset: 0x33c): dyn core::fmt::Write
<60c> DW_AT_byte_size : 0
<60d> DW_AT_alignment : 1
<1><60e>: Abbrev Number: 20 (DW_TAG_pointer_type)
<60f> DW_AT_type : <0x223>
<613> DW_AT_name : (indirect string, offset: 0x481): &core::panic::location::Location
<617> DW_AT_address_class: 0x0
<1><61b>: Abbrev Number: 13 (DW_TAG_base_type)
<61c> DW_AT_name : (indirect string, offset: 0x4ad): bool
<620> DW_AT_encoding : 2 (boolean)
<621> DW_AT_byte_size : 1
<1><622>: Abbrev Number: 22 (DW_TAG_array_type)
<623> DW_AT_type : <0x630>
<2><627>: Abbrev Number: 27 (DW_TAG_subrange_type)
<628> DW_AT_type : <0x4e4>
<62c> DW_AT_lower_bound : 0
<62d> DW_AT_count : 256
<2><62f>: Abbrev Number: 0
<1><630>: Abbrev Number: 13 (DW_TAG_base_type)
<631> DW_AT_name : (indirect string, offset: 0x4f3): i8
<635> DW_AT_encoding : 5 (signed)
<636> DW_AT_byte_size : 1
<1><637>: Abbrev Number: 20 (DW_TAG_pointer_type)
<638> DW_AT_type : <0x644>
<63c> DW_AT_name : (indirect string, offset: 0x50c): *const *const u8
<640> DW_AT_address_class: 0x0
<1><644>: Abbrev Number: 20 (DW_TAG_pointer_type)
<645> DW_AT_type : <0x3ee>
<649> DW_AT_name : (indirect string, offset: 0x502): *const u8
<64d> DW_AT_address_class: 0x0
<1><651>: Abbrev Number: 20 (DW_TAG_pointer_type)
<652> DW_AT_type : <0x1bb>
<656> DW_AT_name : (indirect string, offset: 0x523): *mut core::ffi::c_void
<65a> DW_AT_address_class: 0x0
<1><65e>: Abbrev Number: 0
Contents of the .debug_aranges section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Length: 36
Version: 2
Offset into .debug_info: 0x0
Pointer Size: 4
Segment Size: 0
Address Length
00000000 00000004
00000000 00000088
00000000 00000000
Contents of the .debug_ranges section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Offset Begin End
00000000 00000000 00000004
00000000 00000000 00000088
00000000 <End of list>
Contents of the .debug_str section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
0x00000000 636c616e 67204c4c 564d2028 72757374 clang LLVM (rust
0x00000010 63207665 7273696f 6e20312e 37342e30 c version 1.74.0
0x00000020 2d6e6967 68746c79 20286361 36326432 -nightly (ca62d2
0x00000030 63343420 32303233 2d30392d 33302929 c44 2023-09-30))
0x00000040 0068656c 6c6f5f72 7573745f 6d61696e .hello_rust_main
0x00000050 2e72732f 402f6865 6c6c6f5f 72757374 .rs/@/hello_rust
0x00000060 5f6d6169 6e2e3564 31396631 34623137 _main.5d19f14b17
0x00000070 37646466 63612d63 67752e30 002f5573 7ddfca-cgu.0./Us
0x00000080 6572732f 4c757070 792f7269 7363762f ers/Luppy/riscv/
0x00000090 61707073 2f657861 6d706c65 732f6865 apps/examples/he
0x000000a0 6c6c6f5f 72757374 00636f72 6500666d llo_rust.core.fm
0x000000b0 74007274 00753800 4c656674 00526967 t.rt.u8.Left.Rig
0x000000c0 68740043 656e7465 7200556e 6b6e6f77 ht.Center.Unknow
0x000000d0 6e00416c 69676e6d 656e7400 66666900 n.Alignment.ffi.
0x000000e0 5f5f7661 7269616e 7431005f 5f766172 __variant1.__var
0x000000f0 69616e74 3200635f 766f6964 0068656c iant2.c_void.hel
0x00000100 6c6f5f72 7573745f 6d61696e 00727573 lo_rust_main.rus
0x00000110 745f6265 67696e5f 756e7769 6e640070 t_begin_unwind.p
0x00000120 616e6963 00693332 005f7061 6e696300 anic.i32._panic.
0x00000130 70616e69 635f696e 666f0070 61796c6f panic_info.paylo
0x00000140 61640070 6f696e74 65720028 64796e20 ad.pointer.(dyn
0x00000150 636f7265 3a3a616e 793a3a41 6e79202b core::any::Any +
0x00000160 20636f72 653a3a6d 61726b65 723a3a53 core::marker::S
0x00000170 656e6429 00767461 626c6500 7573697a end).vtable.usiz
0x00000180 65005f5f 41525241 595f5349 5a455f54 e.__ARRAY_SIZE_T
0x00000190 5950455f 5f00265b 7573697a 653b2033 YPE__.&[usize; 3
0x000001a0 5d002628 64796e20 636f7265 3a3a616e ].&(dyn core::an
0x000001b0 793a3a41 6e79202b 20636f72 653a3a6d y::Any + core::m
0x000001c0 61726b65 723a3a53 656e6429 006d6573 arker::Send).mes
0x000001d0 73616765 006f7074 696f6e00 75333200 sage.option.u32.
0x000001e0 4e6f6e65 00706965 63657300 64617461 None.pieces.data
0x000001f0 5f707472 006c656e 67746800 26737472 _ptr.length.&str
0x00000200 00265b26 7374725d 00706f73 6974696f .&[&str].positio
0x00000210 6e006669 6c6c0063 68617200 616c6967 n.fill.char.alig
0x00000220 6e00666c 61677300 70726563 6973696f n.flags.precisio
0x00000230 6e004973 005f5f30 00506172 616d0049 n.Is.__0.Param.I
0x00000240 6d706c69 65640043 6f756e74 00776964 mplied.Count.wid
0x00000250 74680050 6c616365 686f6c64 65720026 th.Placeholder.&
0x00000260 5b636f72 653a3a66 6d743a3a 72743a3a [core::fmt::rt::
0x00000270 506c6163 65686f6c 6465725d 00540053 Placeholder].T.S
0x00000280 6f6d6500 4f707469 6f6e3c26 5b636f72 ome.Option<&[cor
0x00000290 653a3a66 6d743a3a 72743a3a 506c6163 e::fmt::rt::Plac
0x000002a0 65686f6c 6465725d 3e006172 67730076 eholder]>.args.v
0x000002b0 616c7565 007b6578 7465726e 23307d00 alue.{extern#0}.
0x000002c0 4f706171 75650026 636f7265 3a3a666d Opaque.&core::fm
0x000002d0 743a3a72 743a3a7b 65787465 726e2330 t::rt::{extern#0
0x000002e0 7d3a3a4f 70617175 6500666f 726d6174 }::Opaque.format
0x000002f0 74657200 72657375 6c74004f 6b002829 ter.result.Ok.()
0x00000300 00457272 6f720045 00457272 00526573 .Error.E.Err.Res
0x00000310 756c743c 28292c20 636f7265 3a3a666d ult<(), core::fm
0x00000320 743a3a45 72726f72 3e004f70 74696f6e t::Error>.Option
0x00000330 3c757369 7a653e00 62756600 64796e20 <usize>.buf.dyn
0x00000340 636f7265 3a3a666d 743a3a57 72697465 core::fmt::Write
0x00000350 00266d75 74206479 6e20636f 72653a3a .&mut dyn core::
0x00000360 666d743a 3a577269 74650046 6f726d61 fmt::Write.Forma
0x00000370 74746572 00266d75 7420636f 72653a3a tter.&mut core::
0x00000380 666d743a 3a466f72 6d617474 65720066 fmt::Formatter.f
0x00000390 6e282663 6f72653a 3a666d74 3a3a7274 n(&core::fmt::rt
0x000003a0 3a3a7b65 78746572 6e23307d 3a3a4f70 ::{extern#0}::Op
0x000003b0 61717565 2c20266d 75742063 6f72653a aque, &mut core:
0x000003c0 3a666d74 3a3a466f 726d6174 74657229 :fmt::Formatter)
0x000003d0 202d3e20 636f7265 3a3a7265 73756c74 -> core::result
0x000003e0 3a3a5265 73756c74 3c28292c 20636f72 ::Result<(), cor
0x000003f0 653a3a66 6d743a3a 4572726f 723e0041 e::fmt::Error>.A
0x00000400 7267756d 656e7400 265b636f 72653a3a rgument.&[core::
0x00000410 666d743a 3a72743a 3a417267 756d656e fmt::rt::Argumen
0x00000420 745d0041 7267756d 656e7473 0026636f t].Arguments.&co
0x00000430 72653a3a 666d743a 3a417267 756d656e re::fmt::Argumen
0x00000440 7473004f 7074696f 6e3c2663 6f72653a ts.Option<&core:
0x00000450 3a666d74 3a3a4172 67756d65 6e74733e :fmt::Arguments>
0x00000460 006c6f63 6174696f 6e006669 6c65006c .location.file.l
0x00000470 696e6500 636f6c00 4c6f6361 74696f6e ine.col.Location
0x00000480 0026636f 72653a3a 70616e69 633a3a6c .&core::panic::l
0x00000490 6f636174 696f6e3a 3a4c6f63 6174696f ocation::Locatio
0x000004a0 6e006361 6e5f756e 77696e64 00626f6f n.can_unwind.boo
0x000004b0 6c00666f 7263655f 6e6f5f62 61636b74 l.force_no_backt
0x000004c0 72616365 0050616e 6963496e 666f0026 race.PanicInfo.&
0x000004d0 636f7265 3a3a7061 6e69633a 3a70616e core::panic::pan
0x000004e0 69635f69 6e666f3a 3a50616e 6963496e ic_info::PanicIn
0x000004f0 666f0069 38005f61 72676300 5f617267 fo.i8._argc._arg
0x00000500 76002a63 6f6e7374 20753800 2a636f6e v.*const u8.*con
0x00000510 7374202a 636f6e73 74207538 00737464 st *const u8.std
0x00000520 696e002a 6d757420 636f7265 3a3a6666 in.*mut core::ff
0x00000530 693a3a63 5f766f69 6400 i::c_void.
Contents of the .debug_pubnames section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Length: 213
Version: 2
Offset into .debug_info section: 0x0
Size of area in .debug_info section: 1631
Offset Name
26 core
2b fmt
30 rt
40 Left
46 Right
4c Center
52 Unknown
12d {extern#0}
1b6 ffi
1c6 __variant1
1cc __variant2
1d4 panic
1d9 panic_info
21e location
24e option
36c result
41d hello_rust_main
Contents of the .debug_pubtypes section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Length: 946
Version: 2
Offset into .debug_info section: 0x0
Size of area in .debug_info section: 1631
Offset Name
35 Alignment
59 Placeholder
a3 Count
10f Argument
132 Opaque
13b Arguments
164 Error
16b Formatter
1bb c_void
1de PanicInfo
223 Location
253 Option<&core::fmt::Arguments>
2b0 Option<&[core::fmt::rt::Placeholder]>
30d Option<usize>
371 Result<(), core::fmt::Error>
3ee u8
481 i32
488 &core::panic::panic_info::PanicInfo
495 &(dyn core::any::Any + core::marker::Send)
4bc (dyn core::any::Any + core::marker::Send)
4c3 &[usize; 3]
4dd usize
4eb u32
4f2 &core::fmt::Arguments
4ff &[&str]
526 &str
54d &[core::fmt::rt::Placeholder]
574 char
57b &[core::fmt::rt::Argument]
5a2 &core::fmt::rt::{extern#0}::Opaque
5af fn(&core::fmt::rt::{extern#0}::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>
5cc ()
5d3 &mut core::fmt::Formatter
5e0 &mut dyn core::fmt::Write
607 dyn core::fmt::Write
60e &core::panic::location::Location
61b bool
630 i8
637 *const *const u8
644 *const u8
651 *mut core::ffi::c_void
Contents of the .debug_frame section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
00000000 00000010 ffffffff CIE
Version: 4
Augmentation: ""
Pointer Size: 4
Segment Size: 0
Code alignment factor: 1
Data alignment factor: -4
Return address column: 1
DW_CFA_def_cfa: r2 (sp) ofs 0
DW_CFA_nop
DW_CFA_nop
00000014 0000000c 00000000 FDE cie=00000000 pc=00000000..00000004
00000024 00000018 00000000 FDE cie=00000000 pc=00000000..00000088
DW_CFA_advance_loc: 4 to 00000004
DW_CFA_def_cfa_offset: 272
DW_CFA_advance_loc: 8 to 0000000c
DW_CFA_offset: r1 (ra) at cfa-4
DW_CFA_offset: r8 (s0) at cfa-8
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
Raw dump of debug contents of section .debug_line (loaded from ../apps/examples/hello_rust/hello_rust_main.rs...apps.examples.hello_rust_1.o):
Offset: 0x0
Length: 145
DWARF Version: 4
Prologue Length: 42
Minimum Instruction Length: 1
Maximum Ops per Instruction: 1
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 arg
Opcode 3 has 1 arg
Opcode 4 has 1 arg
Opcode 5 has 1 arg
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 arg
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 arg
The Directory Table is empty.
The File Name Table (offset 0x1d):
Entry Dir Time Size Name
1 0 0 0 hello_rust_main.rs
Line Number Statements:
[0x00000034] Set column to 5
[0x00000036] Set prologue_end to true
[0x00000037] Extended opcode 2: set Address to 0x0
[0x0000003e] Advance Line by 58 to 59
[0x00000040] Copy
[0x00000041] Advance PC by fixed size amount 4 to 0x4
[0x00000044] Extended opcode 1: End of Sequence
[0x00000047] Extended opcode 2: set Address to 0x0
[0x0000004e] Advance Line by 70 to 71
[0x00000051] Copy
[0x00000052] Set column to 9
[0x00000054] Set prologue_end to true
[0x00000055] Advance Line by 4 to 75
[0x00000057] Advance PC by fixed size amount 4 to 0x4
[0x0000005a] Copy (view 1)
[0x0000005b] Set column to 45
[0x0000005d] Advance Line by 4 to 79
[0x0000005f] Advance PC by fixed size amount 24 to 0x1c
[0x00000062] Copy (view 2)
[0x00000063] Set column to 49
[0x00000065] Advance Line by 1 to 80
[0x00000067] Advance PC by fixed size amount 16 to 0x2c
[0x0000006a] Copy (view 3)
[0x0000006b] Set column to 13
[0x0000006d] Advance Line by 1 to 81
[0x0000006f] Advance PC by fixed size amount 20 to 0x40
[0x00000072] Copy (view 4)
[0x00000073] Advance Line by 5 to 86
[0x00000075] Advance PC by fixed size amount 24 to 0x58
[0x00000078] Copy (view 5)
[0x00000079] Advance Line by 1 to 87
[0x0000007b] Advance PC by fixed size amount 16 to 0x68
[0x0000007e] Copy (view 6)
[0x0000007f] Set column to 2
[0x00000081] Advance Line by 7 to 94
[0x00000083] Advance PC by fixed size amount 12 to 0x74
[0x00000086] Copy (view 7)
[0x00000087] Set is_stmt to 0
[0x00000088] Set epilogue_begin to true
[0x00000089] Advance Line by 0 to 94
[0x0000008b] Advance PC by fixed size amount 12 to 0x80
[0x0000008e] Copy (view 8)
[0x0000008f] Advance PC by fixed size amount 8 to 0x88
[0x00000092] Extended opcode 1: End of Sequence
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment