2013-04-12 12:06:46 +08:00
|
|
|
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
|
2010-11-12 03:04:55 +08:00
|
|
|
|
2010-11-25 02:51:21 +08:00
|
|
|
// Test that all symbols are of type STT_TLS.
|
2010-11-24 10:19:40 +08:00
|
|
|
|
2010-11-25 02:51:21 +08:00
|
|
|
leaq foo1@TLSGD(%rip), %rdi
|
|
|
|
leaq foo2@GOTTPOFF(%rip), %rdi
|
|
|
|
leaq foo3@TLSLD(%rip), %rdi
|
2012-02-15 23:09:06 +08:00
|
|
|
.long foo4@GOTTPOFF
|
|
|
|
.long foo5@TLSLD
|
|
|
|
.long foo6@TLSGD
|
2010-11-12 03:04:55 +08:00
|
|
|
.section .zed,"awT",@progbits
|
|
|
|
foobar:
|
|
|
|
.long 43
|
|
|
|
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK: Symbol {
|
2014-05-01 00:25:02 +08:00
|
|
|
// CHECK: Name: foobar
|
2013-04-12 12:06:46 +08:00
|
|
|
// CHECK-NEXT: Value: 0x0
|
|
|
|
// CHECK-NEXT: Size: 0
|
|
|
|
// CHECK-NEXT: Binding: Local
|
|
|
|
// CHECK-NEXT: Type: TLS
|
|
|
|
// CHECK-NEXT: Other: 0
|
|
|
|
// CHECK-NEXT: Section: .zed (0x5)
|
|
|
|
// CHECK-NEXT: }
|
2010-11-24 10:19:40 +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: }
|