| // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj --symbols - | FileCheck %s |
| |
| // Test which symbols should be in the symbol table |
| |
| .Lsym2: |
| .Lsym3: |
| .Lsym4 = .Lsym2 - .Lsym3 |
| .long .Lsym4 |
| |
| .type .Lsym5,@object |
| .type sym6,@object |
| .long sym6 |
| |
| .section .rodata.str1.1,"aMS",@progbits,1 |
| .Lsym7: |
| .Lsym8: |
| |
| .text |
| movsd .Lsym8(%rip), %xmm1 |
| |
| .hidden hidden |
| |
| test2_a = undef |
| test2_b = undef + 1 |
| |
| // CHECK: Symbols [ |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: (0) |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: Undefined |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: .Lsym8 |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .rodata.str1.1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: hidden |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Global |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other [ |
| // CHECK-NEXT: STV_HIDDEN |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: Section: Undefined |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: sym6 |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Global |
| // CHECK-NEXT: Type: Object |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: Undefined |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: undef |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Global |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: Undefined |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |