| // RUN: llvm-mc -triple i386-apple-darwin %s -filetype=obj -o - | macho-dump | FileCheck %s |
| |
| // Make sure MC can handle file level .cfi_startproc and .cfi_endproc that creates |
| // an empty frame. |
| // rdar://10017184 |
| .cfi_startproc |
| .cfi_endproc |
| |
| // Check that we don't produce a relocation for the CIE pointer and therefore |
| // we have only one relocation in __debug_frame. |
| |
| .section __TEXT,__text,regular,pure_instructions |
| .globl _f |
| .align 4, 0x90 |
| _f: ## @f |
| Ltmp0: |
| .cfi_startproc |
| ## BB#0: ## %entry |
| movl $42, %eax |
| ret |
| Ltmp1: |
| .cfi_endproc |
| Leh_func_end0: |
| |
| .cfi_sections .debug_frame |
| Ltext_end: |
| |
| // CHECK: (('section_name', '__debug_frame\x00\x00\x00') |
| // CHECK-NEXT: ('segment_name', '__DWARF\x00\x00\x00\x00\x00\x00\x00\x00\x00') |
| // CHECK-NEXT: ('address', 8) |
| // CHECK-NEXT: ('size', 52) |
| // CHECK-NEXT: ('offset', 332) |
| // CHECK-NEXT: ('alignment', 2) |
| // CHECK-NEXT: ('reloc_offset', 384) |
| // CHECK-NEXT: ('num_reloc', 2) |
| // CHECK-NEXT: ('flags', 0x2000000) |
| // CHECK-NEXT: ('reserved1', 0) |
| // CHECK-NEXT: ('reserved2', 0) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: ('_relocations', [ |
| // CHECK-NEXT: # Relocation 0 |
| // CHECK-NEXT: (('word-0', 0x2c), |
| // CHECK-NEXT: ('word-1', 0x4000001)), |
| // CHECK-NEXT: # Relocation 1 |
| // CHECK-NEXT: (('word-0', 0x1c), |
| // CHECK-NEXT: ('word-1', 0x4000001)), |
| // CHECK-NEXT: ]) |