1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s 2 3// Test which symbols should be in the symbol table 4 5 .long .Lsym1 6.Lsym2: 7.Lsym3: 8.Lsym4 = .Lsym2 - .Lsym3 9 .long .Lsym4 10 11 .type .Lsym5,@object 12 .type sym6,@object 13 .long sym6 14 15 .section .rodata.str1.1,"aMS",@progbits,1 16.Lsym7: 17.Lsym8: 18 19 .text 20 movsd .Lsym8(%rip), %xmm1 21 22test2_a = undef 23test2_b = undef + 1 24 25// CHECK: Symbols [ 26// CHECK-NEXT: Symbol { 27// CHECK-NEXT: Name: (0) 28// CHECK-NEXT: Value: 0x0 29// CHECK-NEXT: Size: 0 30// CHECK-NEXT: Binding: Local 31// CHECK-NEXT: Type: None 32// CHECK-NEXT: Other: 0 33// CHECK-NEXT: Section: Undefined 34// CHECK-NEXT: } 35// CHECK-NEXT: Symbol { 36// CHECK-NEXT: Name: .Lsym8 37// CHECK-NEXT: Value: 0x0 38// CHECK-NEXT: Size: 0 39// CHECK-NEXT: Binding: Local 40// CHECK-NEXT: Type: None 41// CHECK-NEXT: Other: 0 42// CHECK-NEXT: Section: .rodata.str1.1 43// CHECK-NEXT: } 44// CHECK-NEXT: Symbol { 45// CHECK-NEXT: Name: .text 46// CHECK-NEXT: Value: 0x0 47// CHECK-NEXT: Size: 0 48// CHECK-NEXT: Binding: Local 49// CHECK-NEXT: Type: Section 50// CHECK-NEXT: Other: 0 51// CHECK-NEXT: Section: .text 52// CHECK-NEXT: } 53// CHECK-NEXT: Symbol { 54// CHECK-NEXT: Name: .data 55// CHECK-NEXT: Value: 0x0 56// CHECK-NEXT: Size: 0 57// CHECK-NEXT: Binding: Local 58// CHECK-NEXT: Type: Section 59// CHECK-NEXT: Other: 0 60// CHECK-NEXT: Section: .data 61// CHECK-NEXT: } 62// CHECK-NEXT: Symbol { 63// CHECK-NEXT: Name: .bss 64// CHECK-NEXT: Value: 0x0 65// CHECK-NEXT: Size: 0 66// CHECK-NEXT: Binding: Local 67// CHECK-NEXT: Type: Section 68// CHECK-NEXT: Other: 0 69// CHECK-NEXT: Section: .bss 70// CHECK-NEXT: } 71// CHECK-NEXT: Symbol { 72// CHECK-NEXT: Name: .rodata.str1.1 73// CHECK-NEXT: Value: 0x0 74// CHECK-NEXT: Size: 0 75// CHECK-NEXT: Binding: Local 76// CHECK-NEXT: Type: Section 77// CHECK-NEXT: Other: 0 78// CHECK-NEXT: Section: .rodata.str1.1 79// CHECK-NEXT: } 80// CHECK-NEXT: Symbol { 81// CHECK-NEXT: Name: .Lsym1 82// CHECK-NEXT: Value: 0x0 83// CHECK-NEXT: Size: 0 84// CHECK-NEXT: Binding: Global 85// CHECK-NEXT: Type: None 86// CHECK-NEXT: Other: 0 87// CHECK-NEXT: Section: Undefined 88// CHECK-NEXT: } 89// CHECK-NEXT: Symbol { 90// CHECK-NEXT: Name: sym6 91// CHECK-NEXT: Value: 0x0 92// CHECK-NEXT: Size: 0 93// CHECK-NEXT: Binding: Global 94// CHECK-NEXT: Type: Object 95// CHECK-NEXT: Other: 0 96// CHECK-NEXT: Section: Undefined 97// CHECK-NEXT: } 98// CHECK-NEXT: ] 99