Reapply 222538 and update tests to explicitly request small code model
[oota-llvm.git] / test / MC / ELF / cfi-def-cfa-offset.s
1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
2 // RUN: -relocation-model=pic -code-model=small \
3 // RUN: | llvm-readobj -s -sr -sd | FileCheck %s
4
5 f:
6         .cfi_startproc
7         subq    $8, %rsp
8         .cfi_def_cfa_offset 16
9         nop
10         addq    $8, %rsp
11         .cfi_def_cfa_offset 8
12         ret
13         .cfi_endproc
14
15 // CHECK:        Section {
16 // CHECK:          Index: 4
17 // CHECK-NEXT:     Name: .eh_frame
18 // CHECK-NEXT:     Type: SHT_PROGBITS
19 // CHECK-NEXT:     Flags [
20 // CHECK-NEXT:       SHF_ALLOC
21 // CHECK-NEXT:     ]
22 // CHECK-NEXT:     Address: 0x0
23 // CHECK-NEXT:     Offset: 0x50
24 // CHECK-NEXT:     Size: 48
25 // CHECK-NEXT:     Link: 0
26 // CHECK-NEXT:     Info: 0
27 // CHECK-NEXT:     AddressAlignment: 8
28 // CHECK-NEXT:     EntrySize: 0
29 // CHECK-NEXT:     Relocations [
30 // CHECK-NEXT:     ]
31 // CHECK-NEXT:     SectionData (
32 // CHECK-NEXT:       0000: 14000000 00000000 037A5200 01781001
33 // CHECK-NEXT:       0010: 1B0C0708 90010000 14000000 1C000000
34 // CHECK-NEXT:       0020: 00000000 0A000000 00440E10 450E0800
35 // CHECK-NEXT:     )
36 // CHECK-NEXT:   }
37
38 // CHECK:        Section {
39 // CHECK:          Index: 5
40 // CHECK-NEXT:     Name: .rela.eh_frame
41 // CHECK-NEXT:     Type: SHT_RELA
42 // CHECK-NEXT:     Flags [
43 // CHECK-NEXT:     ]
44 // CHECK-NEXT:     Address: 0x0
45 // CHECK-NEXT:     Offset: 0x398
46 // CHECK-NEXT:     Size: 24
47 // CHECK-NEXT:     Link: 7
48 // CHECK-NEXT:     Info: 4
49 // CHECK-NEXT:     AddressAlignment: 8
50 // CHECK-NEXT:     EntrySize: 24
51 // CHECK-NEXT:     Relocations [
52 // CHECK-NEXT:       0x20 R_X86_64_PC32 .text 0x0
53 // CHECK-NEXT:     ]
54 // CHECK:        }