139 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj  -t -r --expand-relocs | FileCheck %s
 | 
						|
 | 
						|
// Local symbol overriding section.
 | 
						|
.section x1,"a",@progbits
 | 
						|
.local  x1
 | 
						|
.comm   x1,4,4
 | 
						|
.long x1  // reloc: .bss + 0
 | 
						|
 | 
						|
// Section declared after local. Local symbol wins.
 | 
						|
.local  x2
 | 
						|
.comm   x2,4,4
 | 
						|
.section x2,"a",@progbits
 | 
						|
.long x2  // reloc: .bss + 4
 | 
						|
 | 
						|
// No overriding symbol.
 | 
						|
.section x3,"a",@progbits
 | 
						|
.long x3  // reloc: x3(section) + 0
 | 
						|
 | 
						|
// Global vs section.
 | 
						|
.section x4,"a",@progbits
 | 
						|
.long 0
 | 
						|
.globl x4
 | 
						|
.section foo, "a", @progbits
 | 
						|
x4:
 | 
						|
.long 0
 | 
						|
.long x4  // reloc: x4(global) + 0
 | 
						|
 | 
						|
// Global vs implicit section
 | 
						|
.globl .data
 | 
						|
.data:
 | 
						|
.long 42
 | 
						|
.long .data // reloc: .data(global) + 0
 | 
						|
 | 
						|
// CHECK: Relocations [
 | 
						|
// CHECK:   Section (4) .relax1 {
 | 
						|
// CHECK:     Relocation {
 | 
						|
// CHECK:       Offset: 0x0
 | 
						|
// CHECK:       Type: R_X86_64_32 (10)
 | 
						|
// CHECK:       Symbol: .bss (3)
 | 
						|
// CHECK:       Addend: 0x0
 | 
						|
// CHECK:     }
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Section (7) .relax2 {
 | 
						|
// CHECK:     Relocation {
 | 
						|
// CHECK:       Offset: 0x0
 | 
						|
// CHECK:       Type: R_X86_64_32 (10)
 | 
						|
// CHECK:       Symbol: .bss (3)
 | 
						|
// CHECK:       Addend: 0x4
 | 
						|
// CHECK:     }
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Section (9) .relax3 {
 | 
						|
// CHECK:     Relocation {
 | 
						|
// CHECK:       Offset: 0x0
 | 
						|
// CHECK:       Type: R_X86_64_32 (10)
 | 
						|
// CHECK:       Symbol: x3 (4)
 | 
						|
// CHECK:       Addend: 0x0
 | 
						|
// CHECK:     }
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Section (12) .relafoo {
 | 
						|
// CHECK:     Relocation {
 | 
						|
// CHECK:       Offset: 0x4
 | 
						|
// CHECK:       Type: R_X86_64_32 (10)
 | 
						|
// CHECK:       Symbol: x4 (6)
 | 
						|
// CHECK:       Addend: 0x0
 | 
						|
// CHECK:     }
 | 
						|
// CHECK:     Relocation {
 | 
						|
// CHECK:       Offset: 0xC
 | 
						|
// CHECK:       Type: R_X86_64_32 (10)
 | 
						|
// CHECK:       Symbol: .data (5)
 | 
						|
// CHECK:       Addend: 0x0
 | 
						|
// CHECK:     }
 | 
						|
// CHECK:   }
 | 
						|
// CHECK: ]
 | 
						|
// CHECK: Symbols [
 | 
						|
// CHECK:   Symbol {
 | 
						|
// CHECK:     Name:  (0)
 | 
						|
// CHECK:     Value: 0x0
 | 
						|
// CHECK:     Size: 0
 | 
						|
// CHECK:     Binding: Local (0x0)
 | 
						|
// CHECK:     Type: None (0x0)
 | 
						|
// CHECK:     Other: 0
 | 
						|
// CHECK:     Section: Undefined (0x0)
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Symbol {
 | 
						|
// CHECK:     Name: x1 (67)
 | 
						|
// CHECK:     Value: 0x0
 | 
						|
// CHECK:     Size: 4
 | 
						|
// CHECK:     Binding: Local (0x0)
 | 
						|
// CHECK:     Type: Object (0x1)
 | 
						|
// CHECK:     Other: 0
 | 
						|
// CHECK:     Section: .bss (0x5)
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Symbol {
 | 
						|
// CHECK:     Name: x2 (59)
 | 
						|
// CHECK:     Value: 0x4
 | 
						|
// CHECK:     Size: 4
 | 
						|
// CHECK:     Binding: Local (0x0)
 | 
						|
// CHECK:     Type: Object (0x1)
 | 
						|
// CHECK:     Other: 0
 | 
						|
// CHECK:     Section: .bss (0x5)
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Symbol {
 | 
						|
// CHECK:     Name:  (0)
 | 
						|
// CHECK:     Value: 0x0
 | 
						|
// CHECK:     Size: 0
 | 
						|
// CHECK:     Binding: Local (0x0)
 | 
						|
// CHECK:     Type: Section (0x3)
 | 
						|
// CHECK:     Other: 0
 | 
						|
// CHECK:     Section: .bss (0x5)
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Symbol {
 | 
						|
// CHECK:     Name:  (0)
 | 
						|
// CHECK:     Value: 0x0
 | 
						|
// CHECK:     Size: 0
 | 
						|
// CHECK:     Binding: Local (0x0)
 | 
						|
// CHECK:     Type: Section (0x3)
 | 
						|
// CHECK:     Other: 0
 | 
						|
// CHECK:     Section: x3 (0x8)
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Symbol {
 | 
						|
// CHECK:     Name: .data (37)
 | 
						|
// CHECK:     Value: 0x8
 | 
						|
// CHECK:     Size: 0
 | 
						|
// CHECK:     Binding: Global (0x1)
 | 
						|
// CHECK:     Type: None (0x0)
 | 
						|
// CHECK:     Other: 0
 | 
						|
// CHECK:     Section: foo (0xB)
 | 
						|
// CHECK:   }
 | 
						|
// CHECK:   Symbol {
 | 
						|
// CHECK:     Name: x4 (43)
 | 
						|
// CHECK:     Value: 0x0
 | 
						|
// CHECK:     Size: 0
 | 
						|
// CHECK:     Binding: Global (0x1)
 | 
						|
// CHECK:     Type: None (0x0)
 | 
						|
// CHECK:     Other: 0
 | 
						|
// CHECK:     Section: foo (0xB)
 | 
						|
// CHECK:   }
 | 
						|
// CHECK: ]
 |