diff options
Diffstat (limited to 'test/passes/dwarf_with_exceptions.bin.txt')
-rw-r--r-- | test/passes/dwarf_with_exceptions.bin.txt | 544 |
1 files changed, 544 insertions, 0 deletions
diff --git a/test/passes/dwarf_with_exceptions.bin.txt b/test/passes/dwarf_with_exceptions.bin.txt new file mode 100644 index 000000000..324e1d44d --- /dev/null +++ b/test/passes/dwarf_with_exceptions.bin.txt @@ -0,0 +1,544 @@ +(module + (type $none_=>_none (func)) + (type $i32_=>_none (func (param i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (import "env" "foo" (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\28\29)) + (memory $0 2) + (table $0 1 1 funcref) + (global $global$0 (mut i32) (i32.const 66560)) + (event $event$0 (attr 0) (param i32)) + (export "memory" (memory $0)) + (func $__wasm_call_ctors + ) + (func $test_debuginfo + (local $0 i32) + (local $1 i32) + ;; code offset: 0xe + (local.set $0 + ;; code offset: 0x8 + (global.get $global$0) + ) + ;; code offset: 0x10 + (try + (do + ;; code offset: 0x12 + (call $foo) + ) + ;; code offset: 0x18 + (catch $event$0 + ;; code offset: 0x1e + (local.set $1 + (pop i32) + ) + ;; code offset: 0x22 + (global.set $global$0 + ;; code offset: 0x20 + (local.get $0) + ) + ;; code offset: 0x30 + (drop + ;; code offset: 0x2a + (call $__cxa_begin_catch + ;; code offset: 0x28 + (local.get $1) + ) + ) + ;; code offset: 0x31 + (try + (do + ;; code offset: 0x33 + (call $foo) + ;; code offset: 0x3b + (global.set $global$0 + ;; code offset: 0x39 + (local.get $0) + ) + ) + ;; code offset: 0x41 + (catch_all + ;; code offset: 0x42 + (try + (do + ;; code offset: 0x44 + (call $__cxa_end_catch) + ) + ;; code offset: 0x4a + (catch $event$0 + ;; code offset: 0x50 + (local.set $1 + (pop i32) + ) + ;; code offset: 0x54 + (global.set $global$0 + ;; code offset: 0x52 + (local.get $0) + ) + ;; code offset: 0x5c + (call $__clang_call_terminate + ;; code offset: 0x5a + (local.get $1) + ) + ;; code offset: 0x62 + (unreachable) + ) + ;; code offset: 0x63 + (catch_all + ;; code offset: 0x64 + (call $std::terminate\28\29) + ;; code offset: 0x6a + (unreachable) + ) + ) + ;; code offset: 0x6c + (rethrow 0) + ) + ) + ;; code offset: 0x6f + (call $__cxa_end_catch) + ) + ) + ) + (func $__clang_call_terminate (param $0 i32) + ;; code offset: 0x81 + (drop + ;; code offset: 0x7b + (call $__cxa_begin_catch + ;; code offset: 0x79 + (local.get $0) + ) + ) + ;; code offset: 0x82 + (call $std::terminate\28\29) + ;; code offset: 0x88 + (unreachable) + ) + ;; custom section ".debug_info", size 63 + ;; custom section ".debug_abbrev", size 41 + ;; custom section ".debug_line", size 92 + ;; custom section ".debug_str", size 194 + ;; custom section "producers", size 137 +) +DWARF debug info +================ + +Contains section .debug_info (63 bytes) +Contains section .debug_abbrev (41 bytes) +Contains section .debug_line (92 bytes) +Contains section .debug_str (194 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 12.0.0 (https://github.com/aheejin/llvm-project e74a5010a507b737fcbd40e87cde358f2c9fc812)") + DW_AT_language [DW_FORM_data2] (DW_LANG_C_plus_plus_14) + DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000068] = "test.cpp") + DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000) + DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000071] = "/usr/local/google/home/aheejin/llvm-git/llvm/tw") + 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[0x000000a1] = "test_debuginfo") + DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000b0] = "test_terminatepad") + DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/aheejin/llvm-git/llvm/tw/test.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: 0x00000058 + version: 4 + prologue_length: 0x00000020 + 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: "test.cpp" + dir_index: 0 + mod_time: 0x00000000 + length: 0x00000000 +0x0000002a: 00 DW_LNE_set_address (0x0000000000000005) +0x00000031: 13 address += 0, line += 1 + 0x0000000000000005 2 0 1 0 0 is_stmt + +0x00000032: 05 DW_LNS_set_column (5) +0x00000034: 0a DW_LNS_set_prologue_end +0x00000035: ae address += 11, line += 2 + 0x0000000000000010 4 5 1 0 0 is_stmt prologue_end + +0x00000036: 05 DW_LNS_set_column (3) +0x00000038: 83 address += 8, line += 1 + 0x0000000000000018 5 3 1 0 0 is_stmt + +0x00000039: 05 DW_LNS_set_column (5) +0x0000003b: 08 DW_LNS_const_add_pc (0x0000000000000011) +0x0000003c: 83 address += 8, line += 1 + 0x0000000000000031 6 5 1 0 0 is_stmt + +0x0000003d: 06 DW_LNS_negate_stmt +0x0000003e: 03 DW_LNS_advance_line (0) +0x00000040: 82 address += 8, line += 0 + 0x0000000000000039 0 5 1 0 0 + +0x00000041: 05 DW_LNS_set_column (3) +0x00000043: 06 DW_LNS_negate_stmt +0x00000044: 89 address += 8, line += 7 + 0x0000000000000041 7 3 1 0 0 is_stmt + +0x00000045: 06 DW_LNS_negate_stmt +0x00000046: 03 DW_LNS_advance_line (0) +0x00000048: 02 DW_LNS_advance_pc (42) +0x0000004a: 01 DW_LNS_copy + 0x000000000000006b 0 3 1 0 0 + + +0x0000004b: 27 address += 1, line += 7 + 0x000000000000006c 7 3 1 0 0 + +0x0000004c: 03 DW_LNS_advance_line (0) +0x0000004e: 2e address += 2, line += 0 + 0x000000000000006e 0 3 1 0 0 + +0x0000004f: 27 address += 1, line += 7 + 0x000000000000006f 7 3 1 0 0 + +0x00000050: 03 DW_LNS_advance_line (0) +0x00000052: 66 address += 6, line += 0 + 0x0000000000000075 0 3 1 0 0 + +0x00000053: 05 DW_LNS_set_column (1) +0x00000055: 06 DW_LNS_negate_stmt +0x00000056: 28 address += 1, line += 8 + 0x0000000000000076 8 1 1 0 0 is_stmt + +0x00000057: 02 DW_LNS_advance_pc (1) +0x00000059: 00 DW_LNE_end_sequence + 0x0000000000000077 8 1 1 0 0 is_stmt end_sequence + + +.debug_str contents: +0x00000000: "clang version 12.0.0 (https://github.com/aheejin/llvm-project e74a5010a507b737fcbd40e87cde358f2c9fc812)" +0x00000068: "test.cpp" +0x00000071: "/usr/local/google/home/aheejin/llvm-git/llvm/tw" +0x000000a1: "test_debuginfo" +0x000000b0: "test_terminatepad" +DWARF debug info +================ + +Contains section .debug_info (63 bytes) +Contains section .debug_abbrev (41 bytes) +Contains section .debug_line (145 bytes) +Contains section .debug_str (194 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 12.0.0 (https://github.com/aheejin/llvm-project e74a5010a507b737fcbd40e87cde358f2c9fc812)") + DW_AT_language [DW_FORM_data2] (DW_LANG_C_plus_plus_14) + DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000068] = "test.cpp") + DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000) + DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000071] = "/usr/local/google/home/aheejin/llvm-git/llvm/tw") + 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[0x000000a1] = "test_debuginfo") + DW_AT_name [DW_FORM_strp] ( .debug_str[0x000000b0] = "test_terminatepad") + DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/aheejin/llvm-git/llvm/tw/test.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: 0x0000008d + version: 4 + prologue_length: 0x00000020 + 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: "test.cpp" + dir_index: 0 + mod_time: 0x00000000 + length: 0x00000000 +0x0000002a: 00 DW_LNE_set_address (0x0000000000000005) +0x00000031: 03 DW_LNS_advance_line (2) +0x00000033: 01 DW_LNS_copy + 0x0000000000000005 2 0 1 0 0 is_stmt + + +0x00000034: 00 DW_LNE_set_address (0x000000000000000e) +0x0000003b: 03 DW_LNS_advance_line (4) +0x0000003d: 05 DW_LNS_set_column (5) +0x0000003f: 0a DW_LNS_set_prologue_end +0x00000040: 01 DW_LNS_copy + 0x000000000000000e 4 5 1 0 0 is_stmt prologue_end + + +0x00000041: 00 DW_LNE_set_address (0x0000000000000012) +0x00000048: 03 DW_LNS_advance_line (5) +0x0000004a: 05 DW_LNS_set_column (3) +0x0000004c: 01 DW_LNS_copy + 0x0000000000000012 5 3 1 0 0 is_stmt + + +0x0000004d: 00 DW_LNE_set_address (0x000000000000001f) +0x00000054: 03 DW_LNS_advance_line (6) +0x00000056: 05 DW_LNS_set_column (5) +0x00000058: 01 DW_LNS_copy + 0x000000000000001f 6 5 1 0 0 is_stmt + + +0x00000059: 00 DW_LNE_set_address (0x000000000000003e) +0x00000060: 03 DW_LNS_advance_line (7) +0x00000062: 05 DW_LNS_set_column (3) +0x00000064: 06 DW_LNS_negate_stmt +0x00000065: 01 DW_LNS_copy + 0x000000000000003e 7 3 1 0 0 + + +0x00000066: 00 DW_LNE_set_address (0x0000000000000041) +0x0000006d: 01 DW_LNS_copy + 0x0000000000000041 7 3 1 0 0 + + +0x0000006e: 00 DW_LNE_set_address (0x0000000000000044) +0x00000075: 03 DW_LNS_advance_line (8) +0x00000077: 05 DW_LNS_set_column (1) +0x00000079: 06 DW_LNS_negate_stmt +0x0000007a: 01 DW_LNS_copy + 0x0000000000000044 8 1 1 0 0 is_stmt + + +0x0000007b: 00 DW_LNE_set_address (0x0000000000000045) +0x00000082: 01 DW_LNS_copy + 0x0000000000000045 8 1 1 0 0 is_stmt + + +0x00000083: 00 DW_LNE_set_address (0x00000000ffffff61) +0x0000008a: 03 DW_LNS_advance_line (7) +0x0000008c: 05 DW_LNS_set_column (3) +0x0000008e: 00 DW_LNE_end_sequence + 0x00000000ffffff61 7 3 1 0 0 is_stmt end_sequence + + +.debug_str contents: +0x00000000: "clang version 12.0.0 (https://github.com/aheejin/llvm-project e74a5010a507b737fcbd40e87cde358f2c9fc812)" +0x00000068: "test.cpp" +0x00000071: "/usr/local/google/home/aheejin/llvm-git/llvm/tw" +0x000000a1: "test_debuginfo" +0x000000b0: "test_terminatepad" +(module + (type $none_=>_none (func)) + (type $i32_=>_none (func (param i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (import "env" "foo" (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\28\29)) + (memory $0 2) + (table $0 1 1 funcref) + (global $global$0 (mut i32) (i32.const 66560)) + (event $event$0 (attr 0) (param i32)) + (export "memory" (memory $0)) + (func $__wasm_call_ctors + ) + (func $test_debuginfo + (local $0 i32) + (local $1 i32) + ;; code offset: 0xc + (local.set $0 + ;; code offset: 0xa + (global.get $global$0) + ) + ;; code offset: 0xe + (try + (do + ;; code offset: 0x10 + (call $foo) + ) + ;; code offset: 0x12 + (catch $event$0 + ;; code offset: 0x14 + (local.set $1 + (pop i32) + ) + ;; code offset: 0x18 + (global.set $global$0 + ;; code offset: 0x16 + (local.get $0) + ) + ;; code offset: 0x1e + (drop + ;; code offset: 0x1c + (call $__cxa_begin_catch + ;; code offset: 0x1a + (local.get $1) + ) + ) + ;; code offset: 0x1f + (try + (do + ;; code offset: 0x21 + (call $foo) + ;; code offset: 0x25 + (global.set $global$0 + ;; code offset: 0x23 + (local.get $0) + ) + ) + ;; code offset: 0x27 + (catch_all + ;; code offset: 0x28 + (try + (do + ;; code offset: 0x2a + (call $__cxa_end_catch) + ) + ;; code offset: 0x2c + (catch $event$0 + ;; code offset: 0x2e + (local.set $1 + (pop i32) + ) + ;; code offset: 0x32 + (global.set $global$0 + ;; code offset: 0x30 + (local.get $0) + ) + ;; code offset: 0x36 + (call $__clang_call_terminate + ;; code offset: 0x34 + (local.get $1) + ) + ;; code offset: 0x38 + (unreachable) + ) + ;; code offset: 0x39 + (catch_all + ;; code offset: 0x3a + (call $std::terminate\28\29) + ;; code offset: 0x3c + (unreachable) + ) + ) + ;; code offset: 0x3e + (rethrow 0) + ) + ) + ;; code offset: 0x41 + (call $__cxa_end_catch) + ) + ) + ) + (func $__clang_call_terminate (param $0 i32) + ;; code offset: 0x4b + (drop + ;; code offset: 0x49 + (call $__cxa_begin_catch + ;; code offset: 0x47 + (local.get $0) + ) + ) + ;; code offset: 0x4c + (call $std::terminate\28\29) + ;; code offset: 0x4e + (unreachable) + ) + ;; custom section ".debug_info", size 63 + ;; custom section ".debug_abbrev", size 41 + ;; custom section ".debug_line", size 145 + ;; custom section ".debug_str", size 194 + ;; custom section "producers", size 137 +) |