blob: 76565a8941003b578a245d2838cbd8b6d98a6781 [file] [edit]
(module
(type $0 (func))
(type $1 (func (param i32)))
(type $2 (func (param i32) (result i32)))
(import "env" "_Z3foov" (func $"foo()"))
(import "env" "__cxa_begin_catch" (func $__cxa_begin_catch (param i32) (result i32)))
(import "env" "__cxa_end_catch" (func $__cxa_end_catch))
(import "env" "_ZSt9terminatev" (func $"std::terminate()"))
(global $__stack_pointer (mut i32) (i32.const 66560))
(memory $0 2)
(tag $tag$0 (type $1) (param i32))
(export "memory" (memory $0))
(func $__wasm_call_ctors
)
(func $"dwarf_with_exceptions()"
(local $0 i32)
(local $1 i32)
;; code offset: 0xe - 0x10
(local.set $0
;; code offset: 0x8 - 0xe
(global.get $__stack_pointer)
)
;; code offset: 0x10 - 0x76
(try
(do
;; code offset: 0x12 - 0x18
(call $"foo()")
)
;; code offset: 0x18
(catch $tag$0
;; code offset: 0x1e - 0x20
(local.set $1
(pop i32)
)
;; code offset: 0x22 - 0x28
(global.set $__stack_pointer
;; code offset: 0x20 - 0x22
(local.get $0)
)
;; code offset: 0x30 - 0x31
(drop
;; code offset: 0x2a - 0x30
(call $__cxa_begin_catch
;; code offset: 0x28 - 0x2a
(local.get $1)
)
)
;; code offset: 0x31 - 0x6f
(try $label
(do
;; code offset: 0x33 - 0x39
(call $"foo()")
;; code offset: 0x3b - 0x41
(global.set $__stack_pointer
;; code offset: 0x39 - 0x3b
(local.get $0)
)
)
;; code offset: 0x41
(catch_all
;; code offset: 0x42 - 0x6c
(try
(do
;; code offset: 0x44 - 0x4a
(call $__cxa_end_catch)
)
;; code offset: 0x4a
(catch $tag$0
;; code offset: 0x50 - 0x52
(local.set $1
(pop i32)
)
;; code offset: 0x54 - 0x5a
(global.set $__stack_pointer
;; code offset: 0x52 - 0x54
(local.get $0)
)
;; code offset: 0x5c - 0x62
(call $__clang_call_terminate
;; code offset: 0x5a - 0x5c
(local.get $1)
)
;; code offset: 0x62 - 0x63
(unreachable)
)
;; code offset: 0x63
(catch_all
;; code offset: 0x64 - 0x6a
(call $"std::terminate()")
;; code offset: 0x6a - 0x6b
(unreachable)
)
)
;; code offset: 0x6c - 0x6e
(rethrow $label)
)
)
;; code offset: 0x6f - 0x75
(call $__cxa_end_catch)
)
)
)
(func $__clang_call_terminate (param $0 i32)
;; code offset: 0x81 - 0x82
(drop
;; code offset: 0x7b - 0x81
(call $__cxa_begin_catch
;; code offset: 0x79 - 0x7b
(local.get $0)
)
)
;; code offset: 0x82 - 0x88
(call $"std::terminate()")
;; code offset: 0x88 - 0x89
(unreachable)
)
;; custom section ".debug_info", size 63
;; custom section ".debug_abbrev", size 41
;; custom section ".debug_line", size 109
;; custom section ".debug_str", size 178
;; custom section "producers", size 134
;; features section: mutable-globals, sign-ext, exception-handling
)
DWARF debug info
================
Contains section .debug_info (63 bytes)
Contains section .debug_abbrev (41 bytes)
Contains section .debug_line (109 bytes)
Contains section .debug_str (178 bytes)
.debug_abbrev contents:
Abbrev table for offset: 0x00000000
[1] DW_TAG_compile_unit DW_CHILDREN_yes
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_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_data4
[2] DW_TAG_subprogram DW_CHILDREN_no
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_external DW_FORM_flag_present
.debug_info contents:
0x00000000: Compile Unit: length = 0x0000003b version = 0x0004 abbr_offset = 0x0000 addr_size = 0x04 (next unit at 0x0000003f)
0x0000000b: DW_TAG_compile_unit [1] *
DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] = "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)")
DW_AT_language [DW_FORM_data2] (DW_LANG_C_plus_plus_14)
DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000065] = "dwarf_with_exceptions.cpp")
DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000007f] = "/")
DW_AT_low_pc [DW_FORM_addr] (0x0000000000000005)
DW_AT_high_pc [DW_FORM_data4] (0x00000072)
0x00000026: DW_TAG_subprogram [2]
DW_AT_low_pc [DW_FORM_addr] (0x0000000000000005)
DW_AT_high_pc [DW_FORM_data4] (0x00000072)
DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +0, DW_OP_stack_value)
DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000081] = "_Z21dwarf_with_exceptionsv")
DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000009c] = "dwarf_with_exceptions")
DW_AT_decl_file [DW_FORM_data1] ("/dwarf_with_exceptions.cpp")
DW_AT_decl_line [DW_FORM_data1] (2)
DW_AT_external [DW_FORM_flag_present] (true)
0x0000003e: NULL
.debug_line contents:
debug_line[0x00000000]
Line table prologue:
total_length: 0x00000069
version: 4
prologue_length: 0x00000031
min_inst_length: 1
max_ops_per_inst: 1
default_is_stmt: 1
line_base: -5
line_range: 14
opcode_base: 13
standard_opcode_lengths[DW_LNS_copy] = 0
standard_opcode_lengths[DW_LNS_advance_pc] = 1
standard_opcode_lengths[DW_LNS_advance_line] = 1
standard_opcode_lengths[DW_LNS_set_file] = 1
standard_opcode_lengths[DW_LNS_set_column] = 1
standard_opcode_lengths[DW_LNS_negate_stmt] = 0
standard_opcode_lengths[DW_LNS_set_basic_block] = 0
standard_opcode_lengths[DW_LNS_const_add_pc] = 0
standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
standard_opcode_lengths[DW_LNS_set_isa] = 1
file_names[ 1]:
name: "dwarf_with_exceptions.cpp"
dir_index: 0
mod_time: 0x00000000
length: 0x00000000
0x0000003b: 00 DW_LNE_set_address (0x0000000000000005)
0x00000042: 13 address += 0, line += 1
0x0000000000000005 2 0 1 0 0 is_stmt
0x00000043: 05 DW_LNS_set_column (5)
0x00000045: 0a DW_LNS_set_prologue_end
0x00000046: ae address += 11, line += 2
0x0000000000000010 4 5 1 0 0 is_stmt prologue_end
0x00000047: 05 DW_LNS_set_column (3)
0x00000049: 83 address += 8, line += 1
0x0000000000000018 5 3 1 0 0 is_stmt
0x0000004a: 05 DW_LNS_set_column (5)
0x0000004c: 08 DW_LNS_const_add_pc (0x0000000000000011)
0x0000004d: 83 address += 8, line += 1
0x0000000000000031 6 5 1 0 0 is_stmt
0x0000004e: 06 DW_LNS_negate_stmt
0x0000004f: 03 DW_LNS_advance_line (0)
0x00000051: 82 address += 8, line += 0
0x0000000000000039 0 5 1 0 0
0x00000052: 05 DW_LNS_set_column (3)
0x00000054: 06 DW_LNS_negate_stmt
0x00000055: 89 address += 8, line += 7
0x0000000000000041 7 3 1 0 0 is_stmt
0x00000056: 06 DW_LNS_negate_stmt
0x00000057: 03 DW_LNS_advance_line (0)
0x00000059: 02 DW_LNS_advance_pc (42)
0x0000005b: 01 DW_LNS_copy
0x000000000000006b 0 3 1 0 0
0x0000005c: 27 address += 1, line += 7
0x000000000000006c 7 3 1 0 0
0x0000005d: 03 DW_LNS_advance_line (0)
0x0000005f: 2e address += 2, line += 0
0x000000000000006e 0 3 1 0 0
0x00000060: 27 address += 1, line += 7
0x000000000000006f 7 3 1 0 0
0x00000061: 03 DW_LNS_advance_line (0)
0x00000063: 66 address += 6, line += 0
0x0000000000000075 0 3 1 0 0
0x00000064: 05 DW_LNS_set_column (1)
0x00000066: 06 DW_LNS_negate_stmt
0x00000067: 28 address += 1, line += 8
0x0000000000000076 8 1 1 0 0 is_stmt
0x00000068: 02 DW_LNS_advance_pc (1)
0x0000006a: 00 DW_LNE_end_sequence
0x0000000000000077 8 1 1 0 0 is_stmt end_sequence
.debug_str contents:
0x00000000: "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)"
0x00000065: "dwarf_with_exceptions.cpp"
0x0000007f: "/"
0x00000081: "_Z21dwarf_with_exceptionsv"
0x0000009c: "dwarf_with_exceptions"
DWARF debug info
================
Contains section .debug_info (63 bytes)
Contains section .debug_abbrev (41 bytes)
Contains section .debug_line (162 bytes)
Contains section .debug_str (178 bytes)
.debug_abbrev contents:
Abbrev table for offset: 0x00000000
[1] DW_TAG_compile_unit DW_CHILDREN_yes
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_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_data4
[2] DW_TAG_subprogram DW_CHILDREN_no
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_external DW_FORM_flag_present
.debug_info contents:
0x00000000: Compile Unit: length = 0x0000003b version = 0x0004 abbr_offset = 0x0000 addr_size = 0x04 (next unit at 0x0000003f)
0x0000000b: DW_TAG_compile_unit [1] *
DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] = "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)")
DW_AT_language [DW_FORM_data2] (DW_LANG_C_plus_plus_14)
DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000065] = "dwarf_with_exceptions.cpp")
DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000007f] = "/")
DW_AT_low_pc [DW_FORM_addr] (0x0000000000000005)
DW_AT_high_pc [DW_FORM_data4] (0x00000040)
0x00000026: DW_TAG_subprogram [2]
DW_AT_low_pc [DW_FORM_addr] (0x0000000000000005)
DW_AT_high_pc [DW_FORM_data4] (0x00000040)
DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x0 +0, DW_OP_stack_value)
DW_AT_linkage_name [DW_FORM_strp] ( .debug_str[0x00000081] = "_Z21dwarf_with_exceptionsv")
DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000009c] = "dwarf_with_exceptions")
DW_AT_decl_file [DW_FORM_data1] ("/dwarf_with_exceptions.cpp")
DW_AT_decl_line [DW_FORM_data1] (2)
DW_AT_external [DW_FORM_flag_present] (true)
0x0000003e: NULL
.debug_line contents:
debug_line[0x00000000]
Line table prologue:
total_length: 0x0000009e
version: 4
prologue_length: 0x00000031
min_inst_length: 1
max_ops_per_inst: 1
default_is_stmt: 1
line_base: -5
line_range: 14
opcode_base: 13
standard_opcode_lengths[DW_LNS_copy] = 0
standard_opcode_lengths[DW_LNS_advance_pc] = 1
standard_opcode_lengths[DW_LNS_advance_line] = 1
standard_opcode_lengths[DW_LNS_set_file] = 1
standard_opcode_lengths[DW_LNS_set_column] = 1
standard_opcode_lengths[DW_LNS_negate_stmt] = 0
standard_opcode_lengths[DW_LNS_set_basic_block] = 0
standard_opcode_lengths[DW_LNS_const_add_pc] = 0
standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
standard_opcode_lengths[DW_LNS_set_isa] = 1
file_names[ 1]:
name: "dwarf_with_exceptions.cpp"
dir_index: 0
mod_time: 0x00000000
length: 0x00000000
0x0000003b: 00 DW_LNE_set_address (0x0000000000000005)
0x00000042: 03 DW_LNS_advance_line (2)
0x00000044: 01 DW_LNS_copy
0x0000000000000005 2 0 1 0 0 is_stmt
0x00000045: 00 DW_LNE_set_address (0x000000000000000e)
0x0000004c: 03 DW_LNS_advance_line (4)
0x0000004e: 05 DW_LNS_set_column (5)
0x00000050: 0a DW_LNS_set_prologue_end
0x00000051: 01 DW_LNS_copy
0x000000000000000e 4 5 1 0 0 is_stmt prologue_end
0x00000052: 00 DW_LNE_set_address (0x0000000000000012)
0x00000059: 03 DW_LNS_advance_line (5)
0x0000005b: 05 DW_LNS_set_column (3)
0x0000005d: 01 DW_LNS_copy
0x0000000000000012 5 3 1 0 0 is_stmt
0x0000005e: 00 DW_LNE_set_address (0x000000000000001f)
0x00000065: 03 DW_LNS_advance_line (6)
0x00000067: 05 DW_LNS_set_column (5)
0x00000069: 01 DW_LNS_copy
0x000000000000001f 6 5 1 0 0 is_stmt
0x0000006a: 00 DW_LNE_set_address (0x000000000000003e)
0x00000071: 03 DW_LNS_advance_line (7)
0x00000073: 05 DW_LNS_set_column (3)
0x00000075: 06 DW_LNS_negate_stmt
0x00000076: 01 DW_LNS_copy
0x000000000000003e 7 3 1 0 0
0x00000077: 00 DW_LNE_set_address (0x0000000000000041)
0x0000007e: 01 DW_LNS_copy
0x0000000000000041 7 3 1 0 0
0x0000007f: 00 DW_LNE_set_address (0x0000000000000044)
0x00000086: 03 DW_LNS_advance_line (8)
0x00000088: 05 DW_LNS_set_column (1)
0x0000008a: 06 DW_LNS_negate_stmt
0x0000008b: 01 DW_LNS_copy
0x0000000000000044 8 1 1 0 0 is_stmt
0x0000008c: 00 DW_LNE_set_address (0x0000000000000045)
0x00000093: 01 DW_LNS_copy
0x0000000000000045 8 1 1 0 0 is_stmt
0x00000094: 00 DW_LNE_set_address (0x00000000ffffff64)
0x0000009b: 03 DW_LNS_advance_line (7)
0x0000009d: 05 DW_LNS_set_column (3)
0x0000009f: 00 DW_LNE_end_sequence
0x00000000ffffff64 7 3 1 0 0 is_stmt end_sequence
.debug_str contents:
0x00000000: "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)"
0x00000065: "dwarf_with_exceptions.cpp"
0x0000007f: "/"
0x00000081: "_Z21dwarf_with_exceptionsv"
0x0000009c: "dwarf_with_exceptions"
(module
(type $0 (func))
(type $1 (func (param i32)))
(type $2 (func (param i32) (result i32)))
(import "env" "_Z3foov" (func $"foo()"))
(import "env" "__cxa_begin_catch" (func $__cxa_begin_catch (param i32) (result i32)))
(import "env" "__cxa_end_catch" (func $__cxa_end_catch))
(import "env" "_ZSt9terminatev" (func $"std::terminate()"))
(global $__stack_pointer (mut i32) (i32.const 66560))
(memory $0 2)
(tag $tag$0 (type $1) (param i32))
(export "memory" (memory $0))
(func $__wasm_call_ctors
)
(func $"dwarf_with_exceptions()"
(local $0 i32)
(local $1 i32)
;; code offset: 0xc - 0xe
(local.set $0
;; code offset: 0xa - 0xc
(global.get $__stack_pointer)
)
;; code offset: 0xe - 0x44
(try
(do
;; code offset: 0x10 - 0x12
(call $"foo()")
)
;; code offset: 0x12
(catch $tag$0
;; code offset: 0x14 - 0x16
(local.set $1
(pop i32)
)
;; code offset: 0x18 - 0x1a
(global.set $__stack_pointer
;; code offset: 0x16 - 0x18
(local.get $0)
)
;; code offset: 0x1e - 0x1f
(drop
;; code offset: 0x1c - 0x1e
(call $__cxa_begin_catch
;; code offset: 0x1a - 0x1c
(local.get $1)
)
)
;; code offset: 0x1f - 0x41
(try $label
(do
;; code offset: 0x21 - 0x23
(call $"foo()")
;; code offset: 0x25 - 0x27
(global.set $__stack_pointer
;; code offset: 0x23 - 0x25
(local.get $0)
)
)
;; code offset: 0x27
(catch_all
;; code offset: 0x28 - 0x3e
(try
(do
;; code offset: 0x2a - 0x2c
(call $__cxa_end_catch)
)
;; code offset: 0x2c
(catch $tag$0
;; code offset: 0x2e - 0x30
(local.set $1
(pop i32)
)
;; code offset: 0x32 - 0x34
(global.set $__stack_pointer
;; code offset: 0x30 - 0x32
(local.get $0)
)
;; code offset: 0x36 - 0x38
(call $__clang_call_terminate
;; code offset: 0x34 - 0x36
(local.get $1)
)
;; code offset: 0x38 - 0x39
(unreachable)
)
;; code offset: 0x39
(catch_all
;; code offset: 0x3a - 0x3c
(call $"std::terminate()")
;; code offset: 0x3c - 0x3d
(unreachable)
)
)
;; code offset: 0x3e - 0x40
(rethrow $label)
)
)
;; code offset: 0x41 - 0x43
(call $__cxa_end_catch)
)
)
)
(func $__clang_call_terminate (param $0 i32)
;; code offset: 0x4b - 0x4c
(drop
;; code offset: 0x49 - 0x4b
(call $__cxa_begin_catch
;; code offset: 0x47 - 0x49
(local.get $0)
)
)
;; code offset: 0x4c - 0x4e
(call $"std::terminate()")
;; code offset: 0x4e - 0x4f
(unreachable)
)
;; custom section ".debug_info", size 63
;; custom section ".debug_abbrev", size 41
;; custom section ".debug_line", size 162
;; custom section ".debug_str", size 178
;; custom section "producers", size 134
;; features section: mutable-globals, sign-ext, exception-handling
)