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 17 Ltmp0: 18 .cfi_startproc 19 ## BB#0: ## %entry 20 movl $42, %eax 21 ret 22 Ltmp1: 23 .cfi_endproc 24 Leh_func_end0: 25 26 .cfi_sections .debug_frame 27 Ltext_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: 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