// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj --symbols - | FileCheck %s // Test that all symbols are of type STT_TLS. leaq foo1@TLSGD(%rip), %rdi leaq foo2@GOTTPOFF(%rip), %rdi leaq foo3@TLSLD(%rip), %rdi .long foo4@GOTTPOFF .long foo5@TLSLD .long foo6@TLSGD .section .zed,"awT",@progbits foobar: .long 43 // CHECK: Symbol { // CHECK: Name: foobar // CHECK-NEXT: Value: 0x0 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 // CHECK-NEXT: Section: .zed // CHECK-NEXT: } // 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: }