Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Last active March 17, 2024 08:20
Show Gist options
  • Save lupyuen/bec3bdd8379143a6046414d3ad2cc888 to your computer and use it in GitHub Desktop.
Save lupyuen/bec3bdd8379143a6046414d3ad2cc888 to your computer and use it in GitHub Desktop.
RISC-V Disassembly for Rust App on QEMU RISC-V. The second core::panicking::panic is undefined. 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 O .rodata.str1.1 00000007 .Lstr
00000018 l .text.rust_begin_unwind 00000000
0000001c 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
00000007 l O .rodata.str1.1 0000000e .Lstr.1
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
00000015 l O .rodata.str1.1 0000000f .Lstr.2
00000058 l .text.hello_rust_main 00000000
00000068 l .text.hello_rust_main 00000000
00000074 l .text.hello_rust_main 00000000
00000078 l .text.hello_rust_main 00000000
00000090 l .text.hello_rust_main 00000000
00000090 l .text.hello_rust_main 00000000
00000094 l .text.hello_rust_main 00000000
00000000 l O .rodata..L__unnamed_1 00000006 .L__unnamed_1
00000098 l .text.hello_rust_main 00000000
000000a8 l .text.hello_rust_main 00000000
000000a8 l .text.hello_rust_main 00000000
000000b4 l .text.hello_rust_main 00000000
000000bc l .text.hello_rust_main 00000000
00000000 l O .rodata.str.0 00000019 str.0
000000bc l .text.hello_rust_main 00000000
00000000 l O .rodata..L__unnamed_2 00000010 .L__unnamed_2
000000dc 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_3 00000012 .L__unnamed_3
00000000 l .debug_loc 00000000
0000001b l .debug_loc 00000000
00000036 l .debug_loc 00000000
00000051 l .debug_loc 00000000
00000077 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
00000030 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
00000000 l .debug_ranges 00000000
0000051d l .debug_str 00000000
00000018 l .debug_ranges 00000000
0000053a 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
000000dc l .text.hello_rust_main 00000000
00000000 l .debug_frame 00000000
00000000 g F .text.rust_begin_unwind 0000001c .hidden rust_begin_unwind
00000000 *UND* 00000000 puts
00000000 g F .text.hello_rust_main 000000dc hello_rust_main
00000000 *UND* 00000000 lib_get_stream
00000000 *UND* 00000000 memset
00000000 *UND* 00000000 fgets
00000000 *UND* 00000000 printf
00000000 *UND* 00000000 core::panicking::panic
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:58
/****************************************************************************
* Panic handler (needed for [no_std] compilation)
****************************************************************************/
#[panic_handler]
fn panic(_panic: &PanicInfo<'_>) -> ! {
0: ff010113 addi sp,sp,-16
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:59
unsafe { printf(b"panic!\n\0" as *const u8); }
4: 00112623 sw ra,12(sp)
8: 00000537 lui a0,0x0 8: R_RISCV_HI20 .Lstr
c: 00050513 mv a0,a0 c: R_RISCV_LO12_I .Lstr
10: 00000097 auipc ra,0x0 10: R_RISCV_CALL_PLT puts
14: 000080e7 jalr ra # 10 <rust_begin_unwind+0x10>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:60
loop {}
18: 0000006f j 18 <rust_begin_unwind+0x18>
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: ef010113 addi sp,sp,-272
/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);
4: 10112623 sw ra,268(sp)
8: 10812423 sw s0,264(sp)
c: 00000537 lui a0,0x0 c: R_RISCV_HI20 .Lstr.1
10: 00050513 mv a0,a0 10: R_RISCV_LO12_I .Lstr.1
14: 00000097 auipc ra,0x0 14: R_RISCV_CALL_PLT puts
18: 000080e7 jalr ra # 14 <hello_rust_main+0x14>
/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 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
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:81
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>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:82
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: 04050a63 beqz a0,a8 <hello_rust_main+0xa8>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:87
&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.2
5c: 00050513 mv a0,a0 5c: R_RISCV_LO12_I .Lstr.2
60: 00000097 auipc ra,0x0 60: R_RISCV_CALL_PLT puts
64: 000080e7 jalr ra # 60 <hello_rust_main+0x60>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:88
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>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:90
let i = 1 / buf[0];
74: 00814503 lbu a0,8(sp)
78: 04050263 beqz a0,bc <hello_rust_main+0xbc>
7c: 00150593 addi a1,a0,1 # 1 <hello_rust_main+0x1>
80: 0ff5f593 zext.b a1,a1
84: 0035b593 sltiu a1,a1,3
88: 40b005b3 neg a1,a1
8c: 00a5f533 and a0,a1,a0
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:91
printf(b"i=%d\n\0" as *const u8, i as core::ffi::c_int);
90: 01851513 slli a0,a0,0x18
94: 41855593 srai a1,a0,0x18
98: 00000537 lui a0,0x0 98: R_RISCV_HI20 .L__unnamed_1
9c: 00050513 mv a0,a0 9c: R_RISCV_LO12_I .L__unnamed_1
a0: 00000097 auipc ra,0x0 a0: R_RISCV_CALL_PLT printf
a4: 000080e7 jalr ra # a0 <hello_rust_main+0xa0>
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:103
}
/* exit with status 0 */
0
}
a8: 00000513 li a0,0
ac: 10c12083 lw ra,268(sp)
b0: 10812403 lw s0,264(sp)
b4: 11010113 addi sp,sp,272
b8: 00008067 ret
/Users/Luppy/riscv/apps/examples/hello_rust/hello_rust_main.rs:90
let i = 1 / buf[0];
bc: 00000537 lui a0,0x0 bc: R_RISCV_HI20 str.0
c0: 00050513 mv a0,a0 c0: R_RISCV_LO12_I str.0
c4: 000005b7 lui a1,0x0 c4: R_RISCV_HI20 .L__unnamed_2
c8: 00058613 mv a2,a1 c8: R_RISCV_LO12_I .L__unnamed_2
cc: 01900593 li a1,25
d0: 00000097 auipc ra,0x0 d0: R_RISCV_CALL_PLT core::panicking::panic
d4: 000080e7 jalr ra # d0 <hello_rust_main+0xd0>
d8: c0001073 unimp
Contents of the .debug_loc section (loaded from ../apps/examples/hello_rust/hello_rust_main.rs.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Offset Begin End Expression
00000000 ffffffff 00000000 (base address)
00000008 00000000 0000000c (DW_OP_reg10 (a0))
00000013 <End of list>
0000001b ffffffff 00000000 (base address)
00000023 00000000 00000010 (DW_OP_reg10 (a0))
0000002e <End of list>
00000036 ffffffff 00000000 (base address)
0000003e 00000000 0000001c (DW_OP_reg11 (a1))
00000049 <End of list>
00000051 ffffffff 00000000 (base address)
00000059 0000002c 000000a8 (DW_OP_reg8 (s0))
00000064 000000bc 000000dc (DW_OP_reg8 (s0))
0000006f <End of list>
00000077 ffffffff 00000000 (base address)
0000007f 00000090 00000094 (DW_OP_reg10 (a0))
0000008a <End of list>
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_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_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
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_lexical_block [has children]
DW_AT_ranges DW_FORM_sec_offset
DW_AT value: 0 DW_FORM value: 0
18 DW_TAG_variable [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
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_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
21 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
22 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
23 DW_TAG_array_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
24 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
25 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
26 DW_TAG_subroutine_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT value: 0 DW_FORM value: 0
27 DW_TAG_formal_parameter [no 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_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: 0x670 (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 : 0x30
<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 : <0x4f2>
<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 : <0x589>
<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 : <0x500>
<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 : <0x500>
<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 : <0x4f2>
<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 : <0x4f2>
<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 : <0x5b7>
<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 : <0x5c4>
<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 : <0x514>
<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 : <0x590>
<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 : <0x500>
<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 : <0x589>
<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 : <0x5f5>
<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 : <0x4aa>
<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 : <0x623>
<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 : <0x630>
<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 : <0x630>
<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 : <0x53b>
<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 : <0x500>
<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 : <0x500>
<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 : <0x500>
<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 : <0x507>
<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 : <0x507>
<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 : <0x507>
<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 : <0x500>
<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 : <0x562>
<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 : <0x562>
<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 : <0x562>
<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 : <0x500>
<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 : <0x4f2>
<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 : <0x4f2>
<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 : <0x4f2>
<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 : <0x5e1>
<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 : <0x5e1>
<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 : <0x5e1>
<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 : 0x1c
<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 : 0x0 (location list)
<414> DW_AT_name : (indirect string, offset: 0x129): _panic
<418> DW_AT_decl_file : 1
<419> DW_AT_decl_line : 58
<41a> DW_AT_type : <0x49d>
<3><41e>: Abbrev Number: 0
<2><41f>: Abbrev Number: 16 (DW_TAG_subprogram)
<420> DW_AT_low_pc : 0x0
<424> DW_AT_high_pc : 0xdc
<428> DW_AT_frame_base : 1 byte block: 52 (DW_OP_reg2 (sp))
<42a> DW_AT_name : (indirect string, offset: 0xfd): hello_rust_main
<42e> DW_AT_decl_file : 1
<42f> DW_AT_decl_line : 72
<430> DW_AT_type : <0x496>
<434> DW_AT_external : 1
<3><434>: Abbrev Number: 15 (DW_TAG_formal_parameter)
<435> DW_AT_location : 0x1b (location list)
<439> DW_AT_name : (indirect string, offset: 0x4f6): _argc
<43d> DW_AT_decl_file : 1
<43e> DW_AT_decl_line : 72
<43f> DW_AT_type : <0x496>
<3><443>: Abbrev Number: 15 (DW_TAG_formal_parameter)
<444> DW_AT_location : 0x36 (location list)
<448> DW_AT_name : (indirect string, offset: 0x4fc): _argv
<44c> DW_AT_decl_file : 1
<44d> DW_AT_decl_line : 72
<44e> DW_AT_type : <0x64c>
<3><452>: Abbrev Number: 17 (DW_TAG_lexical_block)
<453> DW_AT_ranges : 0x0
<4><457>: Abbrev Number: 18 (DW_TAG_variable)
<458> DW_AT_location : 0x51 (location list)
<45c> DW_AT_name : (indirect string, offset: 0x51d): stdin
<460> DW_AT_decl_file : 1
<461> DW_AT_decl_line : 80
<462> DW_AT_type : <0x666>
<4><466>: Abbrev Number: 17 (DW_TAG_lexical_block)
<467> DW_AT_ranges : 0x18
<5><46b>: Abbrev Number: 19 (DW_TAG_variable)
<46c> DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<46f> DW_AT_name : (indirect string, offset: 0x338): buf
<473> DW_AT_decl_file : 1
<474> DW_AT_decl_line : 81
<475> DW_AT_type : <0x637>
<5><479>: Abbrev Number: 20 (DW_TAG_lexical_block)
<47a> DW_AT_low_pc : 0x90
<47e> DW_AT_high_pc : 0x18
<6><482>: Abbrev Number: 18 (DW_TAG_variable)
<483> DW_AT_location : 0x77 (location list)
<487> DW_AT_name : (indirect string, offset: 0x53a): i
<48b> DW_AT_decl_file : 1
<48c> DW_AT_decl_line : 90
<48d> DW_AT_type : <0x645>
<6><491>: Abbrev Number: 0
<5><492>: Abbrev Number: 0
<4><493>: Abbrev Number: 0
<3><494>: Abbrev Number: 0
<2><495>: Abbrev Number: 0
<1><496>: Abbrev Number: 13 (DW_TAG_base_type)
<497> DW_AT_name : (indirect string, offset: 0x125): i32
<49b> DW_AT_encoding : 5 (signed)
<49c> DW_AT_byte_size : 4
<1><49d>: Abbrev Number: 21 (DW_TAG_pointer_type)
<49e> DW_AT_type : <0x1de>
<4a2> DW_AT_name : (indirect string, offset: 0x4cf): &core::panic::panic_info::PanicInfo
<4a6> DW_AT_address_class: 0x0
<1><4aa>: Abbrev Number: 5 (DW_TAG_structure_type)
<4ab> DW_AT_name : (indirect string, offset: 0x1a2): &(dyn core::any::Any + core::marker::Send)
<4af> DW_AT_byte_size : 8
<4b0> DW_AT_alignment : 4
<2><4b1>: Abbrev Number: 6 (DW_TAG_member)
<4b2> DW_AT_name : (indirect string, offset: 0x143): pointer
<4b6> DW_AT_type : <0x4c8>
<4ba> DW_AT_alignment : 4
<4bb> DW_AT_data_member_location: 0
<2><4bc>: Abbrev Number: 6 (DW_TAG_member)
<4bd> DW_AT_name : (indirect string, offset: 0x175): vtable
<4c1> DW_AT_type : <0x4d8>
<4c5> DW_AT_alignment : 4
<4c6> DW_AT_data_member_location: 4
<2><4c7>: Abbrev Number: 0
<1><4c8>: Abbrev Number: 22 (DW_TAG_pointer_type)
<4c9> DW_AT_type : <0x4d1>
<4cd> DW_AT_address_class: 0x0
<1><4d1>: Abbrev Number: 10 (DW_TAG_structure_type)
<4d2> DW_AT_name : (indirect string, offset: 0x14b): (dyn core::any::Any + core::marker::Send)
<4d6> DW_AT_byte_size : 0
<4d7> DW_AT_alignment : 1
<1><4d8>: Abbrev Number: 21 (DW_TAG_pointer_type)
<4d9> DW_AT_type : <0x4e5>
<4dd> DW_AT_name : (indirect string, offset: 0x196): &[usize; 3]
<4e1> DW_AT_address_class: 0x0
<1><4e5>: Abbrev Number: 23 (DW_TAG_array_type)
<4e6> DW_AT_type : <0x4f2>
<2><4ea>: Abbrev Number: 24 (DW_TAG_subrange_type)
<4eb> DW_AT_type : <0x4f9>
<4ef> DW_AT_lower_bound : 0
<4f0> DW_AT_count : 3
<2><4f1>: Abbrev Number: 0
<1><4f2>: Abbrev Number: 13 (DW_TAG_base_type)
<4f3> DW_AT_name : (indirect string, offset: 0x17c): usize
<4f7> DW_AT_encoding : 7 (unsigned)
<4f8> DW_AT_byte_size : 4
<1><4f9>: Abbrev Number: 25 (DW_TAG_base_type)
<4fa> DW_AT_name : (indirect string, offset: 0x182): __ARRAY_SIZE_TYPE__
<4fe> DW_AT_byte_size : 8
<4ff> DW_AT_encoding : 7 (unsigned)
<1><500>: Abbrev Number: 13 (DW_TAG_base_type)
<501> DW_AT_name : (indirect string, offset: 0x1dc): u32
<505> DW_AT_encoding : 7 (unsigned)
<506> DW_AT_byte_size : 4
<1><507>: Abbrev Number: 21 (DW_TAG_pointer_type)
<508> DW_AT_type : <0x13b>
<50c> DW_AT_name : (indirect string, offset: 0x42d): &core::fmt::Arguments
<510> DW_AT_address_class: 0x0
<1><514>: Abbrev Number: 5 (DW_TAG_structure_type)
<515> DW_AT_name : (indirect string, offset: 0x201): &[&str]
<519> DW_AT_byte_size : 8
<51a> DW_AT_alignment : 4
<2><51b>: Abbrev Number: 6 (DW_TAG_member)
<51c> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<520> DW_AT_type : <0x532>
<524> DW_AT_alignment : 4
<525> DW_AT_data_member_location: 0
<2><526>: Abbrev Number: 6 (DW_TAG_member)
<527> DW_AT_name : (indirect string, offset: 0x1f5): length
<52b> DW_AT_type : <0x4f2>
<52f> DW_AT_alignment : 4
<530> DW_AT_data_member_location: 4
<2><531>: Abbrev Number: 0
<1><532>: Abbrev Number: 22 (DW_TAG_pointer_type)
<533> DW_AT_type : <0x53b>
<537> DW_AT_address_class: 0x0
<1><53b>: Abbrev Number: 5 (DW_TAG_structure_type)
<53c> DW_AT_name : (indirect string, offset: 0x1fc): &str
<540> DW_AT_byte_size : 8
<541> DW_AT_alignment : 4
<2><542>: Abbrev Number: 6 (DW_TAG_member)
<543> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<547> DW_AT_type : <0x559>
<54b> DW_AT_alignment : 4
<54c> DW_AT_data_member_location: 0
<2><54d>: Abbrev Number: 6 (DW_TAG_member)
<54e> DW_AT_name : (indirect string, offset: 0x1f5): length
<552> DW_AT_type : <0x4f2>
<556> DW_AT_alignment : 4
<557> DW_AT_data_member_location: 4
<2><558>: Abbrev Number: 0
<1><559>: Abbrev Number: 22 (DW_TAG_pointer_type)
<55a> DW_AT_type : <0x3ee>
<55e> DW_AT_address_class: 0x0
<1><562>: Abbrev Number: 5 (DW_TAG_structure_type)
<563> DW_AT_name : (indirect string, offset: 0x25f): &[core::fmt::rt::Placeholder]
<567> DW_AT_byte_size : 8
<568> DW_AT_alignment : 4
<2><569>: Abbrev Number: 6 (DW_TAG_member)
<56a> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<56e> DW_AT_type : <0x580>
<572> DW_AT_alignment : 4
<573> DW_AT_data_member_location: 0
<2><574>: Abbrev Number: 6 (DW_TAG_member)
<575> DW_AT_name : (indirect string, offset: 0x1f5): length
<579> DW_AT_type : <0x4f2>
<57d> DW_AT_alignment : 4
<57e> DW_AT_data_member_location: 4
<2><57f>: Abbrev Number: 0
<1><580>: Abbrev Number: 22 (DW_TAG_pointer_type)
<581> DW_AT_type : <0x59>
<585> DW_AT_address_class: 0x0
<1><589>: Abbrev Number: 13 (DW_TAG_base_type)
<58a> DW_AT_name : (indirect string, offset: 0x217): char
<58e> DW_AT_encoding : 16 (unicode string)
<58f> DW_AT_byte_size : 4
<1><590>: Abbrev Number: 5 (DW_TAG_structure_type)
<591> DW_AT_name : (indirect string, offset: 0x408): &[core::fmt::rt::Argument]
<595> DW_AT_byte_size : 8
<596> DW_AT_alignment : 4
<2><597>: Abbrev Number: 6 (DW_TAG_member)
<598> DW_AT_name : (indirect string, offset: 0x1ec): data_ptr
<59c> DW_AT_type : <0x5ae>
<5a0> DW_AT_alignment : 4
<5a1> DW_AT_data_member_location: 0
<2><5a2>: Abbrev Number: 6 (DW_TAG_member)
<5a3> DW_AT_name : (indirect string, offset: 0x1f5): length
<5a7> DW_AT_type : <0x4f2>
<5ab> DW_AT_alignment : 4
<5ac> DW_AT_data_member_location: 4
<2><5ad>: Abbrev Number: 0
<1><5ae>: Abbrev Number: 22 (DW_TAG_pointer_type)
<5af> DW_AT_type : <0x10f>
<5b3> DW_AT_address_class: 0x0
<1><5b7>: Abbrev Number: 21 (DW_TAG_pointer_type)
<5b8> DW_AT_type : <0x132>
<5bc> DW_AT_name : (indirect string, offset: 0x2c7): &core::fmt::rt::{extern#0}::Opaque
<5c0> DW_AT_address_class: 0x0
<1><5c4>: Abbrev Number: 21 (DW_TAG_pointer_type)
<5c5> DW_AT_type : <0x5d1>
<5c9> DW_AT_name : (indirect string, offset: 0x38f): fn(&core::fmt::rt::{extern#0}::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>
<5cd> DW_AT_address_class: 0x0
<1><5d1>: Abbrev Number: 26 (DW_TAG_subroutine_type)
<5d2> DW_AT_type : <0x371>
<2><5d6>: Abbrev Number: 27 (DW_TAG_formal_parameter)
<5d7> DW_AT_type : <0x5b7>
<2><5db>: Abbrev Number: 27 (DW_TAG_formal_parameter)
<5dc> DW_AT_type : <0x5e8>
<2><5e0>: Abbrev Number: 0
<1><5e1>: Abbrev Number: 13 (DW_TAG_base_type)
<5e2> DW_AT_name : (indirect string, offset: 0x2fe): ()
<5e6> DW_AT_encoding : 7 (unsigned)
<5e7> DW_AT_byte_size : 0
<1><5e8>: Abbrev Number: 21 (DW_TAG_pointer_type)
<5e9> DW_AT_type : <0x16b>
<5ed> DW_AT_name : (indirect string, offset: 0x375): &mut core::fmt::Formatter
<5f1> DW_AT_address_class: 0x0
<1><5f5>: Abbrev Number: 5 (DW_TAG_structure_type)
<5f6> DW_AT_name : (indirect string, offset: 0x351): &mut dyn core::fmt::Write
<5fa> DW_AT_byte_size : 8
<5fb> DW_AT_alignment : 4
<2><5fc>: Abbrev Number: 6 (DW_TAG_member)
<5fd> DW_AT_name : (indirect string, offset: 0x143): pointer
<601> DW_AT_type : <0x613>
<605> DW_AT_alignment : 4
<606> DW_AT_data_member_location: 0
<2><607>: Abbrev Number: 6 (DW_TAG_member)
<608> DW_AT_name : (indirect string, offset: 0x175): vtable
<60c> DW_AT_type : <0x4d8>
<610> DW_AT_alignment : 4
<611> DW_AT_data_member_location: 4
<2><612>: Abbrev Number: 0
<1><613>: Abbrev Number: 22 (DW_TAG_pointer_type)
<614> DW_AT_type : <0x61c>
<618> DW_AT_address_class: 0x0
<1><61c>: Abbrev Number: 10 (DW_TAG_structure_type)
<61d> DW_AT_name : (indirect string, offset: 0x33c): dyn core::fmt::Write
<621> DW_AT_byte_size : 0
<622> DW_AT_alignment : 1
<1><623>: Abbrev Number: 21 (DW_TAG_pointer_type)
<624> DW_AT_type : <0x223>
<628> DW_AT_name : (indirect string, offset: 0x481): &core::panic::location::Location
<62c> DW_AT_address_class: 0x0
<1><630>: Abbrev Number: 13 (DW_TAG_base_type)
<631> DW_AT_name : (indirect string, offset: 0x4ad): bool
<635> DW_AT_encoding : 2 (boolean)
<636> DW_AT_byte_size : 1
<1><637>: Abbrev Number: 23 (DW_TAG_array_type)
<638> DW_AT_type : <0x645>
<2><63c>: Abbrev Number: 28 (DW_TAG_subrange_type)
<63d> DW_AT_type : <0x4f9>
<641> DW_AT_lower_bound : 0
<642> DW_AT_count : 256
<2><644>: Abbrev Number: 0
<1><645>: Abbrev Number: 13 (DW_TAG_base_type)
<646> DW_AT_name : (indirect string, offset: 0x4f3): i8
<64a> DW_AT_encoding : 5 (signed)
<64b> DW_AT_byte_size : 1
<1><64c>: Abbrev Number: 21 (DW_TAG_pointer_type)
<64d> DW_AT_type : <0x659>
<651> DW_AT_name : (indirect string, offset: 0x50c): *const *const u8
<655> DW_AT_address_class: 0x0
<1><659>: Abbrev Number: 21 (DW_TAG_pointer_type)
<65a> DW_AT_type : <0x3ee>
<65e> DW_AT_name : (indirect string, offset: 0x502): *const u8
<662> DW_AT_address_class: 0x0
<1><666>: Abbrev Number: 21 (DW_TAG_pointer_type)
<667> DW_AT_type : <0x1bb>
<66b> DW_AT_name : (indirect string, offset: 0x523): *mut core::ffi::c_void
<66f> DW_AT_address_class: 0x0
<1><673>: 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: 36
Version: 2
Offset into .debug_info: 0x0
Pointer Size: 4
Segment Size: 0
Address Length
00000000 0000001c
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 0000002c 000000a8
00000000 000000bc 000000dc
00000000 <End of list>
00000018 00000040 000000a8
00000018 000000bc 000000dc
00000018 <End of list>
00000030 00000000 0000001c
00000030 00000000 000000dc
00000030 <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 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 64006900 i::c_void.i.
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: 213
Version: 2
Offset into .debug_info section: 0x0
Size of area in .debug_info section: 1652
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
41f 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: 946
Version: 2
Offset into .debug_info section: 0x0
Size of area in .debug_info section: 1652
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
496 i32
49d &core::panic::panic_info::PanicInfo
4aa &(dyn core::any::Any + core::marker::Send)
4d1 (dyn core::any::Any + core::marker::Send)
4d8 &[usize; 3]
4f2 usize
500 u32
507 &core::fmt::Arguments
514 &[&str]
53b &str
562 &[core::fmt::rt::Placeholder]
589 char
590 &[core::fmt::rt::Argument]
5b7 &core::fmt::rt::{extern#0}::Opaque
5c4 fn(&core::fmt::rt::{extern#0}::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>
5e1 ()
5e8 &mut core::fmt::Formatter
5f5 &mut dyn core::fmt::Write
61c dyn core::fmt::Write
623 &core::panic::location::Location
630 bool
645 i8
64c *const *const u8
659 *const u8
666 *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 00000014 00000000 FDE cie=00000000 pc=00000000..0000001c
DW_CFA_advance_loc: 4 to 00000004
DW_CFA_def_cfa_offset: 16
DW_CFA_advance_loc: 4 to 00000008
DW_CFA_offset: r1 (ra) at cfa-4
DW_CFA_nop
DW_CFA_nop
0000002c 00000018 00000000 FDE cie=00000000 pc=00000000..000000dc
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.Users.Luppy.riscv.apps.examples.hello_rust_1.o):
Offset: 0x0
Length: 204
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] Extended opcode 2: set Address to 0x0
[0x0000003b] Advance Line by 57 to 58
[0x0000003d] Copy
[0x0000003e] Set column to 14
[0x00000040] Set prologue_end to true
[0x00000041] Advance Line by 1 to 59
[0x00000043] Advance PC by fixed size amount 4 to 0x4
[0x00000046] Copy (view 1)
[0x00000047] Set column to 5
[0x00000049] Advance Line by 1 to 60
[0x0000004b] Advance PC by fixed size amount 20 to 0x18
[0x0000004e] Copy (view 2)
[0x0000004f] Advance PC by fixed size amount 4 to 0x1c
[0x00000052] Extended opcode 1: End of Sequence
[0x00000055] Extended opcode 2: set Address to 0x0
[0x0000005c] Advance Line by 71 to 72
[0x0000005f] Copy
[0x00000060] Set column to 9
[0x00000062] Set prologue_end to true
[0x00000063] Advance Line by 4 to 76
[0x00000065] Advance PC by fixed size amount 4 to 0x4
[0x00000068] Copy (view 1)
[0x00000069] Set column to 45
[0x0000006b] Advance Line by 4 to 80
[0x0000006d] Advance PC by fixed size amount 24 to 0x1c
[0x00000070] Copy (view 2)
[0x00000071] Set column to 49
[0x00000073] Advance Line by 1 to 81
[0x00000075] Advance PC by fixed size amount 16 to 0x2c
[0x00000078] Copy (view 3)
[0x00000079] Set column to 13
[0x0000007b] Advance Line by 1 to 82
[0x0000007d] Advance PC by fixed size amount 20 to 0x40
[0x00000080] Copy (view 4)
[0x00000081] Advance Line by 5 to 87
[0x00000083] Advance PC by fixed size amount 24 to 0x58
[0x00000086] Copy (view 5)
[0x00000087] Advance Line by 1 to 88
[0x00000089] Advance PC by fixed size amount 16 to 0x68
[0x0000008c] Copy (view 6)
[0x0000008d] Set column to 25
[0x0000008f] Advance Line by 2 to 90
[0x00000091] Advance PC by fixed size amount 12 to 0x74
[0x00000094] Copy (view 7)
[0x00000095] Set column to 21
[0x00000097] Set is_stmt to 0
[0x00000098] Advance Line by 0 to 90
[0x0000009a] Advance PC by fixed size amount 4 to 0x78
[0x0000009d] Copy (view 8)
[0x0000009e] Set column to 46
[0x000000a0] Set is_stmt to 1
[0x000000a1] Advance Line by 1 to 91
[0x000000a3] Advance PC by fixed size amount 24 to 0x90
[0x000000a6] Copy (view 9)
[0x000000a7] Set column to 13
[0x000000a9] Set is_stmt to 0
[0x000000aa] Advance Line by 0 to 91
[0x000000ac] Advance PC by fixed size amount 8 to 0x98
[0x000000af] Copy (view 10)
[0x000000b0] Set column to 2
[0x000000b2] Set is_stmt to 1
[0x000000b3] Advance Line by 12 to 103
[0x000000b5] Advance PC by fixed size amount 16 to 0xa8
[0x000000b8] Copy (view 11)
[0x000000b9] Set is_stmt to 0
[0x000000ba] Set epilogue_begin to true
[0x000000bb] Advance Line by 0 to 103
[0x000000bd] Advance PC by fixed size amount 12 to 0xb4
[0x000000c0] Copy (view 12)
[0x000000c1] Set column to 21
[0x000000c3] Set is_stmt to 1
[0x000000c4] Advance Line by -13 to 90
[0x000000c6] Advance PC by fixed size amount 8 to 0xbc
[0x000000c9] Copy (view 13)
[0x000000ca] Advance PC by fixed size amount 32 to 0xdc
[0x000000cd] Extended opcode 1: End of Sequence
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment