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