91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi -filetype=obj -o - \
 | 
						|
@ RUN:   | llvm-readobj -s  | FileCheck %s
 | 
						|
 | 
						|
@ Test that the ARM_EXIDX sections point (Link) to the corresponding text
 | 
						|
@ sections.
 | 
						|
 | 
						|
@ FIXME: The section numbers are not important. If llvm-readobj printed the
 | 
						|
@ name first we could use a FileCheck variable.
 | 
						|
 | 
						|
@ CHECK:      Section {
 | 
						|
@ CHECK:        Index: 4
 | 
						|
@ CHECK-NEXT:   Name: .text
 | 
						|
@ CHECK-NEXT:   Type: SHT_PROGBITS
 | 
						|
@ CHECK-NEXT:   Flags [
 | 
						|
@ CHECK-NEXT:     SHF_ALLOC
 | 
						|
@ CHECK-NEXT:     SHF_EXECINSTR
 | 
						|
@ CHECK-NEXT:     SHF_GROUP
 | 
						|
@ CHECK-NEXT:   ]
 | 
						|
@ CHECK-NEXT:   Address: 0x0
 | 
						|
@ CHECK-NEXT:   Offset:
 | 
						|
@ CHECK-NEXT:   Size: 4
 | 
						|
@ CHECK-NEXT:   Link: 0
 | 
						|
@ CHECK-NEXT:   Info: 0
 | 
						|
@ CHECK-NEXT:   AddressAlignment: 1
 | 
						|
@ CHECK-NEXT:   EntrySize: 0
 | 
						|
@ CHECK-NEXT: }
 | 
						|
@ CHECK-NEXT: Section {
 | 
						|
@ CHECK-NEXT:   Index: 5
 | 
						|
@ CHECK-NEXT:   Name: .ARM.exidx
 | 
						|
@ CHECK-NEXT:   Type: SHT_ARM_EXIDX
 | 
						|
@ CHECK-NEXT:   Flags [
 | 
						|
@ CHECK-NEXT:     SHF_ALLOC
 | 
						|
@ CHECK-NEXT:     SHF_GROUP
 | 
						|
@ CHECK-NEXT:     SHF_LINK_ORDER
 | 
						|
@ CHECK-NEXT:   ]
 | 
						|
@ CHECK-NEXT:   Address: 0x0
 | 
						|
@ CHECK-NEXT:   Offset:
 | 
						|
@ CHECK-NEXT:   Size: 8
 | 
						|
@ CHECK-NEXT:   Link: 4
 | 
						|
@ CHECK-NEXT:   Info: 0
 | 
						|
@ CHECK-NEXT:   AddressAlignment: 4
 | 
						|
@ CHECK-NEXT:   EntrySize: 0
 | 
						|
@ CHECK-NEXT: }
 | 
						|
 | 
						|
@ CHECK:      Section {
 | 
						|
@ CHECK:        Index: 8
 | 
						|
@ CHECK-NEXT:   Name: .text
 | 
						|
@ CHECK-NEXT:   Type: SHT_PROGBITS
 | 
						|
@ CHECK-NEXT:   Flags [
 | 
						|
@ CHECK-NEXT:     SHF_ALLOC
 | 
						|
@ CHECK-NEXT:     SHF_EXECINSTR
 | 
						|
@ CHECK-NEXT:     SHF_GROUP
 | 
						|
@ CHECK-NEXT:   ]
 | 
						|
@ CHECK-NEXT:   Address: 0x0
 | 
						|
@ CHECK-NEXT:   Offset:
 | 
						|
@ CHECK-NEXT:   Size: 4
 | 
						|
@ CHECK-NEXT:   Link: 0
 | 
						|
@ CHECK-NEXT:   Info: 0
 | 
						|
@ CHECK-NEXT:   AddressAlignment: 1
 | 
						|
@ CHECK-NEXT:   EntrySize: 0
 | 
						|
@ CHECK-NEXT: }
 | 
						|
@ CHECK-NEXT: Section {
 | 
						|
@ CHECK-NEXT:   Index: 9
 | 
						|
@ CHECK-NEXT:   Name: .ARM.exidx
 | 
						|
@ CHECK-NEXT:   Type: SHT_ARM_EXIDX
 | 
						|
@ CHECK-NEXT:   Flags [
 | 
						|
@ CHECK-NEXT:     SHF_ALLOC
 | 
						|
@ CHECK-NEXT:     SHF_GROUP
 | 
						|
@ CHECK-NEXT:     SHF_LINK_ORDER
 | 
						|
@ CHECK-NEXT:   ]
 | 
						|
@ CHECK-NEXT:   Address: 0x0
 | 
						|
@ CHECK-NEXT:   Offset:
 | 
						|
@ CHECK-NEXT:   Size: 8
 | 
						|
@ CHECK-NEXT:   Link: 8
 | 
						|
@ CHECK-NEXT:   Info: 0
 | 
						|
@ CHECK-NEXT:   AddressAlignment: 4
 | 
						|
@ CHECK-NEXT:   EntrySize: 0
 | 
						|
@ CHECK-NEXT: }
 | 
						|
 | 
						|
	.section	.text,"axG",%progbits,f,comdat
 | 
						|
f:
 | 
						|
	.fnstart
 | 
						|
	mov	pc, lr
 | 
						|
	.fnend
 | 
						|
 | 
						|
	.section	.text,"axG",%progbits,g,comdat
 | 
						|
g:
 | 
						|
	.fnstart
 | 
						|
	mov	pc, lr
 | 
						|
	.fnend
 |