| // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s |
| |
| foo: |
| bar = foo |
| |
| .globl foo2 |
| foo2 = bar2 |
| |
| foo3: |
| .globl bar3 |
| bar3 = foo3 |
| |
| |
| // Test that bar4 and bar 5 are also functions and have the same value as foo4. |
| .byte 0 |
| .type foo4,@function |
| foo4: |
| bar4 = foo4 |
| bar5 = bar4 |
| |
| .long foo2 |
| |
| // CHECK: Symbols [ |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: (0) |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local (0x0) |
| // CHECK-NEXT: Type: None (0x0) |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: Undefined (0x0) |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: bar |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .text |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: bar4 |
| // CHECK-NEXT: Value: 0x1 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: Function |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .text |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: bar5 |
| // CHECK-NEXT: Value: 0x1 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: Function |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .text |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: foo |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .text |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: foo3 |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .text |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: foo4 |
| // CHECK-NEXT: Value: 0x1 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Local |
| // CHECK-NEXT: Type: Function |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .text |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: .text (0) |
| // CHECK: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: .data (0) |
| // CHECK: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: .bss (0) |
| // CHECK: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: bar3 |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Global |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: .text |
| // CHECK-NEXT: } |
| // CHECK-NEXT: Symbol { |
| // CHECK-NEXT: Name: bar2 |
| // CHECK-NEXT: Value: 0x0 |
| // CHECK-NEXT: Size: 0 |
| // CHECK-NEXT: Binding: Global |
| // CHECK-NEXT: Type: None |
| // CHECK-NEXT: Other: 0 |
| // CHECK-NEXT: Section: Undefined (0x0) |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |