2019-05-01 17:28:24 +08:00
|
|
|
// RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | llvm-readobj --symbols | FileCheck %s
|
2010-11-25 02:51:21 +08:00
|
|
|
|
|
|
|
// 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
|
2011-03-17 08:35:10 +08:00
|
|
|
movl foo7@INDNTPOFF, %eax
|
2012-02-15 23:09:06 +08:00
|
|
|
.long foo8@NTPOFF
|
|
|
|
.long foo9@GOTNTPOFF
|
|
|
|
.long fooA@TLSGD
|
|
|
|
.long fooB@TLSLDM
|
|
|
|
.long fooC@TPOFF
|
|
|
|
.long fooD@DTPOFF
|
|
|
|
.long fooE@INDNTPOFF
|
2010-11-25 02:51:21 +08:00
|
|
|
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK: Name: foo1
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo2
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo3
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo4
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo5
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo6
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo7
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo8
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: foo9
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: fooA
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: fooB
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: fooC
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: fooD
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NEXT: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK-NEXT: Name: fooE
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Global
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
2014-03-24 13:00:34 +08:00
|
|
|
// CHECK-NEXT: Section: Undefined (0x0)
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: }
|