forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| // 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
 | |
| _proc:
 | |
| .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: ])
 |