| // 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: } |