146 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| // RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | llvm-readobj --symbols - | FileCheck %s
 | |
| 
 | |
| // Test that all symbols are of type STT_TLS.
 | |
| 
 | |
|         movl    foo1@NTPOFF(%eax), %eax
 | |
|         movl    foo2@GOTNTPOFF(%eax), %eax
 | |
|         movl    foo3@TLSGD(%eax), %eax
 | |
|         movl    foo4@TLSLDM(%eax), %eax
 | |
|         movl    foo5@TPOFF(%eax), %eax
 | |
|         movl    foo6@DTPOFF(%eax), %eax
 | |
|         movl    foo7@INDNTPOFF, %eax
 | |
|         .long   foo8@NTPOFF
 | |
|         .long   foo9@GOTNTPOFF
 | |
|         .long   fooA@TLSGD
 | |
|         .long   fooB@TLSLDM
 | |
|         .long   fooC@TPOFF
 | |
|         .long   fooD@DTPOFF
 | |
|         .long   fooE@INDNTPOFF
 | |
| 
 | |
| // CHECK:        Symbol {
 | |
| // CHECK:          Name: foo1
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo2
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo3
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo4
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo5
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo6
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo7
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo8
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: foo9
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: fooA
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: fooB
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: fooC
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: fooD
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 | |
| // CHECK-NEXT:   Symbol {
 | |
| // CHECK-NEXT:     Name: fooE
 | |
| // CHECK-NEXT:     Value: 0x0
 | |
| // CHECK-NEXT:     Size: 0
 | |
| // CHECK-NEXT:     Binding: Global
 | |
| // CHECK-NEXT:     Type: TLS
 | |
| // CHECK-NEXT:     Other: 0
 | |
| // CHECK-NEXT:     Section: Undefined (0x0)
 | |
| // CHECK-NEXT:   }
 |