1// RUN: llvm-mc -triple i386-apple-darwin %s -filetype=obj -o - | llvm-readobj -S --sd -r - | FileCheck %s
2
3// Make sure MC can handle file level .cfi_startproc and .cfi_endproc that creates
4// an empty frame.
5// rdar://10017184
6_proc:
7.cfi_startproc
8.cfi_endproc
9
10// Check that we don't produce a relocation for the CIE pointer and therefore
11// we have only one relocation in __debug_frame.
12
13	.section	__TEXT,__text,regular,pure_instructions
14	.globl	_f
15	.align	4, 0x90
16_f:                                     ## @f
17Ltmp0:
18	.cfi_startproc
19## %bb.0:                               ## %entry
20	movl	$42, %eax
21	ret
22Ltmp1:
23	.cfi_endproc
24Leh_func_end0:
25
26	.cfi_sections .debug_frame
27Ltext_end:
28
29// CHECK: Section {
30// CHECK:     Index: 1
31// CHECK:     Name: __debug_frame (5F 5F 64 65 62 75 67 5F 66 72 61 6D 65 00 00 00)
32// CHECK:     Segment: __DWARF (5F 5F 44 57 41 52 46 00 00 00 00 00 00 00 00 00)
33// CHECK:     Address: 0x8
34// CHECK:     Size: 0x34
35// CHECK:     Offset: 332
36// CHECK:     Alignment: 2
37// CHECK:     RelocationOffset: 0x180
38// CHECK:     RelocationCount: 2
39// CHECK:     Type: Regular (0x0)
40// CHECK:     Attributes [ (0x20000)
41// CHECK:       Debug (0x20000)
42// CHECK:     ]
43// CHECK:     Reserved1: 0x0
44// CHECK:     Reserved2: 0x0
45// CHECK:     SectionData (
46// CHECK:       0000: 10000000 FFFFFFFF 04000400 017C080C  |.............|..|
47// CHECK:       0010: 04048801 0C000000 00000000 00000000  |................|
48// CHECK:       0020: 00000000 0C000000 00000000 00000000  |................|
49// CHECK:       0030: 06000000                             |....|
50// CHECK:     )
51// CHECK:   }
52// CHECK: ]
53// CHECK: Relocations [
54// CHECK:   Section __debug_frame {
55// CHECK:     0x2C 0 2 0 GENERIC_RELOC_VANILLA 0 __text
56// CHECK:     0x1C 0 2 0 GENERIC_RELOC_VANILLA 0 __text
57// CHECK:   }
58// CHECK: ]
59