You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -t -r --expand-relocs | FileCheck %s
 | |
| 
 | |
| .section foo, "aG", @progbits, f1, comdat
 | |
| .section foo, "G", @progbits, f2, comdat
 | |
| .section bar
 | |
| .long foo
 | |
| 
 | |
| // Test that the relocation points to the first section foo.
 | |
| 
 | |
| // The first seciton foo has index 6
 | |
| // CHECK:      Section {
 | |
| // CHECK:        Index:   4
 | |
| // CHECK-NEXT:   Name:    foo
 | |
| // CHECK-NEXT:   Type:    SHT_PROGBITS (0x1)
 | |
| // CHECK-NEXT:   Flags [ (0x202)
 | |
| // CHECK-NEXT:     SHF_ALLOC (0x2)
 | |
| // CHECK-NEXT:     SHF_GROUP (0x200)
 | |
| // CHECK-NEXT:   ]
 | |
| // CHECK-NEXT:   Address:         0x0
 | |
| // CHECK-NEXT:   Offset:
 | |
| // CHECK-NEXT:   Size:    0
 | |
| // CHECK-NEXT:   Link:    0
 | |
| // CHECK-NEXT:   Info:    0
 | |
| // CHECK-NEXT:   AddressAlignment:        1
 | |
| // CHECK-NEXT:   EntrySize:       0
 | |
| // CHECK-NEXT: }
 | |
| // CHECK:      Section {
 | |
| // CHECK:        Index:   6
 | |
| // CHECK-NEXT:   Name:    foo
 | |
| // CHECK-NEXT:   Type:    SHT_PROGBITS (0x1)
 | |
| // CHECK-NEXT:   Flags [ (0x200)
 | |
| // CHECK-NEXT:     SHF_GROUP (0x200)
 | |
| // CHECK-NEXT:   ]
 | |
| // CHECK-NEXT:   Address:         0x0
 | |
| // CHECK-NEXT:   Offset:
 | |
| // CHECK-NEXT:   Size:    0
 | |
| // CHECK-NEXT:   Link:    0
 | |
| // CHECK-NEXT:   Info:    0
 | |
| // CHECK-NEXT:   AddressAlignment:        1
 | |
| // CHECK-NEXT:   EntrySize:       0
 | |
| // CHECK-NEXT: }
 | |
| 
 | |
| // The relocation points to symbol 3
 | |
| // CHECK:      Relocations [
 | |
| // CHECK-NEXT:   Section ({{.*}}) .relabar {
 | |
| // CHECK-NEXT:     Relocation {
 | |
| // CHECK-NEXT:       Offset:  0x0
 | |
| // CHECK-NEXT:       Type:    R_X86_64_32 (10)
 | |
| // CHECK-NEXT:       Symbol:  foo (3)
 | |
| // CHECK-NEXT:       Addend:  0x0
 | |
| // CHECK-NEXT:     }
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT: ]
 | |
| 
 | |
| // Symbol 3 is section 6
 | |
| // CHECK: Symbols [
 | |
| // CHECK-NEXT:  Symbol {
 | |
| // CHECK-NEXT:    Name:  (0)
 | |
| // CHECK-NEXT:    Value: 0x0
 | |
| // CHECK-NEXT:    Size: 0
 | |
| // CHECK-NEXT:    Binding: Local (0x0)
 | |
| // CHECK-NEXT:    Type: None (0x0)
 | |
| // CHECK-NEXT:    Other: 0
 | |
| // CHECK-NEXT:    Section: Undefined (0x0)
 | |
| // CHECK-NEXT:  }
 | |
| // CHECK-NEXT:  Symbol {
 | |
| // CHECK-NEXT:    Name: f1
 | |
| // CHECK-NEXT:    Value: 0x0
 | |
| // CHECK-NEXT:    Size: 0
 | |
| // CHECK-NEXT:    Binding: Local (0x0)
 | |
| // CHECK-NEXT:    Type: None (0x0)
 | |
| // CHECK-NEXT:    Other: 0
 | |
| // CHECK-NEXT:    Section: .group
 | |
| // CHECK-NEXT:  }
 | |
| // CHECK-NEXT:  Symbol {
 | |
| // CHECK-NEXT:    Name: f2
 | |
| // CHECK-NEXT:    Value: 0x0
 | |
| // CHECK-NEXT:    Size: 0
 | |
| // CHECK-NEXT:    Binding: Local (0x0)
 | |
| // CHECK-NEXT:    Type: None (0x0)
 | |
| // CHECK-NEXT:    Other: 0
 | |
| // CHECK-NEXT:    Section: .group
 | |
| // CHECK-NEXT:  }
 | |
| // CHECK-NEXT:  Symbol {
 | |
| // CHECK-NEXT:    Name:  (0)
 | |
| // CHECK-NEXT:    Value: 0x0
 | |
| // CHECK-NEXT:    Size: 0
 | |
| // CHECK-NEXT:    Binding: Local (0x0)
 | |
| // CHECK-NEXT:    Type: Section (0x3)
 | |
| // CHECK-NEXT:    Other: 0
 | |
| // CHECK-NEXT:    Section: foo (0x4)
 | |
| // CHECK-NEXT:  }
 | |
| // CHECK-NEXT: ]
 |