Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Created April 6, 2024 02:23
Show Gist options
  • Save lupyuen/905c8f47155376c888efb35544afeaf7 to your computer and use it in GitHub Desktop.
Save lupyuen/905c8f47155376c888efb35544afeaf7 to your computer and use it in GitHub Desktop.
# Luppy at Luppys-MBP in ~/riscv [10:17:27]
→ cd nuttx
# Luppy at Luppys-MBP in ~/riscv/nuttx on git:rust ● [10:17:35]
→ 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.Users.Luppy.riscv.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 F .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000018 core::ptr::mut_ptr::<impl *mut T>::is_null
00000000 l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
00000000 l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
00000000 l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
00000008 l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
0000000c l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
0000000c l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
00000010 l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
00000018 l .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE 00000000
00000000 l .text.rust_begin_unwind 00000000
00000000 l .text.rust_begin_unwind 00000000
00000000 l .text.rust_begin_unwind 00000000
00000008 l .text.rust_begin_unwind 00000000
00000010 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
00000000 l O .rodata..L__unnamed_1 0000000f .L__unnamed_1
00000010 l .text.hello_rust_main 00000000
00000024 l .text.hello_rust_main 00000000
0000004c l .text.hello_rust_main 00000000
0000004c l .text.hello_rust_main 00000000
0000005c l .text.hello_rust_main 00000000
0000005c l .text.hello_rust_main 00000000
00000068 l .text.hello_rust_main 00000000
00000000 l O .rodata.str.0 00000021 str.0
0000008c l .text.hello_rust_main 00000000
00000000 l O .rodata..L__unnamed_2 00000010 .L__unnamed_2
00000000 l O .rodata.cst16 00000010 .L__unnamed_3
000000ac l .text.hello_rust_main 00000000
000000c0 l .text.hello_rust_main 00000000
000000cc l .text.hello_rust_main 00000000
000000cc l .text.hello_rust_main 00000000
000000d0 l .text.hello_rust_main 00000000
000000d4 l .text.hello_rust_main 00000000
000000dc l .text.hello_rust_main 00000000
000000dc l .text.hello_rust_main 00000000
00000000 l O .rodata..L__unnamed_4 00000012 .L__unnamed_4
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
0000035a l .debug_str 00000000
00000310 l .debug_str 00000000
00000319 l .debug_str 00000000
00000323 l .debug_str 00000000
00000329 l .debug_str 00000000
0000032f l .debug_str 00000000
00000354 l .debug_str 00000000
0000034e l .debug_str 00000000
00000339 l .debug_str 00000000
00000340 l .debug_str 00000000
00000346 l .debug_str 00000000
0000033c l .debug_str 00000000
00000504 l .debug_str 00000000
000003b4 l .debug_str 00000000
000003ef l .debug_str 00000000
000003ba l .debug_str 00000000
000003c5 l .debug_str 00000000
00000528 l .debug_str 00000000
000002ec l .debug_str 00000000
000003af l .debug_str 00000000
00000406 l .debug_str 00000000
00000470 l .debug_str 00000000
0000043d l .debug_str 00000000
000000dc l .debug_str 00000000
000000f6 l .debug_str 00000000
000000e0 l .debug_str 00000000
000000eb l .debug_str 00000000
000000fd l .debug_str 00000000
00000101 l .debug_str 00000000
00000109 l .debug_str 00000000
00000112 l .debug_str 00000000
0000011a l .debug_str 00000000
0000017a l .debug_str 00000000
000001a9 l .debug_str 00000000
000001fb l .debug_str 00000000
00000223 l .debug_str 00000000
000001a7 l .debug_str 00000000
00000219 l .debug_str 00000000
00000237 l .debug_str 00000000
000005c5 l .debug_str 00000000
00000242 l .debug_str 00000000
000002d4 l .debug_str 00000000
00000566 l .debug_str 00000000
000005a7 l .debug_str 00000000
000005b2 l .debug_str 00000000
0000057d l .debug_str 00000000
0000056f l .debug_str 00000000
00000574 l .debug_str 00000000
00000579 l .debug_str 00000000
000002dc l .debug_str 00000000
00000548 l .debug_str 00000000
000002e7 l .debug_str 00000000
00000384 l .debug_str 00000000
00000389 l .debug_str 00000000
0000042f l .debug_str 00000000
000003f9 l .debug_str 00000000
00000412 l .debug_str 00000000
00000400 l .debug_str 00000000
0000040e l .debug_str 00000000
0000040c l .debug_str 00000000
000000b5 l .debug_str 00000000
00000187 l .debug_str 00000000
0000018c l .debug_str 00000000
00000194 l .debug_str 00000000
00000207 l .debug_str 00000000
00000230 l .debug_str 00000000
000005f3 l .debug_str 00000000
000005f9 l .debug_str 00000000
0000061a l .debug_str 00000000
000001a4 l .debug_str 00000000
0000021f l .debug_str 00000000
00000228 l .debug_str 00000000
000005cf l .debug_str 00000000
000002a9 l .debug_str 00000000
0000024a l .debug_str 00000000
0000027c l .debug_str 00000000
00000252 l .debug_str 00000000
0000029d l .debug_str 00000000
00000283 l .debug_str 00000000
00000289 l .debug_str 00000000
000002e3 l .debug_str 00000000
00000532 l .debug_str 00000000
00000308 l .debug_str 00000000
000002f3 l .debug_str 00000000
000002fc l .debug_str 00000000
00000303 l .debug_str 00000000
00000366 l .debug_str 00000000
0000031e l .debug_str 00000000
0000050d l .debug_str 00000000
000003cc l .debug_str 00000000
00000494 l .debug_str 00000000
00000403 l .debug_str 00000000
0000047a l .debug_str 00000000
00000456 l .debug_str 00000000
00000441 l .debug_str 00000000
00000586 l .debug_str 00000000
00000609 l .debug_str 00000000
000005ff l .debug_str 00000000
00000620 l .debug_str 00000000
000000dc l .text.hello_rust_main 00000000
00000000 l .debug_frame 00000000
00000000 g F .text.rust_begin_unwind 00000010 .hidden rust_begin_unwind
00000000 g F .text.hello_rust_main 000000dc hello_rust_main
00000000 *UND* 00000000 printf
00000000 *UND* 00000000 lib_get_stream
00000000 *UND* 00000000 memset
00000000 *UND* 00000000 fgets
00000000 *UND* 00000000 core::panicking::panic
00000000 *UND* 00000000 puts
Disassembly of section .text._ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE:
00000000 <core::ptr::mut_ptr::<impl *mut T>::is_null>:
core::ptr::mut_ptr::<impl *mut T>::is_null:
/rustc/ca62d2c445628587660ae48013f460b08b1f5552/library/core/src/ptr/mut_ptr.rs:35
0: ff010113 addi sp,sp,-16
4: 00a12423 sw a0,8(sp)
/rustc/ca62d2c445628587660ae48013f460b08b1f5552/library/core/src/ptr/mut_ptr.rs:52
8: 00a12623 sw a0,12(sp)
core::ptr::mut_ptr::<impl *mut T>::is_null::runtime_impl:
/rustc/ca62d2c445628587660ae48013f460b08b1f5552/library/core/src/ptr/mut_ptr.rs:38
c: 00153513 seqz a0,a0
core::ptr::mut_ptr::<impl *mut T>::is_null:
/rustc/ca62d2c445628587660ae48013f460b08b1f5552/library/core/src/ptr/mut_ptr.rs:53
10: 01010113 addi sp,sp,16
14: 00008067 ret
Disassembly of section .text.rust_begin_unwind:
00000000 <rust_begin_unwind>:
rust_begin_unwind():
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:59
/****************************************************************************
* Panic handler (needed for [no_std] compilation)
****************************************************************************/
#[panic_handler]
fn panic(_panic: &PanicInfo<'_>) -> ! {
0: ff010113 addi sp,sp,-16
4: 00a12623 sw a0,12(sp)
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:60
loop {}
8: 0040006f j c <rust_begin_unwind+0xc>
c: 0000006f j c <rust_begin_unwind+0xc>
Disassembly of section .text.hello_rust_main:
00000000 <hello_rust_main>:
hello_rust_main():
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:72
/****************************************************************************
* hello_rust_main
****************************************************************************/
#[no_mangle]
pub extern "C" fn hello_rust_main(_argc: i32, _argv: *const *const u8) -> i32 {
0: ee010113 addi sp,sp,-288
4: 10112e23 sw ra,284(sp)
8: 10a12823 sw a0,272(sp)
c: 10b12a23 sw a1,276(sp)
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:76
/* "Hello, Rust!!" using printf() from libc */
unsafe {
printf(b"Hello, Rust!!\n\0" as *const u8);
10: 00000537 lui a0,0x0 10: R_RISCV_HI20 .L__unnamed_1
14: 00050513 mv a0,a0 14: R_RISCV_LO12_I .L__unnamed_1
18: 00000097 auipc ra,0x0 18: R_RISCV_CALL_PLT printf
1c: 000080e7 jalr ra # 18 <hello_rust_main+0x18>
20: 00000513 li a0,0
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:80
// Receive a string and print it.
// `stdin` comes from https://github.com/apache/nuttx/blob/master/include/stdio.h#L64-L68
let stdin: *mut c_void = lib_get_stream(0);
24: 00a12423 sw a0,8(sp)
28: 00000097 auipc ra,0x0 28: R_RISCV_CALL_PLT lib_get_stream
2c: 000080e7 jalr ra # 28 <hello_rust_main+0x28>
30: 00812583 lw a1,8(sp)
34: 00050613 mv a2,a0
38: 00c12023 sw a2,0(sp)
3c: 10a12c23 sw a0,280(sp)
40: 01010513 addi a0,sp,16
44: 00a12223 sw a0,4(sp)
48: 10000613 li a2,256
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:81
let mut buf: [c_char; 256] = [0; 256];
4c: 00000097 auipc ra,0x0 4c: R_RISCV_CALL_PLT memset
50: 000080e7 jalr ra # 4c <hello_rust_main+0x4c>
54: 00812503 lw a0,8(sp)
58: 0ff00593 li a1,255
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:84
if !fgets(
&mut buf[0], // Buffer
buf.len() as i32 - 1, // Size
5c: 00b12623 sw a1,12(sp)
60: 02051663 bnez a0,8c <hello_rust_main+0x8c>
64: 0040006f j 68 <hello_rust_main+0x68>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:82
if !fgets(
68: 00012603 lw a2,0(sp)
6c: 00c12583 lw a1,12(sp)
70: 00412503 lw a0,4(sp)
74: 00000097 auipc ra,0x0 74: R_RISCV_CALL_PLT fgets
78: 000080e7 jalr ra # 74 <hello_rust_main+0x74>
7c: 00000097 auipc ra,0x0 7c: R_RISCV_CALL_PLT core::ptr::mut_ptr::<impl *mut T>::is_null
80: 000080e7 jalr ra # 7c <hello_rust_main+0x7c>
84: 04051463 bnez a0,cc <hello_rust_main+0xcc>
88: 0240006f j ac <hello_rust_main+0xac>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:84
buf.len() as i32 - 1, // Size
8c: 00000537 lui a0,0x0 8c: R_RISCV_HI20 str.0
90: 00050513 mv a0,a0 90: R_RISCV_LO12_I str.0
94: 000005b7 lui a1,0x0 94: R_RISCV_HI20 .L__unnamed_2
98: 00058613 mv a2,a1 98: R_RISCV_LO12_I .L__unnamed_2
9c: 02100593 li a1,33
a0: 00000097 auipc ra,0x0 a0: R_RISCV_CALL_PLT core::panicking::panic
a4: 000080e7 jalr ra # a0 <hello_rust_main+0xa0>
a8: c0001073 unimp
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:87
stdin // Standard Input
).is_null() {
printf(b"You entered...\n\0" as *const u8);
ac: 00000537 lui a0,0x0 ac: R_RISCV_HI20 .L__unnamed_3
b0: 00050513 mv a0,a0 b0: R_RISCV_LO12_I .L__unnamed_3
b4: 00000097 auipc ra,0x0 b4: R_RISCV_CALL_PLT printf
b8: 000080e7 jalr ra # b4 <hello_rust_main+0xb4>
bc: 01010513 addi a0,sp,16
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:88
puts(&buf[0]);
c0: 00000097 auipc ra,0x0 c0: R_RISCV_CALL_PLT puts
c4: 000080e7 jalr ra # c0 <hello_rust_main+0xc0>
c8: 0040006f j cc <hello_rust_main+0xcc>
cc: 00000513 li a0,0
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:95
}
/* exit with status 0 */
0
}
d0: 11c12083 lw ra,284(sp)
d4: 12010113 addi sp,sp,288
d8: 00008067 ret
Contents of the .debug_abbrev section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.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_subprogram [has children]
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_type DW_FORM_ref4
DW_AT_inline DW_FORM_data1
DW_AT value: 0 DW_FORM value: 0
12 DW_TAG_lexical_block [has children]
DW_AT value: 0 DW_FORM value: 0
13 DW_TAG_formal_parameter [no children]
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
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_type DW_FORM_ref4
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_inlined_subroutine [has children]
DW_AT_abstract_origin DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_data4
DW_AT_call_file DW_FORM_data1
DW_AT_call_line DW_FORM_data1
DW_AT_call_column DW_FORM_data1
DW_AT value: 0 DW_FORM value: 0
17 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
18 DW_TAG_formal_parameter [no children]
DW_AT_location DW_FORM_exprloc
DW_AT_abstract_origin DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
19 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
20 DW_TAG_variant [has children]
DW_AT value: 0 DW_FORM value: 0
21 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
22 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
23 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
24 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
25 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
26 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
27 DW_TAG_array_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
28 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
29 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
30 DW_TAG_subroutine_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
31 DW_TAG_formal_parameter [no children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
32 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.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Compilation Unit @ offset 0x0:
Length: 0x702 (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): /Users/Luppy/riscv/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 : <0x478>
<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: 0x35a): 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: 0x310): position
<65> DW_AT_type : <0x592>
<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: 0x319): fill
<70> DW_AT_type : <0x629>
<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: 0x323): 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: 0x329): flags
<86> DW_AT_type : <0x5a0>
<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: 0x32f): 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: 0x354): 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: 0x34e): 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 : <0x5a0>
<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: 0x339): 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: 0x340): 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: 0x346): 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: 0x339): 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: 0x33c): __0
<ed> DW_AT_type : <0x592>
<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: 0x340): 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: 0x33c): __0
<100> DW_AT_type : <0x592>
<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: 0x346): 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: 0x504): 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: 0x3b4): value
<11b> DW_AT_type : <0x657>
<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: 0x3ef): formatter
<126> DW_AT_type : <0x664>
<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: 0x3ba): {extern#0}
<5><132>: Abbrev Number: 10 (DW_TAG_structure_type)
<133> DW_AT_name : (indirect string, offset: 0x3c5): 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: 0x528): 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: 0x2ec): pieces
<147> DW_AT_type : <0x5b4>
<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 : <0x33a>
<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: 0x3af): args
<15d> DW_AT_type : <0x630>
<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: 0x406): 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: 0x470): 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: 0x329): flags
<177> DW_AT_type : <0x5a0>
<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: 0x319): fill
<182> DW_AT_type : <0x629>
<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: 0x323): 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: 0x354): width
<198> DW_AT_type : <0x397>
<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: 0x32f): precision
<1a3> DW_AT_type : <0x397>
<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: 0x43d): buf
<1ae> DW_AT_type : <0x695>
<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 : <0x478>
<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: 0xfd): ptr
<3><1d9>: Abbrev Number: 2 (DW_TAG_namespace)
<1da> DW_AT_name : (indirect string, offset: 0x101): mut_ptr
<4><1de>: Abbrev Number: 2 (DW_TAG_namespace)
<1df> DW_AT_name : (indirect string, offset: 0x109): {impl#0}
<5><1e3>: Abbrev Number: 2 (DW_TAG_namespace)
<1e4> DW_AT_name : (indirect string, offset: 0x112): is_null
<6><1e8>: Abbrev Number: 11 (DW_TAG_subprogram)
<1e9> DW_AT_linkage_name: (indirect string, offset: 0x11a): _ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null12runtime_impl17h96524de715d71b9fE
<1ed> DW_AT_name : (indirect string, offset: 0x17a): runtime_impl
<1f1> DW_AT_decl_file : 1
<1f2> DW_AT_decl_line : 37
<1f3> DW_AT_type : <0x47f>
<1f7> DW_AT_inline : 1 (inlined)
<7><1f8>: Abbrev Number: 12 (DW_TAG_lexical_block)
<8><1f9>: Abbrev Number: 13 (DW_TAG_formal_parameter)
<1fa> DW_AT_name : (indirect string, offset: 0xfd): ptr
<1fe> DW_AT_decl_file : 1
<1ff> DW_AT_decl_line : 37
<200> DW_AT_type : <0x486>
<8><204>: Abbrev Number: 0
<7><205>: Abbrev Number: 0
<6><206>: Abbrev Number: 0
<5><207>: Abbrev Number: 14 (DW_TAG_subprogram)
<208> DW_AT_low_pc : 0x0
<20c> DW_AT_high_pc : 0x18
<210> DW_AT_frame_base : 1 byte block: 52 (DW_OP_reg2 (sp))
<212> DW_AT_linkage_name: (indirect string, offset: 0x1a9): _ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h9599d7a070c8d3beE
<216> DW_AT_name : (indirect string, offset: 0x1fb): is_null<i8>
<21a> DW_AT_decl_file : 1
<21b> DW_AT_decl_line : 35
<21c> DW_AT_type : <0x47f>
<6><220>: Abbrev Number: 15 (DW_TAG_formal_parameter)
<221> DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<224> DW_AT_name : (indirect string, offset: 0x223): self
<228> DW_AT_decl_file : 1
<229> DW_AT_decl_line : 35
<22a> DW_AT_type : <0x530>
<6><22e>: Abbrev Number: 16 (DW_TAG_inlined_subroutine)
<22f> DW_AT_abstract_origin: <0x1e8>
<233> DW_AT_low_pc : 0xc
<237> DW_AT_high_pc : 0x4
<23b> DW_AT_call_file : 1
<23c> DW_AT_call_line : 52
<23d> DW_AT_call_column : 18
<7><23e>: Abbrev Number: 17 (DW_TAG_lexical_block)
<23f> DW_AT_low_pc : 0xc
<243> DW_AT_high_pc : 0x4
<8><247>: Abbrev Number: 18 (DW_TAG_formal_parameter)
<248> DW_AT_location : 2 byte block: 91 c (DW_OP_fbreg: 12)
<24b> DW_AT_abstract_origin: <0x1f9>
<8><24f>: Abbrev Number: 0
<7><250>: Abbrev Number: 0
<6><251>: Abbrev Number: 19 (DW_TAG_template_type_param)
<252> DW_AT_type : <0x522>
<256> DW_AT_name : (indirect string, offset: 0x1a7): T
<6><25a>: Abbrev Number: 0
<5><25b>: Abbrev Number: 0
<4><25c>: Abbrev Number: 0
<3><25d>: Abbrev Number: 0
<2><25e>: Abbrev Number: 2 (DW_TAG_namespace)
<25f> DW_AT_name : (indirect string, offset: 0x219): panic
<3><263>: Abbrev Number: 2 (DW_TAG_namespace)
<264> DW_AT_name : (indirect string, offset: 0x237): panic_info
<4><268>: Abbrev Number: 5 (DW_TAG_structure_type)
<269> DW_AT_name : (indirect string, offset: 0x5c5): PanicInfo
<26d> DW_AT_byte_size : 20
<26e> DW_AT_alignment : 4
<5><26f>: Abbrev Number: 6 (DW_TAG_member)
<270> DW_AT_name : (indirect string, offset: 0x242): payload
<274> DW_AT_type : <0x54a>
<278> DW_AT_alignment : 4
<279> DW_AT_data_member_location: 0
<5><27a>: Abbrev Number: 6 (DW_TAG_member)
<27b> DW_AT_name : (indirect string, offset: 0x2d4): message
<27f> DW_AT_type : <0x2dd>
<283> DW_AT_alignment : 4
<284> DW_AT_data_member_location: 8
<5><285>: Abbrev Number: 6 (DW_TAG_member)
<286> DW_AT_name : (indirect string, offset: 0x566): location
<28a> DW_AT_type : <0x6c3>
<28e> DW_AT_alignment : 4
<28f> DW_AT_data_member_location: 12
<5><290>: Abbrev Number: 6 (DW_TAG_member)
<291> DW_AT_name : (indirect string, offset: 0x5a7): can_unwind
<295> DW_AT_type : <0x47f>
<299> DW_AT_alignment : 1
<29a> DW_AT_data_member_location: 16
<5><29b>: Abbrev Number: 6 (DW_TAG_member)
<29c> DW_AT_name : (indirect string, offset: 0x5b2): force_no_backtrace
<2a0> DW_AT_type : <0x47f>
<2a4> DW_AT_alignment : 1
<2a5> DW_AT_data_member_location: 17
<5><2a6>: Abbrev Number: 0
<4><2a7>: Abbrev Number: 0
<3><2a8>: Abbrev Number: 2 (DW_TAG_namespace)
<2a9> DW_AT_name : (indirect string, offset: 0x566): location
<4><2ad>: Abbrev Number: 5 (DW_TAG_structure_type)
<2ae> DW_AT_name : (indirect string, offset: 0x57d): Location
<2b2> DW_AT_byte_size : 16
<2b3> DW_AT_alignment : 4
<5><2b4>: Abbrev Number: 6 (DW_TAG_member)
<2b5> DW_AT_name : (indirect string, offset: 0x56f): file
<2b9> DW_AT_type : <0x5db>
<2bd> DW_AT_alignment : 4
<2be> DW_AT_data_member_location: 0
<5><2bf>: Abbrev Number: 6 (DW_TAG_member)
<2c0> DW_AT_name : (indirect string, offset: 0x574): line
<2c4> DW_AT_type : <0x5a0>
<2c8> DW_AT_alignment : 4
<2c9> DW_AT_data_member_location: 8
<5><2ca>: Abbrev Number: 6 (DW_TAG_member)
<2cb> DW_AT_name : (indirect string, offset: 0x579): col
<2cf> DW_AT_type : <0x5a0>
<2d3> DW_AT_alignment : 4
<2d4> DW_AT_data_member_location: 12
<5><2d5>: Abbrev Number: 0
<4><2d6>: Abbrev Number: 0
<3><2d7>: Abbrev Number: 0
<2><2d8>: Abbrev Number: 2 (DW_TAG_namespace)
<2d9> DW_AT_name : (indirect string, offset: 0x2dc): option
<3><2dd>: Abbrev Number: 5 (DW_TAG_structure_type)
<2de> DW_AT_name : (indirect string, offset: 0x548): Option<&core::fmt::Arguments>
<2e2> DW_AT_byte_size : 4
<2e3> DW_AT_alignment : 4
<4><2e4>: Abbrev Number: 7 (DW_TAG_variant_part)
<2e5> DW_AT_discr : <0x2e9>
<5><2e9>: Abbrev Number: 8 (DW_TAG_member)
<2ea> DW_AT_type : <0x5a0>
<2ee> DW_AT_alignment : 4
<2ef> DW_AT_data_member_location: 0
<2f0> DW_AT_artificial : 1
<5><2f0>: Abbrev Number: 9 (DW_TAG_variant)
<2f1> DW_AT_discr_value : 0
<6><2f2>: Abbrev Number: 6 (DW_TAG_member)
<2f3> DW_AT_name : (indirect string, offset: 0x2e7): None
<2f7> DW_AT_type : <0x30c>
<2fb> DW_AT_alignment : 4
<2fc> DW_AT_data_member_location: 0
<6><2fd>: Abbrev Number: 0
<5><2fe>: Abbrev Number: 20 (DW_TAG_variant)
<6><2ff>: Abbrev Number: 6 (DW_TAG_member)
<300> DW_AT_name : (indirect string, offset: 0x384): Some
<304> DW_AT_type : <0x31d>
<308> DW_AT_alignment : 4
<309> DW_AT_data_member_location: 0
<6><30a>: Abbrev Number: 0
<5><30b>: Abbrev Number: 0
<4><30c>: Abbrev Number: 5 (DW_TAG_structure_type)
<30d> DW_AT_name : (indirect string, offset: 0x2e7): None
<311> DW_AT_byte_size : 4
<312> DW_AT_alignment : 4
<5><313>: Abbrev Number: 19 (DW_TAG_template_type_param)
<314> DW_AT_type : <0x5a7>
<318> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><31c>: Abbrev Number: 0
<4><31d>: Abbrev Number: 5 (DW_TAG_structure_type)
<31e> DW_AT_name : (indirect string, offset: 0x384): Some
<322> DW_AT_byte_size : 4
<323> DW_AT_alignment : 4
<5><324>: Abbrev Number: 19 (DW_TAG_template_type_param)
<325> DW_AT_type : <0x5a7>
<329> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><32d>: Abbrev Number: 6 (DW_TAG_member)
<32e> DW_AT_name : (indirect string, offset: 0x33c): __0
<332> DW_AT_type : <0x5a7>
<336> DW_AT_alignment : 4
<337> DW_AT_data_member_location: 0
<5><338>: Abbrev Number: 0
<4><339>: Abbrev Number: 0
<3><33a>: Abbrev Number: 5 (DW_TAG_structure_type)
<33b> DW_AT_name : (indirect string, offset: 0x389): Option<&[core::fmt::rt::Placeholder]>
<33f> DW_AT_byte_size : 8
<340> DW_AT_alignment : 4
<4><341>: Abbrev Number: 7 (DW_TAG_variant_part)
<342> DW_AT_discr : <0x346>
<5><346>: Abbrev Number: 8 (DW_TAG_member)
<347> DW_AT_type : <0x5a0>
<34b> DW_AT_alignment : 4
<34c> DW_AT_data_member_location: 0
<34d> DW_AT_artificial : 1
<5><34d>: Abbrev Number: 9 (DW_TAG_variant)
<34e> DW_AT_discr_value : 0
<6><34f>: Abbrev Number: 6 (DW_TAG_member)
<350> DW_AT_name : (indirect string, offset: 0x2e7): None
<354> DW_AT_type : <0x369>
<358> DW_AT_alignment : 4
<359> DW_AT_data_member_location: 0
<6><35a>: Abbrev Number: 0
<5><35b>: Abbrev Number: 20 (DW_TAG_variant)
<6><35c>: Abbrev Number: 6 (DW_TAG_member)
<35d> DW_AT_name : (indirect string, offset: 0x384): Some
<361> DW_AT_type : <0x37a>
<365> DW_AT_alignment : 4
<366> DW_AT_data_member_location: 0
<6><367>: Abbrev Number: 0
<5><368>: Abbrev Number: 0
<4><369>: Abbrev Number: 5 (DW_TAG_structure_type)
<36a> DW_AT_name : (indirect string, offset: 0x2e7): None
<36e> DW_AT_byte_size : 8
<36f> DW_AT_alignment : 4
<5><370>: Abbrev Number: 19 (DW_TAG_template_type_param)
<371> DW_AT_type : <0x602>
<375> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><379>: Abbrev Number: 0
<4><37a>: Abbrev Number: 5 (DW_TAG_structure_type)
<37b> DW_AT_name : (indirect string, offset: 0x384): Some
<37f> DW_AT_byte_size : 8
<380> DW_AT_alignment : 4
<5><381>: Abbrev Number: 19 (DW_TAG_template_type_param)
<382> DW_AT_type : <0x602>
<386> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><38a>: Abbrev Number: 6 (DW_TAG_member)
<38b> DW_AT_name : (indirect string, offset: 0x33c): __0
<38f> DW_AT_type : <0x602>
<393> DW_AT_alignment : 4
<394> DW_AT_data_member_location: 0
<5><395>: Abbrev Number: 0
<4><396>: Abbrev Number: 0
<3><397>: Abbrev Number: 5 (DW_TAG_structure_type)
<398> DW_AT_name : (indirect string, offset: 0x42f): Option<usize>
<39c> DW_AT_byte_size : 8
<39d> DW_AT_alignment : 4
<4><39e>: Abbrev Number: 7 (DW_TAG_variant_part)
<39f> DW_AT_discr : <0x3a3>
<5><3a3>: Abbrev Number: 8 (DW_TAG_member)
<3a4> DW_AT_type : <0x5a0>
<3a8> DW_AT_alignment : 4
<3a9> DW_AT_data_member_location: 0
<3aa> DW_AT_artificial : 1
<5><3aa>: Abbrev Number: 9 (DW_TAG_variant)
<3ab> DW_AT_discr_value : 0
<6><3ac>: Abbrev Number: 6 (DW_TAG_member)
<3ad> DW_AT_name : (indirect string, offset: 0x2e7): None
<3b1> DW_AT_type : <0x3c7>
<3b5> DW_AT_alignment : 4
<3b6> DW_AT_data_member_location: 0
<6><3b7>: Abbrev Number: 0
<5><3b8>: Abbrev Number: 9 (DW_TAG_variant)
<3b9> DW_AT_discr_value : 1
<6><3ba>: Abbrev Number: 6 (DW_TAG_member)
<3bb> DW_AT_name : (indirect string, offset: 0x384): Some
<3bf> DW_AT_type : <0x3d8>
<3c3> DW_AT_alignment : 4
<3c4> DW_AT_data_member_location: 0
<6><3c5>: Abbrev Number: 0
<5><3c6>: Abbrev Number: 0
<4><3c7>: Abbrev Number: 5 (DW_TAG_structure_type)
<3c8> DW_AT_name : (indirect string, offset: 0x2e7): None
<3cc> DW_AT_byte_size : 8
<3cd> DW_AT_alignment : 4
<5><3ce>: Abbrev Number: 19 (DW_TAG_template_type_param)
<3cf> DW_AT_type : <0x592>
<3d3> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><3d7>: Abbrev Number: 0
<4><3d8>: Abbrev Number: 5 (DW_TAG_structure_type)
<3d9> DW_AT_name : (indirect string, offset: 0x384): Some
<3dd> DW_AT_byte_size : 8
<3de> DW_AT_alignment : 4
<5><3df>: Abbrev Number: 19 (DW_TAG_template_type_param)
<3e0> DW_AT_type : <0x592>
<3e4> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><3e8>: Abbrev Number: 6 (DW_TAG_member)
<3e9> DW_AT_name : (indirect string, offset: 0x33c): __0
<3ed> DW_AT_type : <0x592>
<3f1> DW_AT_alignment : 4
<3f2> DW_AT_data_member_location: 4
<5><3f3>: Abbrev Number: 0
<4><3f4>: Abbrev Number: 0
<3><3f5>: Abbrev Number: 0
<2><3f6>: Abbrev Number: 2 (DW_TAG_namespace)
<3f7> DW_AT_name : (indirect string, offset: 0x3f9): result
<3><3fb>: Abbrev Number: 5 (DW_TAG_structure_type)
<3fc> DW_AT_name : (indirect string, offset: 0x412): Result<(), core::fmt::Error>
<400> DW_AT_byte_size : 1
<401> DW_AT_alignment : 1
<4><402>: Abbrev Number: 7 (DW_TAG_variant_part)
<403> DW_AT_discr : <0x407>
<5><407>: Abbrev Number: 8 (DW_TAG_member)
<408> DW_AT_type : <0x478>
<40c> DW_AT_alignment : 1
<40d> DW_AT_data_member_location: 0
<40e> DW_AT_artificial : 1
<5><40e>: Abbrev Number: 9 (DW_TAG_variant)
<40f> DW_AT_discr_value : 0
<6><410>: Abbrev Number: 6 (DW_TAG_member)
<411> DW_AT_name : (indirect string, offset: 0x400): Ok
<415> DW_AT_type : <0x42b>
<419> DW_AT_alignment : 1
<41a> DW_AT_data_member_location: 0
<6><41b>: Abbrev Number: 0
<5><41c>: Abbrev Number: 9 (DW_TAG_variant)
<41d> DW_AT_discr_value : 1
<6><41e>: Abbrev Number: 6 (DW_TAG_member)
<41f> DW_AT_name : (indirect string, offset: 0x40e): Err
<423> DW_AT_type : <0x450>
<427> DW_AT_alignment : 1
<428> DW_AT_data_member_location: 0
<6><429>: Abbrev Number: 0
<5><42a>: Abbrev Number: 0
<4><42b>: Abbrev Number: 5 (DW_TAG_structure_type)
<42c> DW_AT_name : (indirect string, offset: 0x400): Ok
<430> DW_AT_byte_size : 1
<431> DW_AT_alignment : 1
<5><432>: Abbrev Number: 19 (DW_TAG_template_type_param)
<433> DW_AT_type : <0x681>
<437> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><43b>: Abbrev Number: 19 (DW_TAG_template_type_param)
<43c> DW_AT_type : <0x164>
<440> DW_AT_name : (indirect string, offset: 0x40c): E
<5><444>: Abbrev Number: 6 (DW_TAG_member)
<445> DW_AT_name : (indirect string, offset: 0x33c): __0
<449> DW_AT_type : <0x681>
<44d> DW_AT_alignment : 1
<44e> DW_AT_data_member_location: 1
<5><44f>: Abbrev Number: 0
<4><450>: Abbrev Number: 5 (DW_TAG_structure_type)
<451> DW_AT_name : (indirect string, offset: 0x40e): Err
<455> DW_AT_byte_size : 1
<456> DW_AT_alignment : 1
<5><457>: Abbrev Number: 19 (DW_TAG_template_type_param)
<458> DW_AT_type : <0x681>
<45c> DW_AT_name : (indirect string, offset: 0x1a7): T
<5><460>: Abbrev Number: 19 (DW_TAG_template_type_param)
<461> DW_AT_type : <0x164>
<465> DW_AT_name : (indirect string, offset: 0x40c): E
<5><469>: Abbrev Number: 6 (DW_TAG_member)
<46a> DW_AT_name : (indirect string, offset: 0x33c): __0
<46e> DW_AT_type : <0x164>
<472> DW_AT_alignment : 1
<473> DW_AT_data_member_location: 1
<5><474>: Abbrev Number: 0
<4><475>: Abbrev Number: 0
<3><476>: Abbrev Number: 0
<2><477>: Abbrev Number: 0
<1><478>: Abbrev Number: 21 (DW_TAG_base_type)
<479> DW_AT_name : (indirect string, offset: 0xb5): u8
<47d> DW_AT_encoding : 7 (unsigned)
<47e> DW_AT_byte_size : 1
<1><47f>: Abbrev Number: 21 (DW_TAG_base_type)
<480> DW_AT_name : (indirect string, offset: 0x187): bool
<484> DW_AT_encoding : 2 (boolean)
<485> DW_AT_byte_size : 1
<1><486>: Abbrev Number: 22 (DW_TAG_pointer_type)
<487> DW_AT_type : <0x478>
<48b> DW_AT_name : (indirect string, offset: 0x18c): *mut u8
<48f> DW_AT_address_class: 0x0
<1><493>: Abbrev Number: 2 (DW_TAG_namespace)
<494> DW_AT_name : (indirect string, offset: 0x194): hello_rust_main
<2><498>: Abbrev Number: 23 (DW_TAG_subprogram)
<499> DW_AT_low_pc : 0x0
<49d> DW_AT_high_pc : 0x10
<4a1> DW_AT_frame_base : 1 byte block: 52 (DW_OP_reg2 (sp))
<4a3> DW_AT_linkage_name: (indirect string, offset: 0x207): rust_begin_unwind
<4a7> DW_AT_name : (indirect string, offset: 0x219): panic
<4ab> DW_AT_decl_file : 2
<4ac> DW_AT_decl_line : 59
<4ad> DW_AT_noreturn : 1
<3><4ad>: Abbrev Number: 15 (DW_TAG_formal_parameter)
<4ae> DW_AT_location : 2 byte block: 91 c (DW_OP_fbreg: 12)
<4b1> DW_AT_name : (indirect string, offset: 0x230): _panic
<4b5> DW_AT_decl_file : 2
<4b6> DW_AT_decl_line : 59
<4b7> DW_AT_type : <0x53d>
<3><4bb>: Abbrev Number: 0
<2><4bc>: Abbrev Number: 24 (DW_TAG_subprogram)
<4bd> DW_AT_low_pc : 0x0
<4c1> DW_AT_high_pc : 0xdc
<4c5> DW_AT_frame_base : 1 byte block: 52 (DW_OP_reg2 (sp))
<4c7> DW_AT_name : (indirect string, offset: 0x194): hello_rust_main
<4cb> DW_AT_decl_file : 2
<4cc> DW_AT_decl_line : 72
<4cd> DW_AT_type : <0x529>
<4d1> DW_AT_external : 1
<3><4d1>: Abbrev Number: 15 (DW_TAG_formal_parameter)
<4d2> DW_AT_location : 3 byte block: 91 90 2 (DW_OP_fbreg: 272)
<4d6> DW_AT_name : (indirect string, offset: 0x5f3): _argc
<4da> DW_AT_decl_file : 2
<4db> DW_AT_decl_line : 72
<4dc> DW_AT_type : <0x529>
<3><4e0>: Abbrev Number: 15 (DW_TAG_formal_parameter)
<4e1> DW_AT_location : 3 byte block: 91 94 2 (DW_OP_fbreg: 276)
<4e5> DW_AT_name : (indirect string, offset: 0x5f9): _argv
<4e9> DW_AT_decl_file : 2
<4ea> DW_AT_decl_line : 72
<4eb> DW_AT_type : <0x6d0>
<3><4ef>: Abbrev Number: 17 (DW_TAG_lexical_block)
<4f0> DW_AT_low_pc : 0x4c
<4f4> DW_AT_high_pc : 0x80
<4><4f8>: Abbrev Number: 25 (DW_TAG_variable)
<4f9> DW_AT_location : 3 byte block: 91 98 2 (DW_OP_fbreg: 280)
<4fd> DW_AT_name : (indirect string, offset: 0x61a): stdin
<501> DW_AT_decl_file : 2
<502> DW_AT_decl_line : 80
<503> DW_AT_type : <0x6f8>
<4><507>: Abbrev Number: 17 (DW_TAG_lexical_block)
<508> DW_AT_low_pc : 0x5c
<50c> DW_AT_high_pc : 0x70
<5><510>: Abbrev Number: 25 (DW_TAG_variable)
<511> DW_AT_location : 2 byte block: 91 10 (DW_OP_fbreg: 16)
<514> DW_AT_name : (indirect string, offset: 0x43d): buf
<518> DW_AT_decl_file : 2
<519> DW_AT_decl_line : 81
<51a> DW_AT_type : <0x6ea>
<5><51e>: Abbrev Number: 0
<4><51f>: Abbrev Number: 0
<3><520>: Abbrev Number: 0
<2><521>: Abbrev Number: 0
<1><522>: Abbrev Number: 21 (DW_TAG_base_type)
<523> DW_AT_name : (indirect string, offset: 0x1a4): i8
<527> DW_AT_encoding : 5 (signed)
<528> DW_AT_byte_size : 1
<1><529>: Abbrev Number: 21 (DW_TAG_base_type)
<52a> DW_AT_name : (indirect string, offset: 0x21f): i32
<52e> DW_AT_encoding : 5 (signed)
<52f> DW_AT_byte_size : 4
<1><530>: Abbrev Number: 22 (DW_TAG_pointer_type)
<531> DW_AT_type : <0x522>
<535> DW_AT_name : (indirect string, offset: 0x228): *mut i8
<539> DW_AT_address_class: 0x0
<1><53d>: Abbrev Number: 22 (DW_TAG_pointer_type)
<53e> DW_AT_type : <0x268>
<542> DW_AT_name : (indirect string, offset: 0x5cf): &core::panic::panic_info::PanicInfo
<546> DW_AT_address_class: 0x0
<1><54a>: Abbrev Number: 5 (DW_TAG_structure_type)
<54b> DW_AT_name : (indirect string, offset: 0x2a9): &(dyn core::any::Any + core::marker::Send)
<54f> DW_AT_byte_size : 8
<550> DW_AT_alignment : 4
<2><551>: Abbrev Number: 6 (DW_TAG_member)
<552> DW_AT_name : (indirect string, offset: 0x24a): pointer
<556> DW_AT_type : <0x568>
<55a> DW_AT_alignment : 4
<55b> DW_AT_data_member_location: 0
<2><55c>: Abbrev Number: 6 (DW_TAG_member)
<55d> DW_AT_name : (indirect string, offset: 0x27c): vtable
<561> DW_AT_type : <0x578>
<565> DW_AT_alignment : 4
<566> DW_AT_data_member_location: 4
<2><567>: Abbrev Number: 0
<1><568>: Abbrev Number: 26 (DW_TAG_pointer_type)
<569> DW_AT_type : <0x571>
<56d> DW_AT_address_class: 0x0
<1><571>: Abbrev Number: 10 (DW_TAG_structure_type)
<572> DW_AT_name : (indirect string, offset: 0x252): (dyn core::any::Any + core::marker::Send)
<576> DW_AT_byte_size : 0
<577> DW_AT_alignment : 1
<1><578>: Abbrev Number: 22 (DW_TAG_pointer_type)
<579> DW_AT_type : <0x585>
<57d> DW_AT_name : (indirect string, offset: 0x29d): &[usize; 3]
<581> DW_AT_address_class: 0x0
<1><585>: Abbrev Number: 27 (DW_TAG_array_type)
<586> DW_AT_type : <0x592>
<2><58a>: Abbrev Number: 28 (DW_TAG_subrange_type)
<58b> DW_AT_type : <0x599>
<58f> DW_AT_lower_bound : 0
<590> DW_AT_count : 3
<2><591>: Abbrev Number: 0
<1><592>: Abbrev Number: 21 (DW_TAG_base_type)
<593> DW_AT_name : (indirect string, offset: 0x283): usize
<597> DW_AT_encoding : 7 (unsigned)
<598> DW_AT_byte_size : 4
<1><599>: Abbrev Number: 29 (DW_TAG_base_type)
<59a> DW_AT_name : (indirect string, offset: 0x289): __ARRAY_SIZE_TYPE__
<59e> DW_AT_byte_size : 8
<59f> DW_AT_encoding : 7 (unsigned)
<1><5a0>: Abbrev Number: 21 (DW_TAG_base_type)
<5a1> DW_AT_name : (indirect string, offset: 0x2e3): u32
<5a5> DW_AT_encoding : 7 (unsigned)
<5a6> DW_AT_byte_size : 4
<1><5a7>: Abbrev Number: 22 (DW_TAG_pointer_type)
<5a8> DW_AT_type : <0x13b>
<5ac> DW_AT_name : (indirect string, offset: 0x532): &core::fmt::Arguments
<5b0> DW_AT_address_class: 0x0
<1><5b4>: Abbrev Number: 5 (DW_TAG_structure_type)
<5b5> DW_AT_name : (indirect string, offset: 0x308): &[&str]
<5b9> DW_AT_byte_size : 8
<5ba> DW_AT_alignment : 4
<2><5bb>: Abbrev Number: 6 (DW_TAG_member)
<5bc> DW_AT_name : (indirect string, offset: 0x2f3): data_ptr
<5c0> DW_AT_type : <0x5d2>
<5c4> DW_AT_alignment : 4
<5c5> DW_AT_data_member_location: 0
<2><5c6>: Abbrev Number: 6 (DW_TAG_member)
<5c7> DW_AT_name : (indirect string, offset: 0x2fc): length
<5cb> DW_AT_type : <0x592>
<5cf> DW_AT_alignment : 4
<5d0> DW_AT_data_member_location: 4
<2><5d1>: Abbrev Number: 0
<1><5d2>: Abbrev Number: 26 (DW_TAG_pointer_type)
<5d3> DW_AT_type : <0x5db>
<5d7> DW_AT_address_class: 0x0
<1><5db>: Abbrev Number: 5 (DW_TAG_structure_type)
<5dc> DW_AT_name : (indirect string, offset: 0x303): &str
<5e0> DW_AT_byte_size : 8
<5e1> DW_AT_alignment : 4
<2><5e2>: Abbrev Number: 6 (DW_TAG_member)
<5e3> DW_AT_name : (indirect string, offset: 0x2f3): data_ptr
<5e7> DW_AT_type : <0x5f9>
<5eb> DW_AT_alignment : 4
<5ec> DW_AT_data_member_location: 0
<2><5ed>: Abbrev Number: 6 (DW_TAG_member)
<5ee> DW_AT_name : (indirect string, offset: 0x2fc): length
<5f2> DW_AT_type : <0x592>
<5f6> DW_AT_alignment : 4
<5f7> DW_AT_data_member_location: 4
<2><5f8>: Abbrev Number: 0
<1><5f9>: Abbrev Number: 26 (DW_TAG_pointer_type)
<5fa> DW_AT_type : <0x478>
<5fe> DW_AT_address_class: 0x0
<1><602>: Abbrev Number: 5 (DW_TAG_structure_type)
<603> DW_AT_name : (indirect string, offset: 0x366): &[core::fmt::rt::Placeholder]
<607> DW_AT_byte_size : 8
<608> DW_AT_alignment : 4
<2><609>: Abbrev Number: 6 (DW_TAG_member)
<60a> DW_AT_name : (indirect string, offset: 0x2f3): data_ptr
<60e> DW_AT_type : <0x620>
<612> DW_AT_alignment : 4
<613> DW_AT_data_member_location: 0
<2><614>: Abbrev Number: 6 (DW_TAG_member)
<615> DW_AT_name : (indirect string, offset: 0x2fc): length
<619> DW_AT_type : <0x592>
<61d> DW_AT_alignment : 4
<61e> DW_AT_data_member_location: 4
<2><61f>: Abbrev Number: 0
<1><620>: Abbrev Number: 26 (DW_TAG_pointer_type)
<621> DW_AT_type : <0x59>
<625> DW_AT_address_class: 0x0
<1><629>: Abbrev Number: 21 (DW_TAG_base_type)
<62a> DW_AT_name : (indirect string, offset: 0x31e): char
<62e> DW_AT_encoding : 16 (unicode string)
<62f> DW_AT_byte_size : 4
<1><630>: Abbrev Number: 5 (DW_TAG_structure_type)
<631> DW_AT_name : (indirect string, offset: 0x50d): &[core::fmt::rt::Argument]
<635> DW_AT_byte_size : 8
<636> DW_AT_alignment : 4
<2><637>: Abbrev Number: 6 (DW_TAG_member)
<638> DW_AT_name : (indirect string, offset: 0x2f3): data_ptr
<63c> DW_AT_type : <0x64e>
<640> DW_AT_alignment : 4
<641> DW_AT_data_member_location: 0
<2><642>: Abbrev Number: 6 (DW_TAG_member)
<643> DW_AT_name : (indirect string, offset: 0x2fc): length
<647> DW_AT_type : <0x592>
<64b> DW_AT_alignment : 4
<64c> DW_AT_data_member_location: 4
<2><64d>: Abbrev Number: 0
<1><64e>: Abbrev Number: 26 (DW_TAG_pointer_type)
<64f> DW_AT_type : <0x10f>
<653> DW_AT_address_class: 0x0
<1><657>: Abbrev Number: 22 (DW_TAG_pointer_type)
<658> DW_AT_type : <0x132>
<65c> DW_AT_name : (indirect string, offset: 0x3cc): &core::fmt::rt::{extern#0}::Opaque
<660> DW_AT_address_class: 0x0
<1><664>: Abbrev Number: 22 (DW_TAG_pointer_type)
<665> DW_AT_type : <0x671>
<669> DW_AT_name : (indirect string, offset: 0x494): fn(&core::fmt::rt::{extern#0}::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>
<66d> DW_AT_address_class: 0x0
<1><671>: Abbrev Number: 30 (DW_TAG_subroutine_type)
<672> DW_AT_type : <0x3fb>
<2><676>: Abbrev Number: 31 (DW_TAG_formal_parameter)
<677> DW_AT_type : <0x657>
<2><67b>: Abbrev Number: 31 (DW_TAG_formal_parameter)
<67c> DW_AT_type : <0x688>
<2><680>: Abbrev Number: 0
<1><681>: Abbrev Number: 21 (DW_TAG_base_type)
<682> DW_AT_name : (indirect string, offset: 0x403): ()
<686> DW_AT_encoding : 7 (unsigned)
<687> DW_AT_byte_size : 0
<1><688>: Abbrev Number: 22 (DW_TAG_pointer_type)
<689> DW_AT_type : <0x16b>
<68d> DW_AT_name : (indirect string, offset: 0x47a): &mut core::fmt::Formatter
<691> DW_AT_address_class: 0x0
<1><695>: Abbrev Number: 5 (DW_TAG_structure_type)
<696> DW_AT_name : (indirect string, offset: 0x456): &mut dyn core::fmt::Write
<69a> DW_AT_byte_size : 8
<69b> DW_AT_alignment : 4
<2><69c>: Abbrev Number: 6 (DW_TAG_member)
<69d> DW_AT_name : (indirect string, offset: 0x24a): pointer
<6a1> DW_AT_type : <0x6b3>
<6a5> DW_AT_alignment : 4
<6a6> DW_AT_data_member_location: 0
<2><6a7>: Abbrev Number: 6 (DW_TAG_member)
<6a8> DW_AT_name : (indirect string, offset: 0x27c): vtable
<6ac> DW_AT_type : <0x578>
<6b0> DW_AT_alignment : 4
<6b1> DW_AT_data_member_location: 4
<2><6b2>: Abbrev Number: 0
<1><6b3>: Abbrev Number: 26 (DW_TAG_pointer_type)
<6b4> DW_AT_type : <0x6bc>
<6b8> DW_AT_address_class: 0x0
<1><6bc>: Abbrev Number: 10 (DW_TAG_structure_type)
<6bd> DW_AT_name : (indirect string, offset: 0x441): dyn core::fmt::Write
<6c1> DW_AT_byte_size : 0
<6c2> DW_AT_alignment : 1
<1><6c3>: Abbrev Number: 22 (DW_TAG_pointer_type)
<6c4> DW_AT_type : <0x2ad>
<6c8> DW_AT_name : (indirect string, offset: 0x586): &core::panic::location::Location
<6cc> DW_AT_address_class: 0x0
<1><6d0>: Abbrev Number: 22 (DW_TAG_pointer_type)
<6d1> DW_AT_type : <0x6dd>
<6d5> DW_AT_name : (indirect string, offset: 0x609): *const *const u8
<6d9> DW_AT_address_class: 0x0
<1><6dd>: Abbrev Number: 22 (DW_TAG_pointer_type)
<6de> DW_AT_type : <0x478>
<6e2> DW_AT_name : (indirect string, offset: 0x5ff): *const u8
<6e6> DW_AT_address_class: 0x0
<1><6ea>: Abbrev Number: 27 (DW_TAG_array_type)
<6eb> DW_AT_type : <0x522>
<2><6ef>: Abbrev Number: 32 (DW_TAG_subrange_type)
<6f0> DW_AT_type : <0x599>
<6f4> DW_AT_lower_bound : 0
<6f5> DW_AT_count : 256
<2><6f7>: Abbrev Number: 0
<1><6f8>: Abbrev Number: 22 (DW_TAG_pointer_type)
<6f9> DW_AT_type : <0x1bb>
<6fd> DW_AT_name : (indirect string, offset: 0x620): *mut core::ffi::c_void
<701> DW_AT_address_class: 0x0
<1><705>: Abbrev Number: 0
Contents of the .debug_aranges section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Length: 44
Version: 2
Offset into .debug_info: 0x0
Pointer Size: 4
Segment Size: 0
Address Length
00000000 00000018
00000000 00000010
00000000 000000dc
00000000 00000000
Contents of the .debug_ranges section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Offset Begin End
00000000 00000000 00000018
00000000 00000000 00000010
00000000 00000000 000000dc
00000000 <End of list>
Contents of the .debug_str section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.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 00707472 iant2.c_void.ptr
0x00000100 006d7574 5f707472 007b696d 706c2330 .mut_ptr.{impl#0
0x00000110 7d006973 5f6e756c 6c005f5a 4e34636f }.is_null._ZN4co
0x00000120 72653370 7472376d 75745f70 74723331 re3ptr7mut_ptr31
0x00000130 5f244c54 24696d70 6c247532 30242442 _$LT$impl$u20$$B
0x00000140 50246d75 74247532 30245424 47542437 P$mut$u20$T$GT$7
0x00000150 69735f6e 756c6c31 3272756e 74696d65 is_null12runtime
0x00000160 5f696d70 6c313768 39363532 34646537 _impl17h96524de7
0x00000170 31356437 31623966 45007275 6e74696d 15d71b9fE.runtim
0x00000180 655f696d 706c0062 6f6f6c00 2a6d7574 e_impl.bool.*mut
0x00000190 20753800 68656c6c 6f5f7275 73745f6d u8.hello_rust_m
0x000001a0 61696e00 69380054 005f5a4e 34636f72 ain.i8.T._ZN4cor
0x000001b0 65337074 72376d75 745f7074 7233315f e3ptr7mut_ptr31_
0x000001c0 244c5424 696d706c 24753230 24244250 $LT$impl$u20$$BP
0x000001d0 246d7574 24753230 24542447 54243769 $mut$u20$T$GT$7i
0x000001e0 735f6e75 6c6c3137 68393539 39643761 s_null17h9599d7a
0x000001f0 30373063 38643362 65450069 735f6e75 070c8d3beE.is_nu
0x00000200 6c6c3c69 383e0072 7573745f 62656769 ll<i8>.rust_begi
0x00000210 6e5f756e 77696e64 0070616e 69630069 n_unwind.panic.i
0x00000220 33320073 656c6600 2a6d7574 20693800 32.self.*mut i8.
0x00000230 5f70616e 69630070 616e6963 5f696e66 _panic.panic_inf
0x00000240 6f007061 796c6f61 6400706f 696e7465 o.payload.pointe
0x00000250 72002864 796e2063 6f72653a 3a616e79 r.(dyn core::any
0x00000260 3a3a416e 79202b20 636f7265 3a3a6d61 ::Any + core::ma
0x00000270 726b6572 3a3a5365 6e642900 76746162 rker::Send).vtab
0x00000280 6c650075 73697a65 005f5f41 52524159 le.usize.__ARRAY
0x00000290 5f53495a 455f5459 50455f5f 00265b75 _SIZE_TYPE__.&[u
0x000002a0 73697a65 3b20335d 00262864 796e2063 size; 3].&(dyn c
0x000002b0 6f72653a 3a616e79 3a3a416e 79202b20 ore::any::Any +
0x000002c0 636f7265 3a3a6d61 726b6572 3a3a5365 core::marker::Se
0x000002d0 6e642900 6d657373 61676500 6f707469 nd).message.opti
0x000002e0 6f6e0075 3332004e 6f6e6500 70696563 on.u32.None.piec
0x000002f0 65730064 6174615f 70747200 6c656e67 es.data_ptr.leng
0x00000300 74680026 73747200 265b2673 74725d00 th.&str.&[&str].
0x00000310 706f7369 74696f6e 0066696c 6c006368 position.fill.ch
0x00000320 61720061 6c69676e 00666c61 67730070 ar.align.flags.p
0x00000330 72656369 73696f6e 00497300 5f5f3000 recision.Is.__0.
0x00000340 50617261 6d00496d 706c6965 6400436f Param.Implied.Co
0x00000350 756e7400 77696474 6800506c 61636568 unt.width.Placeh
0x00000360 6f6c6465 7200265b 636f7265 3a3a666d older.&[core::fm
0x00000370 743a3a72 743a3a50 6c616365 686f6c64 t::rt::Placehold
0x00000380 65725d00 536f6d65 004f7074 696f6e3c er].Some.Option<
0x00000390 265b636f 72653a3a 666d743a 3a72743a &[core::fmt::rt:
0x000003a0 3a506c61 6365686f 6c646572 5d3e0061 :Placeholder]>.a
0x000003b0 72677300 76616c75 65007b65 78746572 rgs.value.{exter
0x000003c0 6e23307d 004f7061 71756500 26636f72 n#0}.Opaque.&cor
0x000003d0 653a3a66 6d743a3a 72743a3a 7b657874 e::fmt::rt::{ext
0x000003e0 65726e23 307d3a3a 4f706171 75650066 ern#0}::Opaque.f
0x000003f0 6f726d61 74746572 00726573 756c7400 ormatter.result.
0x00000400 4f6b0028 29004572 726f7200 45004572 Ok.().Error.E.Er
0x00000410 72005265 73756c74 3c28292c 20636f72 r.Result<(), cor
0x00000420 653a3a66 6d743a3a 4572726f 723e004f e::fmt::Error>.O
0x00000430 7074696f 6e3c7573 697a653e 00627566 ption<usize>.buf
0x00000440 0064796e 20636f72 653a3a66 6d743a3a .dyn core::fmt::
0x00000450 57726974 6500266d 75742064 796e2063 Write.&mut dyn c
0x00000460 6f72653a 3a666d74 3a3a5772 69746500 ore::fmt::Write.
0x00000470 466f726d 61747465 7200266d 75742063 Formatter.&mut c
0x00000480 6f72653a 3a666d74 3a3a466f 726d6174 ore::fmt::Format
0x00000490 74657200 666e2826 636f7265 3a3a666d ter.fn(&core::fm
0x000004a0 743a3a72 743a3a7b 65787465 726e2330 t::rt::{extern#0
0x000004b0 7d3a3a4f 70617175 652c2026 6d757420 }::Opaque, &mut
0x000004c0 636f7265 3a3a666d 743a3a46 6f726d61 core::fmt::Forma
0x000004d0 74746572 29202d3e 20636f72 653a3a72 tter) -> core::r
0x000004e0 6573756c 743a3a52 6573756c 743c2829 esult::Result<()
0x000004f0 2c20636f 72653a3a 666d743a 3a457272 , core::fmt::Err
0x00000500 6f723e00 41726775 6d656e74 00265b63 or>.Argument.&[c
0x00000510 6f72653a 3a666d74 3a3a7274 3a3a4172 ore::fmt::rt::Ar
0x00000520 67756d65 6e745d00 41726775 6d656e74 gument].Argument
0x00000530 73002663 6f72653a 3a666d74 3a3a4172 s.&core::fmt::Ar
0x00000540 67756d65 6e747300 4f707469 6f6e3c26 guments.Option<&
0x00000550 636f7265 3a3a666d 743a3a41 7267756d core::fmt::Argum
0x00000560 656e7473 3e006c6f 63617469 6f6e0066 ents>.location.f
0x00000570 696c6500 6c696e65 00636f6c 004c6f63 ile.line.col.Loc
0x00000580 6174696f 6e002663 6f72653a 3a70616e ation.&core::pan
0x00000590 69633a3a 6c6f6361 74696f6e 3a3a4c6f ic::location::Lo
0x000005a0 63617469 6f6e0063 616e5f75 6e77696e cation.can_unwin
0x000005b0 6400666f 7263655f 6e6f5f62 61636b74 d.force_no_backt
0x000005c0 72616365 0050616e 6963496e 666f0026 race.PanicInfo.&
0x000005d0 636f7265 3a3a7061 6e69633a 3a70616e core::panic::pan
0x000005e0 69635f69 6e666f3a 3a50616e 6963496e ic_info::PanicIn
0x000005f0 666f005f 61726763 005f6172 6776002a fo._argc._argv.*
0x00000600 636f6e73 74207538 002a636f 6e737420 const u8.*const
0x00000610 2a636f6e 73742075 38007374 64696e00 *const u8.stdin.
0x00000620 2a6d7574 20636f72 653a3a66 66693a3a *mut core::ffi::
0x00000630 635f766f 696400 c_void.
Contents of the .debug_pubnames section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Length: 291
Version: 2
Offset into .debug_info section: 0x0
Size of area in .debug_info section: 1798
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 ptr
1d9 mut_ptr
1de {impl#0}
1e3 is_null
1e8 runtime_impl
207 is_null<i8>
25e panic
263 panic_info
2a8 location
2d8 option
3f6 result
4bc hello_rust_main
Contents of the .debug_pubtypes section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Length: 970
Version: 2
Offset into .debug_info section: 0x0
Size of area in .debug_info section: 1798
Offset Name
35 Alignment
59 Placeholder
a3 Count
10f Argument
132 Opaque
13b Arguments
164 Error
16b Formatter
1bb c_void
268 PanicInfo
2ad Location
2dd Option<&core::fmt::Arguments>
33a Option<&[core::fmt::rt::Placeholder]>
397 Option<usize>
3fb Result<(), core::fmt::Error>
478 u8
47f bool
486 *mut u8
522 i8
529 i32
530 *mut i8
53d &core::panic::panic_info::PanicInfo
54a &(dyn core::any::Any + core::marker::Send)
571 (dyn core::any::Any + core::marker::Send)
578 &[usize; 3]
592 usize
5a0 u32
5a7 &core::fmt::Arguments
5b4 &[&str]
5db &str
602 &[core::fmt::rt::Placeholder]
629 char
630 &[core::fmt::rt::Argument]
657 &core::fmt::rt::{extern#0}::Opaque
664 fn(&core::fmt::rt::{extern#0}::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>
681 ()
688 &mut core::fmt::Formatter
695 &mut dyn core::fmt::Write
6bc dyn core::fmt::Write
6c3 &core::panic::location::Location
6d0 *const *const u8
6dd *const u8
6f8 *mut core::ffi::c_void
Contents of the .debug_frame section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.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 00000010 00000000 FDE cie=00000000 pc=00000000..00000018
DW_CFA_advance_loc: 4 to 00000004
DW_CFA_def_cfa_offset: 16
DW_CFA_nop
00000028 00000010 00000000 FDE cie=00000000 pc=00000000..00000010
DW_CFA_advance_loc: 4 to 00000004
DW_CFA_def_cfa_offset: 16
DW_CFA_nop
0000003c 00000014 00000000 FDE cie=00000000 pc=00000000..000000dc
DW_CFA_advance_loc: 4 to 00000004
DW_CFA_def_cfa_offset: 288
DW_CFA_advance_loc: 4 to 00000008
DW_CFA_offset: r1 (ra) at cfa-4
DW_CFA_nop
Raw dump of debug contents of section .debug_line (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Offset: 0x0
Length: 302
DWARF Version: 4
Prologue Length: 125
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 (offset 0x1c):
1 /rustc/ca62d2c445628587660ae48013f460b08b1f5552/library/core/src/ptr
The File Name Table (offset 0x62):
Entry Dir Time Size Name
1 1 0 0 mut_ptr.rs
2 0 0 0 hello_rust_main.rs
Line Number Statements:
[0x00000087] Extended opcode 2: set Address to 0x0
[0x0000008e] Advance Line by 34 to 35
[0x00000090] Copy
[0x00000091] Set column to 37
[0x00000093] Set prologue_end to true
[0x00000094] Advance Line by 17 to 52
[0x00000096] Advance PC by fixed size amount 8 to 0x8
[0x00000099] Copy (view 1)
[0x0000009a] Set column to 13
[0x0000009c] Advance Line by -14 to 38
[0x0000009e] Advance PC by fixed size amount 4 to 0xc
[0x000000a1] Copy (view 2)
[0x000000a2] Set column to 6
[0x000000a4] Set epilogue_begin to true
[0x000000a5] Advance Line by 15 to 53
[0x000000a7] Advance PC by fixed size amount 4 to 0x10
[0x000000aa] Copy (view 3)
[0x000000ab] Advance PC by fixed size amount 8 to 0x18
[0x000000ae] Extended opcode 1: End of Sequence
[0x000000b1] Set File Name to entry 2 in the File Name Table
[0x000000b3] Extended opcode 2: set Address to 0x0
[0x000000ba] Advance Line by 58 to 59
[0x000000bc] Copy
[0x000000bd] Set column to 5
[0x000000bf] Set prologue_end to true
[0x000000c0] Advance Line by 1 to 60
[0x000000c2] Advance PC by fixed size amount 8 to 0x8
[0x000000c5] Copy (view 1)
[0x000000c6] Advance PC by fixed size amount 8 to 0x10
[0x000000c9] Extended opcode 1: End of Sequence
[0x000000cc] Set File Name to entry 2 in the File Name Table
[0x000000ce] Extended opcode 2: set Address to 0x0
[0x000000d5] Advance Line by 71 to 72
[0x000000d8] Copy
[0x000000d9] Set column to 9
[0x000000db] Set prologue_end to true
[0x000000dc] Advance Line by 4 to 76
[0x000000de] Advance PC by fixed size amount 16 to 0x10
[0x000000e1] Copy (view 1)
[0x000000e2] Set column to 34
[0x000000e4] Advance Line by 4 to 80
[0x000000e6] Advance PC by fixed size amount 20 to 0x24
[0x000000e9] Copy (view 2)
[0x000000ea] Set column to 38
[0x000000ec] Advance Line by 1 to 81
[0x000000ee] Advance PC by fixed size amount 40 to 0x4c
[0x000000f1] Copy (view 3)
[0x000000f2] Set column to 13
[0x000000f4] Advance Line by 3 to 84
[0x000000f6] Advance PC by fixed size amount 16 to 0x5c
[0x000000f9] Copy (view 4)
[0x000000fa] Advance Line by -2 to 82
[0x000000fc] Advance PC by fixed size amount 12 to 0x68
[0x000000ff] Copy (view 5)
[0x00000100] Advance Line by 2 to 84
[0x00000102] Advance PC by fixed size amount 36 to 0x8c
[0x00000105] Copy (view 6)
[0x00000106] Advance Line by 3 to 87
[0x00000108] Advance PC by fixed size amount 32 to 0xac
[0x0000010b] Copy (view 7)
[0x0000010c] Advance Line by 1 to 88
[0x0000010e] Advance PC by fixed size amount 20 to 0xc0
[0x00000111] Copy (view 8)
[0x00000112] Set is_stmt to 0
[0x00000113] Advance Line by -88 to 0
[0x00000116] Advance PC by fixed size amount 12 to 0xcc
[0x00000119] Copy (view 9)
[0x0000011a] Set column to 2
[0x0000011c] Set is_stmt to 1
[0x0000011d] Advance Line by 95 to 95
[0x00000120] Advance PC by fixed size amount 4 to 0xd0
[0x00000123] Copy (view 10)
[0x00000124] Set is_stmt to 0
[0x00000125] Set epilogue_begin to true
[0x00000126] Advance Line by 0 to 95
[0x00000128] Advance PC by fixed size amount 4 to 0xd4
[0x0000012b] Copy (view 11)
[0x0000012c] Advance PC by fixed size amount 8 to 0xdc
[0x0000012f] Extended opcode 1: End of Sequence
# Luppy at Luppys-MBP in ~/riscv/nuttx on git:rust ● [10:21:07]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment