1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s 2 3// Test that both % and @ are accepted. 4 .global foo 5 .type foo,%function 6foo: 7 8 .global bar 9 .type bar,@object 10bar: 11 12// Test that gnu_unique_object is accepted. 13 .type zed,@gnu_unique_object 14 15obj: 16 .global obj 17 .type obj,@object 18 .type obj,@notype 19 20func: 21 .global func 22 .type func,@function 23 .type func,@object 24 25ifunc: 26 .global ifunc 27 .type ifunc,@gnu_indirect_function 28 29tls: 30 .global tls 31 .type tls,@tls_object 32 .type tls,@gnu_indirect_function 33 34// Test that "<type>" is accepted. 35tls_quoted: 36 .global tls_quoted 37 .type tls_quoted,"tls_object" 38 39// Test that "<type>" is accepted. 40tls_upper_case: 41 .global tls_upper_case 42 .type tls_upper_case,STT_TLS 43 44// CHECK: Symbol { 45// CHECK: Name: bar 46// CHECK-NEXT: Value: 0x0 47// CHECK-NEXT: Size: 0 48// CHECK-NEXT: Binding: Global 49// CHECK-NEXT: Type: Object 50// CHECK-NEXT: Other: 0 51// CHECK-NEXT: Section: .text (0x1) 52// CHECK-NEXT: } 53// CHECK-NEXT: Symbol { 54// CHECK-NEXT: Name: foo 55// CHECK-NEXT: Value: 0x0 56// CHECK-NEXT: Size: 0 57// CHECK-NEXT: Binding: Global 58// CHECK-NEXT: Type: Function 59// CHECK-NEXT: Other: 0 60// CHECK-NEXT: Section: .text (0x1) 61// CHECK-NEXT: } 62// CHECK-NEXT: Symbol { 63// CHECK-NEXT: Name: func 64// CHECK-NEXT: Value: 0x0 65// CHECK-NEXT: Size: 0 66// CHECK-NEXT: Binding: Global 67// CHECK-NEXT: Type: Function 68// CHECK-NEXT: Other: 0 69// CHECK-NEXT: Section: .text (0x1) 70// CHECK-NEXT: } 71// CHECK-NEXT: Symbol { 72// CHECK-NEXT: Name: ifunc 73// CHECK-NEXT: Value: 0x0 74// CHECK-NEXT: Size: 0 75// CHECK-NEXT: Binding: Global 76// CHECK-NEXT: Type: GNU_IFunc 77// CHECK-NEXT: Other: 0 78// CHECK-NEXT: Section: .text (0x1) 79// CHECK-NEXT: } 80// CHECK-NEXT: Symbol { 81// CHECK-NEXT: Name: obj 82// CHECK-NEXT: Value: 0x0 83// CHECK-NEXT: Size: 0 84// CHECK-NEXT: Binding: Global 85// CHECK-NEXT: Type: Object 86// CHECK-NEXT: Other: 0 87// CHECK-NEXT: Section: .text (0x1) 88// CHECK-NEXT: } 89// CHECK-NEXT: Symbol { 90// CHECK-NEXT: Name: tls 91// CHECK-NEXT: Value: 0x0 92// CHECK-NEXT: Size: 0 93// CHECK-NEXT: Binding: Global 94// CHECK-NEXT: Type: TLS 95// CHECK-NEXT: Other: 0 96// CHECK-NEXT: Section: .text (0x1) 97// CHECK-NEXT: } 98// CHECK-NEXT: Symbol { 99// CHECK-NEXT: Name: tls_quoted 100// CHECK-NEXT: Value: 0x0 101// CHECK-NEXT: Size: 0 102// CHECK-NEXT: Binding: Global 103// CHECK-NEXT: Type: TLS 104// CHECK-NEXT: Other: 0 105// CHECK-NEXT: Section: .text (0x1) 106// CHECK-NEXT: } 107// CHECK-NEXT: Symbol { 108// CHECK-NEXT: Name: tls_upper_case 109// CHECK-NEXT: Value: 0x0 110// CHECK-NEXT: Size: 0 111// CHECK-NEXT: Binding: Global 112// CHECK-NEXT: Type: TLS 113// CHECK-NEXT: Other: 0 114// CHECK-NEXT: Section: .text (0x1) 115// CHECK-NEXT: } 116