# Object file copied from llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test # Then manually tempered with some of the value of the attribute # I hope there are easier ways to construct tests like this. # RUN: yaml2obj %s -o %t.o # RUN: not llvm-dwarfdump -verify -debug-info %t.o | FileCheck %s --check-prefix=CHECK_INVALID --implicit-check-not=error: # RUN: llvm-dwarfdump -debug-line -verbose -debug-info %t.o | FileCheck %s --check-prefix=CHECK_DEBUG_LINE # CHECK_INVALID: error: DW_AT_LLVM_stmt_sequence offset 0x00000000 is not within the line table bounds [0x00000034, 0x000000fd) # CHECK_INVALID: DW_AT_LLVM_stmt_sequence [DW_FORM_sec_offset] (0x00000000) # CHECK_DEBUG_LINE: Address Line Column File ISA Discriminator OpIndex Flags # CHECK_DEBUG_LINE-NEXT: ------------------ ------ ------ ------ --- ------------- ------- ------------- # CHECK_DEBUG_LINE-NEXT: 0x00000034: 05 DW_LNS_set_column (10) # CHECK_DEBUG_LINE-NEXT: 0x00000036: 0a DW_LNS_set_prologue_end # CHECK_DEBUG_LINE-NEXT: 0x00000037: 00 DW_LNE_set_address (0x0000000000000000) # CHECK_DEBUG_LINE-NEXT: 0x00000042: 14 address += 0, line += 2, op-index += 0 # CHECK_DEBUG_LINE-NEXT: 0x0000000000000000 3 10 1 0 0 0 is_stmt prologue_end # CHECK_DEBUG_LINE-NEXT: 0x00000043: 05 DW_LNS_set_column (3) # CHECK_DEBUG_LINE-NEXT: 0x00000045: 06 DW_LNS_negate_stmt # CHECK_DEBUG_LINE-NEXT: 0x00000046: 4a address += 4, line += 0, op-index += 0 # CHECK_DEBUG_LINE-NEXT: 0x0000000000000004 3 3 1 0 0 0 # CHECK_DEBUG_LINE-NEXT: 0x00000047: 00 DW_LNE_end_sequence # CHECK_DEBUG_LINE-NEXT: 0x0000000000000004 3 3 1 0 0 0 end_sequence # 0xd3 would be a valid offset, if the line table wasn't ill formed with two rows having the same PC (0x8c). # CHECK_INVALID: error: DW_AT_LLVM_stmt_sequence offset 0x000000d3 does not point to a valid sequence offset in the line table # CHECK_INVALID: DW_AT_LLVM_stmt_sequence [DW_FORM_sec_offset] (0x000000d3) # CHECK_DEBUG_LINE: 0x000000d3: 05 DW_LNS_set_column (85) # CHECK_DEBUG_LINE-NEXT: 0x000000d5: 0a DW_LNS_set_prologue_end # CHECK_DEBUG_LINE-NEXT: 0x000000d6: 00 DW_LNE_set_address (0x000000000000008c) # CHECK_DEBUG_LINE-NEXT: 0x000000e1: 03 DW_LNS_advance_line (30) # CHECK_DEBUG_LINE-NEXT: 0x000000e3: 01 DW_LNS_copy # CHECK_DEBUG_LINE-NEXT: 0x000000000000008c 30 85 1 0 0 0 is_stmt prologue_end # CHECK_DEBUG_LINE-NEXT: 0x000000e4: 00 DW_LNE_end_sequence # CHECK_DEBUG_LINE-NEXT: 0x000000000000008c 30 85 1 0 0 0 is_stmt end_sequence # CHECK_INVALID: error: DIE has invalid DW_AT_LLVM_stmt_sequence encoding # CHECK_INVALID: DW_AT_LLVM_stmt_sequence [DW_FORM_data4] (0x000000a7) # CHECK_INVALID: error: DW_AT_LLVM_stmt_sequence offset 0x000000ab does not point to a valid sequence offset in the line table # CHECK_INVALID: DW_AT_LLVM_stmt_sequence [DW_FORM_sec_offset] (0x000000ab) # CHECK_INVALID: error: DW_AT_LLVM_stmt_sequence offset is beyond .debug_line bounds: 0x00eeeee7 # CHECK_INVALID: DW_AT_LLVM_stmt_sequence [DW_FORM_sec_offset] (0x00eeeee7) # CHECK_DEBUG_LINE: 0x000000f8: 02 DW_LNS_advance_pc (addr += 4, op-index += 0) # CHECK_DEBUG_LINE-NEXT: 0x000000fa: 00 DW_LNE_end_sequence # CHECK_DEBUG_LINE-NEXT: 0x0000000000000094 30 86 1 0 0 0 is_stmt end_sequence # CHECK_INVALID: error: Aggregated error counts: # CHECK_INVALID-NEXT: error: DW_AT_LLVM_stmt_sequence offset out of bounds occurred 1 time(s). # CHECK_INVALID-NEXT: error: DW_AT_LLVM_stmt_sequence offset out of line table bounds occurred 1 time(s). # CHECK_INVALID-NEXT: error: Invalid DW_AT_LLVM_stmt_sequence encoding occurred 1 time(s). # CHECK_INVALID-NEXT: error: Invalid DW_AT_LLVM_stmt_sequence offset occurred 2 time(s). --- !mach-o IsLittleEndian: true FileHeader: magic: 0xFEEDFACF cputype: 0x100000C cpusubtype: 0x0 filetype: 0x1 ncmds: 5 sizeofcmds: 1176 flags: 0x2000 reserved: 0x0 LoadCommands: - cmd: LC_SEGMENT_64 cmdsize: 1032 segname: '' vmaddr: 0 vmsize: 3125 fileoff: 1208 filesize: 3125 maxprot: 7 initprot: 7 nsects: 12 flags: 0 Sections: - sectname: __text segname: __TEXT addr: 0x0 size: 148 offset: 0x4B8 align: 2 reloff: 0x10F0 nreloc: 8 flags: 0x80000400 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 00040011C0035FD600100011C0035FD600580051C0035FD600100011C0035FD600580051C0035FD6FFC300D1F44F01A9FD7B02A9FD8300916000805200000094F30300AA20058052000000941400130B6001805200000094F30300AA40058052000000947302000B0100009021000091E03F0091000000948002130BFD7B42A9F44F41A9FFC30091C0035FD600000014C0035FD6 relocations: - address: 0x8C symbolnum: 4 pcrel: true length: 2 extern: true type: 2 scattered: false value: 0 - address: 0x74 symbolnum: 3 pcrel: true length: 2 extern: true type: 2 scattered: false value: 0 - address: 0x6C symbolnum: 1 pcrel: false length: 2 extern: true type: 4 scattered: false value: 0 - address: 0x68 symbolnum: 1 pcrel: true length: 2 extern: true type: 3 scattered: false value: 0 - address: 0x60 symbolnum: 5 pcrel: true length: 2 extern: true type: 2 scattered: false value: 0 - address: 0x54 symbolnum: 6 pcrel: true length: 2 extern: true type: 2 scattered: false value: 0 - address: 0x48 symbolnum: 9 pcrel: true length: 2 extern: true type: 2 scattered: false value: 0 - address: 0x3C symbolnum: 7 pcrel: true length: 2 extern: true type: 2 scattered: false value: 0 - sectname: __cstring segname: __TEXT addr: 0x94 size: 5 offset: 0x54C align: 0 reloff: 0x0 nreloc: 0 flags: 0x2 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: '7465737400' - sectname: __debug_loc segname: __DWARF addr: 0x99 size: 412 offset: 0x551 align: 0 reloff: 0x0 nreloc: 0 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 08000000000000000C000000000000000100500C0000000000000010000000000000000400A301509F0000000000000000000000000000000008000000000000000C00000000000000030070039F0000000000000000000000000000000010000000000000001400000000000000010050140000000000000018000000000000000400A301509F0000000000000000000000000000000018000000000000001C000000000000000100501C0000000000000020000000000000000400A301509F0000000000000000000000000000000018000000000000001C00000000000000030070039F0000000000000000000000000000000020000000000000002400000000000000010050240000000000000028000000000000000400A301509F00000000000000000000000000000000240000000000000028000000000000000100500000000000000000000000000000000038000000000000004400000000000000030011009F4400000000000000500000000000000001006350000000000000005C0000000000000001006400000000000000000000000000000000 - sectname: __debug_abbrev segname: __DWARF addr: 0x235 size: 372 offset: 0x6ED align: 0 reloff: 0x0 nreloc: 0 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 - sectname: __debug_info segname: __DWARF addr: 0x3A9 size: 747 offset: 0x861 align: 0 reloff: 0x1130 nreloc: 16 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 relocations: - address: 0x2A7 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x28E symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x253 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x1F5 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x1E1 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x1CE symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x1BA symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x1A7 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x169 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x12D symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0xF1 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0xC4 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x88 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x5F symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x37 symbolnum: 2 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x22 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - sectname: __debug_str segname: __DWARF addr: 0x694 size: 400 offset: 0xB4C align: 0 reloff: 0x0 nreloc: 0 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 - sectname: __apple_names segname: __DWARF addr: 0x824 size: 288 offset: 0xCDC align: 0 reloff: 0x0 nreloc: 0 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 485341480100000009000000090000000C00000000000000010000000100060000000000FFFFFFFFFFFFFFFF0100000003000000040000000600000007000000080000004A08311CC78E3C8288CB36CF89CB36CFD1125E53522B705390D9F86F6A7F9A7C4908311C8C0000009C000000AC000000BC000000CC000000DC000000EC00000000010000100100000601000001000000F000000000000000D6000000010000005E00000000000000F600000001000000C30000000000000016010000010000002C01000000000000440100000100000052020000000000005C01000001000000A6020000000000002B0100000200000052020000A60200000000000026010000010000006801000000000000E6000000010000008700000000000000 - sectname: __apple_objc segname: __DWARF addr: 0x944 size: 36 offset: 0xDFC align: 0 reloff: 0x0 nreloc: 0 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF - sectname: __apple_namespac segname: __DWARF addr: 0x968 size: 36 offset: 0xE20 align: 0 reloff: 0x0 nreloc: 0 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF - sectname: __apple_types segname: __DWARF addr: 0x98C size: 195 offset: 0xE44 align: 0 reloff: 0x0 nreloc: 0 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 48534148010000000500000005000000140000000000000003000000010006000300050004000B000000000002000000FFFFFFFF03000000040000007CA8F05D90D9F86F5B738CDC3080880B6320957C64000000770000008A0000009D000000B0000000380100000100000027020000130000000000002B010000010000000502000013000000000000C20000000100000057000000240000000000007401000001000000DE02000024000000000000BD000000010000005000000024000000000000 - sectname: __debug_frame segname: __DWARF addr: 0xA50 size: 232 offset: 0xF08 align: 3 reloff: 0x11B0 nreloc: 8 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 14000000FFFFFFFF0400080001781E0C1F00000000000000140000000000000000000000000000000800000000000000140000000000000008000000000000000800000000000000140000000000000010000000000000000800000000000000140000000000000018000000000000000800000000000000140000000000000020000000000000000800000000000000240000000000000028000000000000006400000000000000500C1D109E019D02930394040000000014000000000000008C000000000000000400000000000000140000000000000090000000000000000400000000000000 relocations: - address: 0xD8 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0xC0 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x98 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x80 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x68 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x50 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x38 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x20 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - sectname: __debug_line segname: __DWARF addr: 0xB38 size: 253 offset: 0xFF0 align: 0 reloff: 0x11F0 nreloc: 8 flags: 0x2000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 relocations: - address: 0xED symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0xD9 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0xAA symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x96 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x7E symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x66 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x50 symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - address: 0x3A symbolnum: 1 pcrel: false length: 3 extern: false type: 0 scattered: false value: 0 - cmd: LC_BUILD_VERSION cmdsize: 24 platform: 1 minos: 720896 sdk: 0 ntools: 0 - cmd: LC_LINKER_OPTIMIZATION_HINT cmdsize: 16 dataoff: 4656 datasize: 8 - cmd: LC_SYMTAB cmdsize: 24 symoff: 4664 nsyms: 11 stroff: 4840 strsize: 168 - cmd: LC_DYSYMTAB cmdsize: 80 ilocalsym: 0 nlocalsym: 3 iextdefsym: 3 nextdefsym: 8 iundefsym: 11 nundefsym: 0 tocoff: 0 ntoc: 0 modtaboff: 0 nmodtab: 0 extrefsymoff: 0 nextrefsyms: 0 indirectsymoff: 0 nindirectsyms: 0 extreloff: 0 nextrel: 0 locreloff: 0 nlocrel: 0 LinkEditData: NameList: - n_strx: 155 n_type: 0xE n_sect: 1 n_desc: 0 n_value: 0 - n_strx: 1 n_type: 0xE n_sect: 2 n_desc: 0 n_value: 148 - n_strx: 149 n_type: 0xE n_sect: 2 n_desc: 0 n_value: 148 - n_strx: 39 n_type: 0xF n_sect: 1 n_desc: 192 n_value: 140 - n_strx: 14 n_type: 0xF n_sect: 1 n_desc: 192 n_value: 144 - n_strx: 132 n_type: 0xF n_sect: 1 n_desc: 0 n_value: 0 - n_strx: 115 n_type: 0xF n_sect: 1 n_desc: 0 n_value: 16 - n_strx: 81 n_type: 0xF n_sect: 1 n_desc: 0 n_value: 32 - n_strx: 98 n_type: 0xF n_sect: 1 n_desc: 0 n_value: 8 - n_strx: 64 n_type: 0xF n_sect: 1 n_desc: 0 n_value: 24 - n_strx: 8 n_type: 0xF n_sect: 1 n_desc: 0 n_value: 40 StringTable: - '' - l_.str - _main - __ZN12length_errorC2EPKc - __ZN12length_errorC1EPKc - _function3_copy2 - _function2_copy2 - _function3_copy1 - _function2_copy1 - _function1_copy1 - ltmp1 - ltmp0 - '' - '' - '' - '' - '' - '' - '' DWARF: debug_str: - 'Facebook clang version 19.1.5 (https://git.internal.tfbnw.net/repos/git/rw/osmeta/external/llvm-project b36c9ae1f8f2b39e4aafb9ca4700c608c3036365)' - stmt_seq_macho.cpp - '/' - '/private/tmp/stmt_seq' - char - __ARRAY_SIZE_TYPE__ - function1_copy1 - function3_copy1 - function2_copy1 - function3_copy2 - function2_copy2 - main - length_error - logic_error - _ZN12length_errorC1EPKc - _ZN12length_errorC2EPKc - int - a - b - result - e - sum - this - s debug_abbrev: - ID: 0 Table: - Code: 0x1 Tag: DW_TAG_compile_unit Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_producer Form: DW_FORM_strp - Attribute: DW_AT_language Form: DW_FORM_data2 - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_LLVM_sysroot Form: DW_FORM_strp - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset - Attribute: DW_AT_comp_dir Form: DW_FORM_strp - Attribute: DW_AT_APPLE_optimized Form: DW_FORM_flag_present - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data4 - Code: 0x2 Tag: DW_TAG_variable Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_location Form: DW_FORM_exprloc - Code: 0x3 Tag: DW_TAG_array_type Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0x4 Tag: DW_TAG_subrange_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_count Form: DW_FORM_data1 - Code: 0x5 Tag: DW_TAG_const_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0x6 Tag: DW_TAG_base_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_encoding Form: DW_FORM_data1 - Attribute: DW_AT_byte_size Form: DW_FORM_data1 - Code: 0x7 Tag: DW_TAG_base_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_byte_size Form: DW_FORM_data1 - Attribute: DW_AT_encoding Form: DW_FORM_data1 - Code: 0x8 Tag: DW_TAG_subprogram Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data4 - Attribute: DW_AT_APPLE_omit_frame_ptr Form: DW_FORM_flag_present - Attribute: DW_AT_LLVM_stmt_sequence Form: DW_FORM_sec_offset - Attribute: DW_AT_frame_base Form: DW_FORM_exprloc - Attribute: DW_AT_call_all_calls Form: DW_FORM_flag_present - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_external Form: DW_FORM_flag_present - Attribute: DW_AT_APPLE_optimized Form: DW_FORM_flag_present - Code: 0x9 Tag: DW_TAG_formal_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0xA Tag: DW_TAG_formal_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_sec_offset - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0xB Tag: DW_TAG_variable Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_sec_offset - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0xC Tag: DW_TAG_subprogram Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data4 - Attribute: DW_AT_LLVM_stmt_sequence Form: DW_FORM_data4 - Attribute: DW_AT_frame_base Form: DW_FORM_exprloc - Attribute: DW_AT_call_all_calls Form: DW_FORM_flag_present - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_external Form: DW_FORM_flag_present - Attribute: DW_AT_APPLE_optimized Form: DW_FORM_flag_present - Code: 0xD Tag: DW_TAG_variable Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_exprloc - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0xE Tag: DW_TAG_call_site Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_call_origin Form: DW_FORM_ref4 - Attribute: DW_AT_call_return_pc Form: DW_FORM_addr - Code: 0xF Tag: DW_TAG_call_site_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_exprloc - Attribute: DW_AT_call_value Form: DW_FORM_exprloc - Code: 0x10 Tag: DW_TAG_structure_type Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_calling_convention Form: DW_FORM_data1 - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_byte_size Form: DW_FORM_data1 - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Code: 0x11 Tag: DW_TAG_inheritance Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_data_member_location Form: DW_FORM_data1 - Code: 0x12 Tag: DW_TAG_subprogram Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_declaration Form: DW_FORM_flag_present - Attribute: DW_AT_external Form: DW_FORM_flag_present - Attribute: DW_AT_APPLE_optimized Form: DW_FORM_flag_present - Attribute: DW_AT_explicit Form: DW_FORM_flag_present - Code: 0x13 Tag: DW_TAG_formal_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_artificial Form: DW_FORM_flag_present - Code: 0x14 Tag: DW_TAG_formal_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0x15 Tag: DW_TAG_subprogram Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_declaration Form: DW_FORM_flag_present - Attribute: DW_AT_external Form: DW_FORM_flag_present - Attribute: DW_AT_APPLE_optimized Form: DW_FORM_flag_present - Code: 0x16 Tag: DW_TAG_pointer_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0x17 Tag: DW_TAG_subprogram Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data4 - Attribute: DW_AT_APPLE_omit_frame_ptr Form: DW_FORM_flag_present - Attribute: DW_AT_LLVM_stmt_sequence Form: DW_FORM_sec_offset - Attribute: DW_AT_frame_base Form: DW_FORM_exprloc - Attribute: DW_AT_object_pointer Form: DW_FORM_ref4 - Attribute: DW_AT_call_all_calls Form: DW_FORM_flag_present - Attribute: DW_AT_linkage_name Form: DW_FORM_strp - Attribute: DW_AT_specification Form: DW_FORM_ref4 - Code: 0x18 Tag: DW_TAG_formal_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_exprloc - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_artificial Form: DW_FORM_flag_present - Code: 0x19 Tag: DW_TAG_formal_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_exprloc - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0x1A Tag: DW_TAG_call_site Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_call_origin Form: DW_FORM_ref4 - Attribute: DW_AT_call_tail_call Form: DW_FORM_flag_present - Attribute: DW_AT_call_pc Form: DW_FORM_addr debug_info: - Length: 0x2E7 Version: 4 AbbrevTableID: 0 AbbrOffset: 0x0 AddrSize: 8 Entries: - AbbrCode: 0x1 Values: - Value: 0x0 - Value: 0x21 - Value: 0x92 - Value: 0xA5 - Value: 0x0 - Value: 0xA7 - Value: 0x1 - Value: 0x0 - Value: 0x94 - AbbrCode: 0x2 Values: - Value: 0x3F - Value: 0x1 - Value: 0x27 - Value: 0x9 BlockData: [ 0x3, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ] - AbbrCode: 0x3 Values: - Value: 0x4B - AbbrCode: 0x4 Values: - Value: 0x57 - Value: 0x5 - AbbrCode: 0x0 - AbbrCode: 0x5 Values: - Value: 0x50 - AbbrCode: 0x6 Values: - Value: 0xBD - Value: 0x6 - Value: 0x1 - AbbrCode: 0x7 Values: - Value: 0xC2 - Value: 0x8 - Value: 0x7 - AbbrCode: 0x8 Values: - Value: 0x0 - Value: 0x8 - Value: 0x1 - BlockData: [ 0x6F ] - Value: 0x1 BlockData: [ 0x6F ] - Value: 0x1 - Value: 0xD6 - Value: 0x1 - Value: 0x2 - Value: 0x2DE - Value: 0x1 - Value: 0x1 - AbbrCode: 0x9 Values: - Value: 0x178 - Value: 0x1 - Value: 0x2 - Value: 0x2DE - AbbrCode: 0x0 - AbbrCode: 0x8 Values: - Value: 0x8 - Value: 0x8 - Value: 0x1 - Value: 0x4A - Value: 0x1 BlockData: [ 0x6F ] - Value: 0x1 - Value: 0xE6 - Value: 0x1 - Value: 0x6 - Value: 0x2DE - Value: 0x1 - Value: 0x1 - AbbrCode: 0xA Values: - Value: 0x0 - Value: 0x178 - Value: 0x1 - Value: 0x6 - Value: 0x2DE - AbbrCode: 0xB Values: - Value: 0x39 - Value: 0x17A - Value: 0x1 - Value: 0x7 - Value: 0x2DE - AbbrCode: 0x0 - AbbrCode: 0x8 Values: - Value: 0x10 - Value: 0x8 - Value: 0x1 - Value: 0x60 - Value: 0x1 BlockData: [ 0x6F ] - Value: 0x1 - Value: 0xF6 - Value: 0x1 - Value: 0xB - Value: 0x2DE - Value: 0x1 - Value: 0x1 - AbbrCode: 0xA Values: - Value: 0x5E - Value: 0x178 - Value: 0x1 - Value: 0xB - Value: 0x2DE - AbbrCode: 0x0 - AbbrCode: 0x8 Values: - Value: 0x18 - Value: 0x8 - Value: 0x1 - Value: 0xD3 - Value: 0x1 BlockData: [ 0x6F ] - Value: 0x1 - Value: 0x106 - Value: 0x1 - Value: 0xF - Value: 0x2DE - Value: 0x1 - Value: 0x1 - AbbrCode: 0xA Values: - Value: 0x97 - Value: 0x178 - Value: 0x1 - Value: 0xF - Value: 0x2DE - AbbrCode: 0xB Values: - Value: 0xD0 - Value: 0x17A - Value: 0x1 - Value: 0x10 - Value: 0x2DE - AbbrCode: 0x0 - AbbrCode: 0x8 Values: - Value: 0x20 - Value: 0x8 - Value: 0x1 - Value: 0xE7 - Value: 0x1 BlockData: [ 0x6F ] - Value: 0x1 - Value: 0x116 - Value: 0x1 - Value: 0x14 - Value: 0x2DE - Value: 0x1 - Value: 0x1 - AbbrCode: 0xA Values: - Value: 0xF5 - Value: 0x178 - Value: 0x1 - Value: 0x14 - Value: 0x2DE - AbbrCode: 0xB Values: - Value: 0x12E - Value: 0x17C - Value: 0x1 - Value: 0x15 - Value: 0x2DE - AbbrCode: 0x0 - AbbrCode: 0xC Values: - Value: 0x28 - Value: 0x64 - Value: 0xA7 - Value: 0x1 BlockData: [ 0x6D ] - Value: 0x1 - Value: 0x126 - Value: 0x1 - Value: 0x21 - Value: 0x2DE - Value: 0x1 - Value: 0x1 - AbbrCode: 0xD Values: - Value: 0x2 BlockData: [ 0x8F, 0xF ] - Value: 0x183 - Value: 0x1 - Value: 0x27 - Value: 0x205 - AbbrCode: 0xB Values: - Value: 0x151 - Value: 0x185 - Value: 0x1 - Value: 0x22 - Value: 0x2DE - AbbrCode: 0xE Values: - Value: 0x12C - Value: 0x40 - AbbrCode: 0xF Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x1 BlockData: [ 0x33 ] - AbbrCode: 0x0 - AbbrCode: 0xE Values: - Value: 0xF0 - Value: 0x4C - AbbrCode: 0xF Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x2 BlockData: [ 0x10, 0x29 ] - AbbrCode: 0x0 - AbbrCode: 0xE Values: - Value: 0xC3 - Value: 0x58 - AbbrCode: 0xF Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x1 BlockData: [ 0x3B ] - AbbrCode: 0x0 - AbbrCode: 0xE Values: - Value: 0x5E - Value: 0x64 - AbbrCode: 0xF Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x2 BlockData: [ 0x10, 0x2A ] - AbbrCode: 0x0 - AbbrCode: 0xE Values: - Value: 0x252 - Value: 0x78 - AbbrCode: 0xF Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x2 BlockData: [ 0x8F, 0xF ] - AbbrCode: 0x0 - AbbrCode: 0x0 - AbbrCode: 0x10 Values: - Value: 0x5 - Value: 0x12B - Value: 0x1 - Value: 0x1 - Value: 0x1D - AbbrCode: 0x11 Values: - Value: 0x227 - Value: 0x0 - AbbrCode: 0x12 Values: - Value: 0x12B - Value: 0x1 - Value: 0x1E - Value: 0x1 - Value: 0x1 - Value: 0x1 - Value: 0x1 - AbbrCode: 0x13 Values: - Value: 0x24D - Value: 0x1 - AbbrCode: 0x14 Values: - Value: 0x248 - AbbrCode: 0x0 - AbbrCode: 0x0 - AbbrCode: 0x10 Values: - Value: 0x5 - Value: 0x138 - Value: 0x1 - Value: 0x1 - Value: 0x19 - AbbrCode: 0x15 Values: - Value: 0x138 - Value: 0x1 - Value: 0x1A - Value: 0x1 - Value: 0x1 - Value: 0x1 - AbbrCode: 0x13 Values: - Value: 0x243 - Value: 0x1 - AbbrCode: 0x14 Values: - Value: 0x248 - AbbrCode: 0x0 - AbbrCode: 0x0 - AbbrCode: 0x16 Values: - Value: 0x227 - AbbrCode: 0x16 Values: - Value: 0x4B - AbbrCode: 0x16 Values: - Value: 0x205 - AbbrCode: 0x17 Values: - Value: 0x8C - Value: 0x4 - Value: 0x1 - Value: 0xAB - Value: 0x1 BlockData: [ 0x6F ] - Value: 0x271 - Value: 0x1 - Value: 0x144 - Value: 0x214 - AbbrCode: 0x18 Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x189 - Value: 0x2E5 - Value: 0x1 - AbbrCode: 0x19 Values: - Value: 0x1 BlockData: [ 0x51 ] - Value: 0x18E - Value: 0x1 - Value: 0x1E - Value: 0x248 - AbbrCode: 0x1A Values: - Value: 0x2A6 - Value: 0x1 - Value: 0x8C - AbbrCode: 0xF Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x3 BlockData: [ 0xA3, 0x1, 0x50 ] - AbbrCode: 0xF Values: - Value: 0x1 BlockData: [ 0x51 ] - Value: 0x3 BlockData: [ 0xA3, 0x1, 0x51 ] - AbbrCode: 0x0 - AbbrCode: 0x0 - AbbrCode: 0x17 Values: - Value: 0x90 - Value: 0x4 - Value: 0x1 - Value: 0xEEEEE7 - Value: 0x1 BlockData: [ 0x6F ] - Value: 0x2C5 - Value: 0x1 - Value: 0x15C - Value: 0x214 - AbbrCode: 0x18 Values: - Value: 0x1 BlockData: [ 0x50 ] - Value: 0x189 - Value: 0x2E5 - Value: 0x1 - AbbrCode: 0x19 Values: - Value: 0x1 BlockData: [ 0x51 ] - Value: 0x18E - Value: 0x1 - Value: 0x1E - Value: 0x248 - AbbrCode: 0x0 - AbbrCode: 0x6 Values: - Value: 0x174 - Value: 0x5 - Value: 0x4 - AbbrCode: 0x16 Values: - Value: 0x205 - AbbrCode: 0x0 debug_line: - Length: 249 Version: 4 PrologueLength: 42 MinInstLength: 1 MaxOpsPerInst: 1 DefaultIsStmt: 1 LineBase: 251 LineRange: 14 OpcodeBase: 13 StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ] Files: - Name: stmt_seq_macho.cpp DirIdx: 0 ModTime: 0 Length: 0 Opcodes: - Opcode: DW_LNS_set_column Data: 10 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 0 - Opcode: 0x14 Data: 0 - Opcode: DW_LNS_set_column Data: 3 - Opcode: DW_LNS_negate_stmt Data: 0 - Opcode: 0x4A Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 - Opcode: DW_LNS_set_column Data: 14 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 8 - Opcode: 0x19 Data: 0 - Opcode: DW_LNS_set_column Data: 5 - Opcode: DW_LNS_negate_stmt Data: 0 - Opcode: 0x4A Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 - Opcode: DW_LNS_set_column Data: 14 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 16 - Opcode: DW_LNS_advance_line SData: 11 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_set_column Data: 5 - Opcode: DW_LNS_negate_stmt Data: 0 - Opcode: 0x4A Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 - Opcode: DW_LNS_set_column Data: 14 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 24 - Opcode: DW_LNS_advance_line SData: 16 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_set_column Data: 5 - Opcode: DW_LNS_negate_stmt Data: 0 - Opcode: 0x4A Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 - Opcode: DW_LNS_set_column Data: 20 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 32 - Opcode: DW_LNS_advance_line SData: 20 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_set_column Data: 5 - Opcode: 0x4B Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 40 - Opcode: DW_LNS_advance_line SData: 32 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_set_column Data: 12 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: 0xF4 Data: 0 - Opcode: 0xBB Data: 0 - Opcode: DW_LNS_set_column Data: 9 - Opcode: DW_LNS_negate_stmt Data: 0 - Opcode: 0x82 Data: 0 - Opcode: DW_LNS_set_column Data: 12 - Opcode: DW_LNS_negate_stmt Data: 0 - Opcode: 0x4B Data: 0 - Opcode: 0xBB Data: 0 - Opcode: DW_LNS_set_column Data: 9 - Opcode: 0x81 Data: 0 - Opcode: DW_LNS_set_column Data: 18 - Opcode: 0x4C Data: 0 - Opcode: DW_LNS_set_column Data: 9 - Opcode: 0xF1 Data: 0 - Opcode: DW_LNS_set_column Data: 5 - Opcode: DW_LNS_set_epilogue_begin Data: 0 - Opcode: 0x4C Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 - Opcode: DW_LNS_set_column Data: 85 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 140 - Opcode: DW_LNS_advance_line SData: 29 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 - Opcode: DW_LNS_set_column Data: 86 - Opcode: DW_LNS_set_prologue_end Data: 0 - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 144 - Opcode: DW_LNS_advance_line SData: 29 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_advance_pc Data: 4 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 ...