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