Home | History | Annotate | Download | only in ELF
      1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
      2 
      3 f1:
      4         .cfi_startproc
      5 	.cfi_lsda 0x3, bar
      6         nop
      7         .cfi_endproc
      8 
      9 f2:
     10         .cfi_startproc
     11         .cfi_personality 0x00, foo
     12 	.cfi_lsda 0x3, bar
     13         nop
     14         .cfi_endproc
     15 
     16 f3:
     17         .cfi_startproc
     18 	.cfi_lsda 0x3, bar
     19         nop
     20         .cfi_endproc
     21 
     22 f4:
     23         .cfi_startproc
     24         .cfi_personality 0x00, foo
     25 	.cfi_lsda 0x2, bar
     26         nop
     27         .cfi_endproc
     28 
     29 f5:
     30         .cfi_startproc
     31         .cfi_personality 0x02, foo
     32         nop
     33         .cfi_endproc
     34 
     35 f6:
     36         .cfi_startproc
     37         .cfi_personality 0x03, foo
     38         nop
     39         .cfi_endproc
     40 
     41 f7:
     42         .cfi_startproc
     43         .cfi_personality 0x04, foo
     44         nop
     45         .cfi_endproc
     46 
     47 f8:
     48         .cfi_startproc
     49         .cfi_personality 0x0a, foo
     50         nop
     51         .cfi_endproc
     52 
     53 f9:
     54         .cfi_startproc
     55         .cfi_personality 0x0b, foo
     56         nop
     57         .cfi_endproc
     58 
     59 f10:
     60         .cfi_startproc
     61         .cfi_personality 0x0c, foo
     62         nop
     63         .cfi_endproc
     64 
     65 f11:
     66         .cfi_startproc
     67         .cfi_personality 0x08, foo
     68         nop
     69         .cfi_endproc
     70 
     71 f12:
     72         .cfi_startproc
     73         .cfi_personality 0x10, foo
     74         nop
     75         .cfi_endproc
     76 
     77 f13:
     78         .cfi_startproc
     79         .cfi_personality 0x12, foo
     80         nop
     81         .cfi_endproc
     82 
     83 f14:
     84         .cfi_startproc
     85         .cfi_personality 0x13, foo
     86         nop
     87         .cfi_endproc
     88 
     89 f15:
     90         .cfi_startproc
     91         .cfi_personality 0x14, foo
     92         nop
     93         .cfi_endproc
     94 
     95 f16:
     96         .cfi_startproc
     97         .cfi_personality 0x1a, foo
     98         nop
     99         .cfi_endproc
    100 
    101 f17:
    102         .cfi_startproc
    103         .cfi_personality 0x1b, foo
    104         nop
    105         .cfi_endproc
    106 
    107 f18:
    108         .cfi_startproc
    109         .cfi_personality 0x1c, foo
    110         nop
    111         .cfi_endproc
    112 
    113 f19:
    114         .cfi_startproc
    115         .cfi_personality 0x18, foo
    116         nop
    117         .cfi_endproc
    118 
    119 f20:
    120         .cfi_startproc
    121         .cfi_personality 0x80, foo
    122         nop
    123         .cfi_endproc
    124 
    125 f21:
    126         .cfi_startproc
    127         .cfi_personality 0x82, foo
    128         nop
    129         .cfi_endproc
    130 
    131 f22:
    132         .cfi_startproc
    133         .cfi_personality 0x83, foo
    134         nop
    135         .cfi_endproc
    136 
    137 f23:
    138         .cfi_startproc
    139         .cfi_personality 0x84, foo
    140         nop
    141         .cfi_endproc
    142 
    143 f24:
    144         .cfi_startproc
    145         .cfi_personality 0x8a, foo
    146         nop
    147         .cfi_endproc
    148 
    149 f25:
    150         .cfi_startproc
    151         .cfi_personality 0x8b, foo
    152         nop
    153         .cfi_endproc
    154 
    155 f26:
    156         .cfi_startproc
    157         .cfi_personality 0x8c, foo
    158         nop
    159         .cfi_endproc
    160 
    161 f27:
    162         .cfi_startproc
    163         .cfi_personality 0x88, foo
    164         nop
    165         .cfi_endproc
    166 
    167 f28:
    168         .cfi_startproc
    169         .cfi_personality 0x90, foo
    170         nop
    171         .cfi_endproc
    172 
    173 f29:
    174         .cfi_startproc
    175         .cfi_personality 0x92, foo
    176         nop
    177         .cfi_endproc
    178 
    179 f30:
    180         .cfi_startproc
    181         .cfi_personality 0x93, foo
    182         nop
    183         .cfi_endproc
    184 
    185 f31:
    186         .cfi_startproc
    187         .cfi_personality 0x94, foo
    188         nop
    189         .cfi_endproc
    190 
    191 f32:
    192         .cfi_startproc
    193         .cfi_personality 0x9a, foo
    194         nop
    195         .cfi_endproc
    196 
    197 f33:
    198         .cfi_startproc
    199         .cfi_personality 0x9b, foo
    200         nop
    201         .cfi_endproc
    202 
    203 f34:
    204         .cfi_startproc
    205         .cfi_personality 0x9c, foo
    206         nop
    207         .cfi_endproc
    208 
    209 f36:
    210         .cfi_startproc
    211         .cfi_personality 0x98, foo
    212         nop
    213         .cfi_endproc
    214 
    215 f37:
    216         .cfi_startproc simple
    217         nop
    218         .cfi_endproc
    219 
    220 // CHECK:        Section {
    221 // CHECK:          Index:
    222 // CHECK:          Name: .eh_frame
    223 // CHECK-NEXT:     Type: SHT_X86_64_UNWIND
    224 // CHECK-NEXT:     Flags [
    225 // CHECK-NEXT:       SHF_ALLOC
    226 // CHECK-NEXT:     ]
    227 // CHECK-NEXT:     Address: 0x0
    228 // CHECK-NEXT:     Offset: 0x68
    229 // CHECK-NEXT:     Size: 1776
    230 // CHECK-NEXT:     Link: 0
    231 // CHECK-NEXT:     Info: 0
    232 // CHECK-NEXT:     AddressAlignment: 8
    233 // CHECK-NEXT:     EntrySize: 0
    234 // CHECK-NEXT:     Relocations [
    235 // CHECK-NEXT:     ]
    236 // CHECK-NEXT:     SectionData (
    237 // CHECK-NEXT:       0000: 14000000 00000000 017A4C52 00017810
    238 // CHECK-NEXT:       0010: 02031B0C 07089001 14000000 1C000000
    239 // CHECK-NEXT:       0020: 00000000 01000000 04000000 00000000
    240 // CHECK-NEXT:       0030: 20000000 00000000 017A504C 52000178
    241 // CHECK-NEXT:       0040: 100B0000 00000000 00000003 1B0C0708
    242 // CHECK-NEXT:       0050: 90010000 14000000 28000000 00000000
    243 // CHECK-NEXT:       0060: 01000000 04000000 00000000 14000000
    244 // CHECK-NEXT:       0070: 70000000 00000000 01000000 04000000
    245 // CHECK-NEXT:       0080: 00000000 20000000 00000000 017A504C
    246 // CHECK-NEXT:       0090: 52000178 100B0000 00000000 00000002
    247 // CHECK-NEXT:       00A0: 1B0C0708 90010000 10000000 28000000
    248 // CHECK-NEXT:       00B0: 00000000 01000000 02000000 18000000
    249 // CHECK-NEXT:       00C0: 00000000 017A5052 00017810 04020000
    250 // CHECK-NEXT:       00D0: 1B0C0708 90010000 10000000 20000000
    251 // CHECK-NEXT:       00E0: 00000000 01000000 00000000 18000000
    252 // CHECK-NEXT:       00F0: 00000000 017A5052 00017810 06030000
    253 // CHECK-NEXT:       0100: 00001B0C 07089001 10000000 20000000
    254 // CHECK-NEXT:       0110: 00000000 01000000 00000000 1C000000
    255 // CHECK-NEXT:       0120: 00000000 017A5052 00017810 0A040000
    256 // CHECK-NEXT:       0130: 00000000 00001B0C 07089001 10000000
    257 // CHECK-NEXT:       0140: 24000000 00000000 01000000 00000000
    258 // CHECK-NEXT:       0150: 18000000 00000000 017A5052 00017810
    259 // CHECK-NEXT:       0160: 040A0000 1B0C0708 90010000 10000000
    260 // CHECK-NEXT:       0170: 20000000 00000000 01000000 00000000
    261 // CHECK-NEXT:       0180: 18000000 00000000 017A5052 00017810
    262 // CHECK-NEXT:       0190: 060B0000 00001B0C 07089001 10000000
    263 // CHECK-NEXT:       01A0: 20000000 00000000 01000000 00000000
    264 // CHECK-NEXT:       01B0: 1C000000 00000000 017A5052 00017810
    265 // CHECK-NEXT:       01C0: 0A0C0000 00000000 00001B0C 07089001
    266 // CHECK-NEXT:       01D0: 10000000 24000000 00000000 01000000
    267 // CHECK-NEXT:       01E0: 00000000 1C000000 00000000 017A5052
    268 // CHECK-NEXT:       01F0: 00017810 0A080000 00000000 00001B0C
    269 // CHECK-NEXT:       0200: 07089001 10000000 24000000 00000000
    270 // CHECK-NEXT:       0210: 01000000 00000000 1C000000 00000000
    271 // CHECK-NEXT:       0220: 017A5052 00017810 0A100000 00000000
    272 // CHECK-NEXT:       0230: 00001B0C 07089001 10000000 24000000
    273 // CHECK-NEXT:       0240: 00000000 01000000 00000000 18000000
    274 // CHECK-NEXT:       0250: 00000000 017A5052 00017810 04120000
    275 // CHECK-NEXT:       0260: 1B0C0708 90010000 10000000 20000000
    276 // CHECK-NEXT:       0270: 00000000 01000000 00000000 18000000
    277 // CHECK-NEXT:       0280: 00000000 017A5052 00017810 06130000
    278 // CHECK-NEXT:       0290: 00001B0C 07089001 10000000 20000000
    279 // CHECK-NEXT:       02A0: 00000000 01000000 00000000 1C000000
    280 // CHECK-NEXT:       02B0: 00000000 017A5052 00017810 0A140000
    281 // CHECK-NEXT:       02C0: 00000000 00001B0C 07089001 10000000
    282 // CHECK-NEXT:       02D0: 24000000 00000000 01000000 00000000
    283 // CHECK-NEXT:       02E0: 18000000 00000000 017A5052 00017810
    284 // CHECK-NEXT:       02F0: 041A0000 1B0C0708 90010000 10000000
    285 // CHECK-NEXT:       0300: 20000000 00000000 01000000 00000000
    286 // CHECK-NEXT:       0310: 18000000 00000000 017A5052 00017810
    287 // CHECK-NEXT:       0320: 061B0000 00001B0C 07089001 10000000
    288 // CHECK-NEXT:       0330: 20000000 00000000 01000000 00000000
    289 // CHECK-NEXT:       0340: 1C000000 00000000 017A5052 00017810
    290 // CHECK-NEXT:       0350: 0A1C0000 00000000 00001B0C 07089001
    291 // CHECK-NEXT:       0360: 10000000 24000000 00000000 01000000
    292 // CHECK-NEXT:       0370: 00000000 1C000000 00000000 017A5052
    293 // CHECK-NEXT:       0380: 00017810 0A180000 00000000 00001B0C
    294 // CHECK-NEXT:       0390: 07089001 10000000 24000000 00000000
    295 // CHECK-NEXT:       03A0: 01000000 00000000 1C000000 00000000
    296 // CHECK-NEXT:       03B0: 017A5052 00017810 0A800000 00000000
    297 // CHECK-NEXT:       03C0: 00001B0C 07089001 10000000 24000000
    298 // CHECK-NEXT:       03D0: 00000000 01000000 00000000 18000000
    299 // CHECK-NEXT:       03E0: 00000000 017A5052 00017810 04820000
    300 // CHECK-NEXT:       03F0: 1B0C0708 90010000 10000000 20000000
    301 // CHECK-NEXT:       0400: 00000000 01000000 00000000 18000000
    302 // CHECK-NEXT:       0410: 00000000 017A5052 00017810 06830000
    303 // CHECK-NEXT:       0420: 00001B0C 07089001 10000000 20000000
    304 // CHECK-NEXT:       0430: 00000000 01000000 00000000 1C000000
    305 // CHECK-NEXT:       0440: 00000000 017A5052 00017810 0A840000
    306 // CHECK-NEXT:       0450: 00000000 00001B0C 07089001 10000000
    307 // CHECK-NEXT:       0460: 24000000 00000000 01000000 00000000
    308 // CHECK-NEXT:       0470: 18000000 00000000 017A5052 00017810
    309 // CHECK-NEXT:       0480: 048A0000 1B0C0708 90010000 10000000
    310 // CHECK-NEXT:       0490: 20000000 00000000 01000000 00000000
    311 // CHECK-NEXT:       04A0: 18000000 00000000 017A5052 00017810
    312 // CHECK-NEXT:       04B0: 068B0000 00001B0C 07089001 10000000
    313 // CHECK-NEXT:       04C0: 20000000 00000000 01000000 00000000
    314 // CHECK-NEXT:       04D0: 1C000000 00000000 017A5052 00017810
    315 // CHECK-NEXT:       04E0: 0A8C0000 00000000 00001B0C 07089001
    316 // CHECK-NEXT:       04F0: 10000000 24000000 00000000 01000000
    317 // CHECK-NEXT:       0500: 00000000 1C000000 00000000 017A5052
    318 // CHECK-NEXT:       0510: 00017810 0A880000 00000000 00001B0C
    319 // CHECK-NEXT:       0520: 07089001 10000000 24000000 00000000
    320 // CHECK-NEXT:       0530: 01000000 00000000 1C000000 00000000
    321 // CHECK-NEXT:       0540: 017A5052 00017810 0A900000 00000000
    322 // CHECK-NEXT:       0550: 00001B0C 07089001 10000000 24000000
    323 // CHECK-NEXT:       0560: 00000000 01000000 00000000 18000000
    324 // CHECK-NEXT:       0570: 00000000 017A5052 00017810 04920000
    325 // CHECK-NEXT:       0580: 1B0C0708 90010000 10000000 20000000
    326 // CHECK-NEXT:       0590: 00000000 01000000 00000000 18000000
    327 // CHECK-NEXT:       05A0: 00000000 017A5052 00017810 06930000
    328 // CHECK-NEXT:       05B0: 00001B0C 07089001 10000000 20000000
    329 // CHECK-NEXT:       05C0: 00000000 01000000 00000000 1C000000
    330 // CHECK-NEXT:       05D0: 00000000 017A5052 00017810 0A940000
    331 // CHECK-NEXT:       05E0: 00000000 00001B0C 07089001 10000000
    332 // CHECK-NEXT:       05F0: 24000000 00000000 01000000 00000000
    333 // CHECK-NEXT:       0600: 18000000 00000000 017A5052 00017810
    334 // CHECK-NEXT:       0610: 049A0000 1B0C0708 90010000 10000000
    335 // CHECK-NEXT:       0620: 20000000 00000000 01000000 00000000
    336 // CHECK-NEXT:       0630: 18000000 00000000 017A5052 00017810
    337 // CHECK-NEXT:       0640: 069B0000 00001B0C 07089001 10000000
    338 // CHECK-NEXT:       0650: 20000000 00000000 01000000 00000000
    339 // CHECK-NEXT:       0660: 1C000000 00000000 017A5052 00017810
    340 // CHECK-NEXT:       0670: 0A9C0000 00000000 00001B0C 07089001
    341 // CHECK-NEXT:       0680: 10000000 24000000 00000000 01000000
    342 // CHECK-NEXT:       0690: 00000000 1C000000 00000000 017A5052
    343 // CHECK-NEXT:       06A0: 00017810 0A980000 00000000 00001B0C
    344 // CHECK-NEXT:       06B0: 07089001 10000000 24000000 00000000
    345 // CHECK-NEXT:       06C0: 01000000 00000000 10000000 00000000
    346 // CHECK-NEXT:       06D0: 017A5200 01781001 1B000000 10000000
    347 // CHECK-NEXT:       06E0: 18000000 00000000 01000000 00000000
    348 // CHECK-NEXT:     )
    349 // CHECK-NEXT:   }
    350 
    351 // CHECK:        Section {
    352 // CHECK:          Index:
    353 // CHECK:          Name: .rela.eh_frame
    354 // CHECK-NEXT:     Type: SHT_RELA
    355 // CHECK-NEXT:     Flags [
    356 // CHECK-NEXT:     ]
    357 // CHECK-NEXT:     Address: 0x0
    358 // CHECK-NEXT:     Offset:
    359 // CHECK-NEXT:     Size: 1752
    360 // CHECK-NEXT:     Link:
    361 // CHECK-NEXT:     Info:
    362 // CHECK-NEXT:     AddressAlignment: 8
    363 // CHECK-NEXT:     EntrySize: 24
    364 // CHECK-NEXT:     Relocations [
    365 // CHECK-NEXT:       0x20  R_X86_64_PC32 .text 0x0
    366 // CHECK-NEXT:       0x29  R_X86_64_32   bar   0x0
    367 // CHECK-NEXT:       0x43  R_X86_64_64   foo   0x0
    368 // CHECK-NEXT:       0x5C  R_X86_64_PC32 .text 0x1
    369 // CHECK-NEXT:       0x65  R_X86_64_32   bar   0x0
    370 // CHECK-NEXT:       0x74  R_X86_64_PC32 .text 0x2
    371 // CHECK-NEXT:       0x7D  R_X86_64_32   bar   0x0
    372 // CHECK-NEXT:       0x97  R_X86_64_64   foo   0x0
    373 // CHECK-NEXT:       0xB0  R_X86_64_PC32 .text 0x3
    374 // CHECK-NEXT:       0xB9  R_X86_64_16   bar   0x0
    375 // CHECK-NEXT:       0xCE  R_X86_64_16   foo   0x0
    376 // CHECK-NEXT:       0xE0  R_X86_64_PC32 .text 0x4
    377 // CHECK-NEXT:       0xFE  R_X86_64_32   foo   0x0
    378 // CHECK-NEXT:       0x110 R_X86_64_PC32 .text 0x5
    379 // CHECK-NEXT:       0x12E R_X86_64_64   foo   0x0
    380 // CHECK-NEXT:       0x144 R_X86_64_PC32 .text 0x6
    381 // CHECK-NEXT:       0x162 R_X86_64_16   foo   0x0
    382 // CHECK-NEXT:       0x174 R_X86_64_PC32 .text 0x7
    383 // CHECK-NEXT:       0x192 R_X86_64_32   foo   0x0
    384 // CHECK-NEXT:       0x1A4 R_X86_64_PC32 .text 0x8
    385 // CHECK-NEXT:       0x1C2 R_X86_64_64   foo   0x0
    386 // CHECK-NEXT:       0x1D8 R_X86_64_PC32 .text 0x9
    387 // CHECK-NEXT:       0x1F6 R_X86_64_64   foo   0x0
    388 // CHECK-NEXT:       0x20C R_X86_64_PC32 .text 0xA
    389 // CHECK-NEXT:       0x22A R_X86_64_PC64 foo   0x0
    390 // CHECK-NEXT:       0x240 R_X86_64_PC32 .text 0xB
    391 // CHECK-NEXT:       0x25E R_X86_64_PC16 foo   0x0
    392 // CHECK-NEXT:       0x270 R_X86_64_PC32 .text 0xC
    393 // CHECK-NEXT:       0x28E R_X86_64_PC32 foo   0x0
    394 // CHECK-NEXT:       0x2A0 R_X86_64_PC32 .text 0xD
    395 // CHECK-NEXT:       0x2BE R_X86_64_PC64 foo   0x0
    396 // CHECK-NEXT:       0x2D4 R_X86_64_PC32 .text 0xE
    397 // CHECK-NEXT:       0x2F2 R_X86_64_PC16 foo   0x0
    398 // CHECK-NEXT:       0x304 R_X86_64_PC32 .text 0xF
    399 // CHECK-NEXT:       0x322 R_X86_64_PC32 foo   0x0
    400 // CHECK-NEXT:       0x334 R_X86_64_PC32 .text 0x10
    401 // CHECK-NEXT:       0x352 R_X86_64_PC64 foo   0x0
    402 // CHECK-NEXT:       0x368 R_X86_64_PC32 .text 0x11
    403 // CHECK-NEXT:       0x386 R_X86_64_PC64 foo   0x0
    404 // CHECK-NEXT:       0x39C R_X86_64_PC32 .text 0x12
    405 // CHECK-NEXT:       0x3BA R_X86_64_64   foo   0x0
    406 // CHECK-NEXT:       0x3D0 R_X86_64_PC32 .text 0x13
    407 // CHECK-NEXT:       0x3EE R_X86_64_16   foo   0x0
    408 // CHECK-NEXT:       0x400 R_X86_64_PC32 .text 0x14
    409 // CHECK-NEXT:       0x41E R_X86_64_32   foo   0x0
    410 // CHECK-NEXT:       0x430 R_X86_64_PC32 .text 0x15
    411 // CHECK-NEXT:       0x44E R_X86_64_64   foo   0x0
    412 // CHECK-NEXT:       0x464 R_X86_64_PC32 .text 0x16
    413 // CHECK-NEXT:       0x482 R_X86_64_16   foo   0x0
    414 // CHECK-NEXT:       0x494 R_X86_64_PC32 .text 0x17
    415 // CHECK-NEXT:       0x4B2 R_X86_64_32   foo   0x0
    416 // CHECK-NEXT:       0x4C4 R_X86_64_PC32 .text 0x18
    417 // CHECK-NEXT:       0x4E2 R_X86_64_64   foo   0x0
    418 // CHECK-NEXT:       0x4F8 R_X86_64_PC32 .text 0x19
    419 // CHECK-NEXT:       0x516 R_X86_64_64   foo   0x0
    420 // CHECK-NEXT:       0x52C R_X86_64_PC32 .text 0x1A
    421 // CHECK-NEXT:       0x54A R_X86_64_PC64 foo   0x0
    422 // CHECK-NEXT:       0x560 R_X86_64_PC32 .text 0x1B
    423 // CHECK-NEXT:       0x57E R_X86_64_PC16 foo   0x0
    424 // CHECK-NEXT:       0x590 R_X86_64_PC32 .text 0x1C
    425 // CHECK-NEXT:       0x5AE R_X86_64_PC32 foo   0x0
    426 // CHECK-NEXT:       0x5C0 R_X86_64_PC32 .text 0x1D
    427 // CHECK-NEXT:       0x5DE R_X86_64_PC64 foo   0x0
    428 // CHECK-NEXT:       0x5F4 R_X86_64_PC32 .text 0x1E
    429 // CHECK-NEXT:       0x612 R_X86_64_PC16 foo   0x0
    430 // CHECK-NEXT:       0x624 R_X86_64_PC32 .text 0x1F
    431 // CHECK-NEXT:       0x642 R_X86_64_PC32 foo   0x0
    432 // CHECK-NEXT:       0x654 R_X86_64_PC32 .text 0x20
    433 // CHECK-NEXT:       0x672 R_X86_64_PC64 foo   0x0
    434 // CHECK-NEXT:       0x688 R_X86_64_PC32 .text 0x21
    435 // CHECK-NEXT:       0x6A6 R_X86_64_PC64 foo   0x0
    436 // CHECK-NEXT:       0x6BC R_X86_64_PC32 .text 0x22
    437 // CHECK-NEXT:       0x6E4 R_X86_64_PC32 .text 0x23
    438 // CHECK-NEXT:     ]
    439 // CHECK:        }
    440