1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
RUN: yaml2obj %p/Inputs/dwarf-exprs.exe-x86-64.yaml > %t.exe
RUN: llvm-readobj -unwind %t.exe | FileCheck %s
CHECK: EH_FRAME Header [
CHECK-NEXT: Address: 0x4013c0
CHECK-NEXT: Offset: 0x27c
CHECK-NEXT: Size: 0x3c
CHECK-NEXT: Corresponding Section: .eh_frame_hdr
CHECK-NEXT: Header {
CHECK-NEXT: version: 1
CHECK-NEXT: eh_frame_ptr_enc: 0x1b
CHECK-NEXT: fde_count_enc: 0x3
CHECK-NEXT: table_enc: 0x3b
CHECK-NEXT: eh_frame_ptr: 0x401400
CHECK-NEXT: fde_count: 6
CHECK-NEXT: entry 0 {
CHECK-NEXT: initial_location: 0x4004a0
CHECK-NEXT: address: 0x401448
CHECK-NEXT: }
CHECK-NEXT: entry 1 {
CHECK-NEXT: initial_location: 0x4004d0
CHECK-NEXT: address: 0x401418
CHECK-NEXT: }
CHECK-NEXT: entry 2 {
CHECK-NEXT: initial_location: 0x4005b6
CHECK-NEXT: address: 0x401470
CHECK-NEXT: }
CHECK-NEXT: entry 3 {
CHECK-NEXT: initial_location: 0x4005d0
CHECK-NEXT: address: 0x401490
CHECK-NEXT: }
CHECK-NEXT: entry 4 {
CHECK-NEXT: initial_location: 0x401250
CHECK-NEXT: address: 0x4014c0
CHECK-NEXT: }
CHECK-NEXT: entry 5 {
CHECK-NEXT: initial_location: 0x4012c0
CHECK-NEXT: address: 0x4014f0
CHECK-NEXT: }
CHECK-NEXT: }
CHECK-NEXT:]
CHECK: .eh_frame section at offset 0x2b8 address 0x401400:
CHECK-NEXT: [0x401400] CIE length=20
CHECK-NEXT: version: 1
CHECK-NEXT: augmentation: zR
CHECK-NEXT: code_alignment_factor: 1
CHECK-NEXT: data_alignment_factor: -8
CHECK-NEXT: return_address_register: 16
CHECK: Program:
CHECK-NEXT: DW_CFA_def_cfa: reg7 +8
CHECK-NEXT: DW_CFA_offset: reg16 -8
CHECK-NEXT: DW_CFA_undefined: reg16
CHECK: [0x401418] FDE length=20 cie=[0x401400]
CHECK-NEXT: initial_location: 0x4004d0
CHECK-NEXT: address_range: 0x2a (end : 0x4004fa)
CHECK: Program:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK: [0x401430] CIE length=20
CHECK-NEXT: version: 1
CHECK-NEXT: augmentation: zR
CHECK-NEXT: code_alignment_factor: 1
CHECK-NEXT: data_alignment_factor: -8
CHECK-NEXT: return_address_register: 16
CHECK: Program:
CHECK-NEXT: DW_CFA_def_cfa: reg7 +8
CHECK-NEXT: DW_CFA_offset: reg16 -8
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK: [0x401448] FDE length=36 cie=[0x401430]
CHECK-NEXT: initial_location: 0x4004a0
CHECK-NEXT: address_range: 0x20 (end : 0x4004c0)
CHECK: Program:
CHECK-NEXT: DW_CFA_def_cfa_offset: +16
CHECK-NEXT: DW_CFA_advance_loc: 6
CHECK-NEXT: DW_CFA_def_cfa_offset: +24
CHECK-NEXT: DW_CFA_advance_loc: 10
CHECK-NEXT: DW_CFA_def_cfa_expression: DW_OP_breg7 +8, DW_OP_breg16 +0, DW_OP_lit15, DW_OP_and, DW_OP_lit11, DW_OP_ge, DW_OP_lit3, DW_OP_shl, DW_OP_plus
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK: [0x401470] FDE length=28 cie=[0x401430]
CHECK-NEXT: initial_location: 0x4005b6
CHECK-NEXT: address_range: 0x10 (end : 0x4005c6)
CHECK: Program:
CHECK-NEXT: DW_CFA_advance_loc: 1
CHECK-NEXT: DW_CFA_def_cfa_offset: +16
CHECK-NEXT: DW_CFA_offset: reg6 -16
CHECK-NEXT: DW_CFA_advance_loc: 3
CHECK-NEXT: DW_CFA_def_cfa_register: reg6
CHECK-NEXT: DW_CFA_advance_loc: 11
CHECK-NEXT: DW_CFA_def_cfa: reg7 +8
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK: [0x401490] FDE length=44 cie=[0x401430]
CHECK-NEXT: initial_location: 0x4005d0
CHECK-NEXT: address_range: 0xc7f (end : 0x40124f)
CHECK: Program:
CHECK-NEXT: DW_CFA_advance_loc: 5
CHECK-NEXT: DW_CFA_def_cfa: reg10 +0
CHECK-NEXT: DW_CFA_advance_loc: 9
CHECK-NEXT: DW_CFA_expression: reg6 DW_OP_breg6 +0
CHECK-NEXT: DW_CFA_advance_loc: 5
CHECK-NEXT: DW_CFA_def_cfa_expression: DW_OP_breg6 -8, DW_OP_deref
CHECK-NEXT: DW_CFA_advance_loc2: 3174
CHECK-NEXT: DW_CFA_def_cfa: reg10 +0
CHECK-NEXT: DW_CFA_advance_loc: 5
CHECK-NEXT: DW_CFA_def_cfa: reg7 +8
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK: [0x4014c0] FDE length=44 cie=[0x401430]
CHECK-NEXT: initial_location: 0x401250
CHECK-NEXT: address_range: 0x66 (end : 0x4012b6)
CHECK: Program:
CHECK-NEXT: DW_CFA_advance_loc: 1
CHECK-NEXT: DW_CFA_def_cfa_offset: +16
CHECK-NEXT: DW_CFA_offset: reg6 -16
CHECK-NEXT: DW_CFA_advance_loc: 3
CHECK-NEXT: DW_CFA_def_cfa_register: reg6
CHECK-NEXT: DW_CFA_advance_loc: 2
CHECK-NEXT: DW_CFA_offset: reg15 -24
CHECK-NEXT: DW_CFA_advance_loc: 5
CHECK-NEXT: DW_CFA_offset: reg14 -32
CHECK-NEXT: DW_CFA_advance_loc: 7
CHECK-NEXT: DW_CFA_offset: reg13 -40
CHECK-NEXT: DW_CFA_offset: reg12 -48
CHECK-NEXT: DW_CFA_advance_loc: 8
CHECK-NEXT: DW_CFA_offset: reg3 -56
CHECK-NEXT: DW_CFA_advance_loc1: 75
CHECK-NEXT: DW_CFA_def_cfa: reg7 +8
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK: [0x4014f0] FDE length=20 cie=[0x401430]
CHECK-NEXT: initial_location: 0x4012c0
CHECK-NEXT: address_range: 0x1 (end : 0x4012c1)
CHECK: Program:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
CHECK-NEXT: DW_CFA_nop:
|