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
 |