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