146 lines · plain
1// RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | llvm-readobj --symbols - | FileCheck %s2 3// Test that all symbols are of type STT_TLS.4 5 movl foo1@NTPOFF(%eax), %eax6 movl foo2@GOTNTPOFF(%eax), %eax7 movl foo3@TLSGD(%eax), %eax8 movl foo4@TLSLDM(%eax), %eax9 movl foo5@TPOFF(%eax), %eax10 movl foo6@DTPOFF(%eax), %eax11 movl foo7@INDNTPOFF, %eax12 .long foo8@NTPOFF13 .long foo9@GOTNTPOFF14 .long fooA@TLSGD15 .long fooB@TLSLDM16 .long fooC@TPOFF17 .long fooD@DTPOFF18 .long fooE@INDNTPOFF19 20// CHECK: Symbol {21// CHECK: Name: foo122// CHECK-NEXT: Value: 0x023// CHECK-NEXT: Size: 024// CHECK-NEXT: Binding: Global25// CHECK-NEXT: Type: TLS26// CHECK-NEXT: Other: 027// CHECK-NEXT: Section: Undefined (0x0)28// CHECK-NEXT: }29// CHECK-NEXT: Symbol {30// CHECK-NEXT: Name: foo231// CHECK-NEXT: Value: 0x032// CHECK-NEXT: Size: 033// CHECK-NEXT: Binding: Global34// CHECK-NEXT: Type: TLS35// CHECK-NEXT: Other: 036// CHECK-NEXT: Section: Undefined (0x0)37// CHECK-NEXT: }38// CHECK-NEXT: Symbol {39// CHECK-NEXT: Name: foo340// CHECK-NEXT: Value: 0x041// CHECK-NEXT: Size: 042// CHECK-NEXT: Binding: Global43// CHECK-NEXT: Type: TLS44// CHECK-NEXT: Other: 045// CHECK-NEXT: Section: Undefined (0x0)46// CHECK-NEXT: }47// CHECK-NEXT: Symbol {48// CHECK-NEXT: Name: foo449// CHECK-NEXT: Value: 0x050// CHECK-NEXT: Size: 051// CHECK-NEXT: Binding: Global52// CHECK-NEXT: Type: TLS53// CHECK-NEXT: Other: 054// CHECK-NEXT: Section: Undefined (0x0)55// CHECK-NEXT: }56// CHECK-NEXT: Symbol {57// CHECK-NEXT: Name: foo558// CHECK-NEXT: Value: 0x059// CHECK-NEXT: Size: 060// CHECK-NEXT: Binding: Global61// CHECK-NEXT: Type: TLS62// CHECK-NEXT: Other: 063// CHECK-NEXT: Section: Undefined (0x0)64// CHECK-NEXT: }65// CHECK-NEXT: Symbol {66// CHECK-NEXT: Name: foo667// CHECK-NEXT: Value: 0x068// CHECK-NEXT: Size: 069// CHECK-NEXT: Binding: Global70// CHECK-NEXT: Type: TLS71// CHECK-NEXT: Other: 072// CHECK-NEXT: Section: Undefined (0x0)73// CHECK-NEXT: }74// CHECK-NEXT: Symbol {75// CHECK-NEXT: Name: foo776// CHECK-NEXT: Value: 0x077// CHECK-NEXT: Size: 078// CHECK-NEXT: Binding: Global79// CHECK-NEXT: Type: TLS80// CHECK-NEXT: Other: 081// CHECK-NEXT: Section: Undefined (0x0)82// CHECK-NEXT: }83// CHECK-NEXT: Symbol {84// CHECK-NEXT: Name: foo885// CHECK-NEXT: Value: 0x086// CHECK-NEXT: Size: 087// CHECK-NEXT: Binding: Global88// CHECK-NEXT: Type: TLS89// CHECK-NEXT: Other: 090// CHECK-NEXT: Section: Undefined (0x0)91// CHECK-NEXT: }92// CHECK-NEXT: Symbol {93// CHECK-NEXT: Name: foo994// CHECK-NEXT: Value: 0x095// CHECK-NEXT: Size: 096// CHECK-NEXT: Binding: Global97// CHECK-NEXT: Type: TLS98// CHECK-NEXT: Other: 099// CHECK-NEXT: Section: Undefined (0x0)100// CHECK-NEXT: }101// CHECK-NEXT: Symbol {102// CHECK-NEXT: Name: fooA103// CHECK-NEXT: Value: 0x0104// CHECK-NEXT: Size: 0105// CHECK-NEXT: Binding: Global106// CHECK-NEXT: Type: TLS107// CHECK-NEXT: Other: 0108// CHECK-NEXT: Section: Undefined (0x0)109// CHECK-NEXT: }110// CHECK-NEXT: Symbol {111// CHECK-NEXT: Name: fooB112// CHECK-NEXT: Value: 0x0113// CHECK-NEXT: Size: 0114// CHECK-NEXT: Binding: Global115// CHECK-NEXT: Type: TLS116// CHECK-NEXT: Other: 0117// CHECK-NEXT: Section: Undefined (0x0)118// CHECK-NEXT: }119// CHECK-NEXT: Symbol {120// CHECK-NEXT: Name: fooC121// CHECK-NEXT: Value: 0x0122// CHECK-NEXT: Size: 0123// CHECK-NEXT: Binding: Global124// CHECK-NEXT: Type: TLS125// CHECK-NEXT: Other: 0126// CHECK-NEXT: Section: Undefined (0x0)127// CHECK-NEXT: }128// CHECK-NEXT: Symbol {129// CHECK-NEXT: Name: fooD130// CHECK-NEXT: Value: 0x0131// CHECK-NEXT: Size: 0132// CHECK-NEXT: Binding: Global133// CHECK-NEXT: Type: TLS134// CHECK-NEXT: Other: 0135// CHECK-NEXT: Section: Undefined (0x0)136// CHECK-NEXT: }137// CHECK-NEXT: Symbol {138// CHECK-NEXT: Name: fooE139// CHECK-NEXT: Value: 0x0140// CHECK-NEXT: Size: 0141// CHECK-NEXT: Binding: Global142// CHECK-NEXT: Type: TLS143// CHECK-NEXT: Other: 0144// CHECK-NEXT: Section: Undefined (0x0)145// CHECK-NEXT: }146