106 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| // This test ensures functions in custom sections get unwind info emitted in a
 | |
| // distinct .xdata section.
 | |
| // RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj -s -sd | FileCheck %s
 | |
| 
 | |
| // CHECK:      Name: .xdata
 | |
| // CHECK-NEXT: VirtualSize
 | |
| // CHECK-NEXT: VirtualAddress
 | |
| // CHECK-NEXT: RawDataSize: 8
 | |
| // CHECK-NEXT: PointerToRawData
 | |
| // CHECK-NEXT: PointerToRelocations
 | |
| // CHECK-NEXT: PointerToLineNumbers
 | |
| // CHECK-NEXT: RelocationCount: 0
 | |
| // CHECK-NEXT: LineNumberCount: 0
 | |
| // CHECK-NEXT: Characteristics [
 | |
| // CHECK-NEXT:   IMAGE_SCN_ALIGN_4BYTES
 | |
| // CHECK-NEXT:   IMAGE_SCN_CNT_INITIALIZED_DATA
 | |
| // CHECK-NEXT:   IMAGE_SCN_MEM_READ
 | |
| // CHECK-NEXT: ]
 | |
| // CHECK-NEXT: SectionData (
 | |
| // CHECK-NEXT:   0000: 01050200 05500402
 | |
| // CHECK-NEXT: )
 | |
| 
 | |
| // CHECK:      Name: .xdata
 | |
| // CHECK-NEXT: VirtualSize
 | |
| // CHECK-NEXT: VirtualAddress
 | |
| // CHECK-NEXT: RawDataSize: 8
 | |
| // CHECK-NEXT: PointerToRawData
 | |
| // CHECK-NEXT: PointerToRelocations
 | |
| // CHECK-NEXT: PointerToLineNumbers
 | |
| // CHECK-NEXT: RelocationCount: 0
 | |
| // CHECK-NEXT: LineNumberCount: 0
 | |
| // CHECK-NEXT: Characteristics [
 | |
| // CHECK-NEXT:   IMAGE_SCN_ALIGN_4BYTES
 | |
| // CHECK-NEXT:   IMAGE_SCN_CNT_INITIALIZED_DATA
 | |
| // CHECK-NEXT:   IMAGE_SCN_MEM_READ
 | |
| // CHECK-NEXT: ]
 | |
| // CHECK-NEXT: SectionData (
 | |
| // CHECK-NEXT:   0000: 01050200 05500402
 | |
| // CHECK-NEXT: )
 | |
| 
 | |
| // CHECK:      Name: .xdata
 | |
| // CHECK-NEXT: VirtualSize
 | |
| // CHECK-NEXT: VirtualAddress
 | |
| // CHECK-NEXT: RawDataSize: 8
 | |
| // CHECK-NEXT: PointerToRawData
 | |
| // CHECK-NEXT: PointerToRelocations
 | |
| // CHECK-NEXT: PointerToLineNumbers
 | |
| // CHECK-NEXT: RelocationCount: 0
 | |
| // CHECK-NEXT: LineNumberCount: 0
 | |
| // CHECK-NEXT: Characteristics [
 | |
| // CHECK-NEXT:   IMAGE_SCN_ALIGN_4BYTES
 | |
| // CHECK-NEXT:   IMAGE_SCN_CNT_INITIALIZED_DATA
 | |
| // CHECK-NEXT:   IMAGE_SCN_MEM_READ
 | |
| // CHECK-NEXT: ]
 | |
| // CHECK-NEXT: SectionData (
 | |
| // CHECK-NEXT:   0000: 01050200 05500402
 | |
| // CHECK-NEXT: )
 | |
| 
 | |
| 
 | |
| 
 | |
|     .section .text$foo,"x"
 | |
|     .globl foo
 | |
|     .def foo; .scl 2; .type 32; .endef
 | |
|     .seh_proc foo
 | |
| foo:
 | |
|     subq $8, %rsp
 | |
|     .seh_stackalloc 8
 | |
|     pushq %rbp
 | |
|     .seh_pushreg %rbp
 | |
|     .seh_endprologue
 | |
|     popq %rbp
 | |
|     addq $8, %rsp
 | |
|     ret
 | |
|     .seh_endproc
 | |
| 
 | |
|     .section .mytext,"x"
 | |
|     .globl bar
 | |
|     .def bar; .scl 2; .type 32; .endef
 | |
|     .seh_proc bar
 | |
| bar:
 | |
|     subq $8, %rsp
 | |
|     .seh_stackalloc 8
 | |
|     pushq %rbp
 | |
|     .seh_pushreg %rbp
 | |
|     .seh_endprologue
 | |
|     popq %rbp
 | |
|     addq $8, %rsp
 | |
|     ret
 | |
|     .seh_endproc
 | |
| 
 | |
|     .section .text
 | |
|     .globl baz
 | |
|     .def baz; .scl 2; .type 32; .endef
 | |
|     .seh_proc baz
 | |
| baz:
 | |
|     subq $8, %rsp
 | |
|     .seh_stackalloc 8
 | |
|     pushq %rbp
 | |
|     .seh_pushreg %rbp
 | |
|     .seh_endprologue
 | |
|     popq %rbp
 | |
|     addq $8, %rsp
 | |
|     ret
 | |
|     .seh_endproc
 | |
| 
 |