7177ccb36501482ec0fd54951c60b186b8068569
[oota-llvm.git] / test / MC / ELF / cfi-adjust-cfa-offset.s
1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
2
3 f:
4         .cfi_startproc
5         subq    $8, %rsp
6         .cfi_def_cfa_offset 16
7         nop
8         .cfi_adjust_cfa_offset 4
9         addq    $8, %rsp
10         .cfi_def_cfa_offset 8
11         ret
12         .cfi_endproc
13
14         .cfi_startproc
15         nop
16         .cfi_adjust_cfa_offset 4
17         .cfi_endproc
18
19         .cfi_startproc
20         nop
21         .cfi_adjust_cfa_offset 4
22         .cfi_endproc
23
24 // CHECK:        Section {
25 // CHECK:          Index:
26 // CHECK:          Name: .eh_frame
27 // CHECK-NEXT:     Type: SHT_X86_64_UNWIND
28 // CHECK-NEXT:     Flags [
29 // CHECK-NEXT:       SHF_ALLOC
30 // CHECK-NEXT:     ]
31 // CHECK-NEXT:     Address: 0x0
32 // CHECK-NEXT:     Offset: 0x50
33 // CHECK-NEXT:     Size: 96
34 // CHECK-NEXT:     Link: 0
35 // CHECK-NEXT:     Info: 0
36 // CHECK-NEXT:     AddressAlignment: 8
37 // CHECK-NEXT:     EntrySize: 0
38 // CHECK-NEXT:     Relocations [
39 // CHECK-NEXT:     ]
40 // CHECK-NEXT:     SectionData (
41 // CHECK-NEXT:       0000: 14000000 00000000 017A5200 01781001
42 // CHECK-NEXT:       0010: 1B0C0708 90010000 18000000 1C000000
43 // CHECK-NEXT:       0020: 00000000 0A000000 00440E10 410E1444
44 // CHECK-NEXT:       0030: 0E080000 10000000 38000000 00000000
45 // CHECK-NEXT:       0040: 01000000 00410E0C 14000000 4C000000
46 // CHECK-NEXT:       0050: 00000000 01000000 00410E0C 00000000
47 // CHECK-NEXT:     )
48 // CHECK-NEXT:   }
49 // CHECK-NEXT:   Section {
50 // CHECK-NEXT:     Index:
51 // CHECK-NEXT:     Name: .rela.eh_frame
52 // CHECK-NEXT:     Type: SHT_RELA
53 // CHECK-NEXT:     Flags [
54 // CHECK-NEXT:     ]
55 // CHECK-NEXT:     Address: 0x0
56 // CHECK-NEXT:     Offset:
57 // CHECK-NEXT:     Size: 72
58 // CHECK-NEXT:     Link:
59 // CHECK-NEXT:     Info:
60 // CHECK-NEXT:     AddressAlignment: 8
61 // CHECK-NEXT:     EntrySize: 24
62 // CHECK-NEXT:     Relocations [
63 // CHECK-NEXT:       0x20 R_X86_64_PC32 .text 0x0
64 // CHECK-NEXT:       0x3C R_X86_64_PC32 .text 0x
65 // CHECK-NEXT:       0x50 R_X86_64_PC32 .text 0x
66 // CHECK-NEXT:     ]
67 // CHECK:        }