1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s 2 3foo: 4bar = foo 5 6 .globl foo2 7foo2 = bar2 8 9foo3: 10 .globl bar3 11bar3 = foo3 12 13 14// Test that bar4 and bar 5 are also functions and have the same value as foo4. 15 .byte 0 16 .type foo4,@function 17foo4: 18bar4 = foo4 19bar5 = bar4 20 21 .long foo2 22 23// CHECK: Symbols [ 24// CHECK-NEXT: Symbol { 25// CHECK-NEXT: Name: (0) 26// CHECK-NEXT: Value: 0x0 27// CHECK-NEXT: Size: 0 28// CHECK-NEXT: Binding: Local (0x0) 29// CHECK-NEXT: Type: None (0x0) 30// CHECK-NEXT: Other: 0 31// CHECK-NEXT: Section: Undefined (0x0) 32// CHECK-NEXT: } 33// CHECK-NEXT: Symbol { 34// CHECK-NEXT: Name: bar 35// CHECK-NEXT: Value: 0x0 36// CHECK-NEXT: Size: 0 37// CHECK-NEXT: Binding: Local 38// CHECK-NEXT: Type: None 39// CHECK-NEXT: Other: 0 40// CHECK-NEXT: Section: .text 41// CHECK-NEXT: } 42// CHECK-NEXT: Symbol { 43// CHECK-NEXT: Name: bar4 44// CHECK-NEXT: Value: 0x1 45// CHECK-NEXT: Size: 0 46// CHECK-NEXT: Binding: Local 47// CHECK-NEXT: Type: Function 48// CHECK-NEXT: Other: 0 49// CHECK-NEXT: Section: .text 50// CHECK-NEXT: } 51// CHECK-NEXT: Symbol { 52// CHECK-NEXT: Name: bar5 53// CHECK-NEXT: Value: 0x1 54// CHECK-NEXT: Size: 0 55// CHECK-NEXT: Binding: Local 56// CHECK-NEXT: Type: Function 57// CHECK-NEXT: Other: 0 58// CHECK-NEXT: Section: .text 59// CHECK-NEXT: } 60// CHECK-NEXT: Symbol { 61// CHECK-NEXT: Name: foo 62// CHECK-NEXT: Value: 0x0 63// CHECK-NEXT: Size: 0 64// CHECK-NEXT: Binding: Local 65// CHECK-NEXT: Type: None 66// CHECK-NEXT: Other: 0 67// CHECK-NEXT: Section: .text 68// CHECK-NEXT: } 69// CHECK-NEXT: Symbol { 70// CHECK-NEXT: Name: foo3 71// CHECK-NEXT: Value: 0x0 72// CHECK-NEXT: Size: 0 73// CHECK-NEXT: Binding: Local 74// CHECK-NEXT: Type: None 75// CHECK-NEXT: Other: 0 76// CHECK-NEXT: Section: .text 77// CHECK-NEXT: } 78// CHECK-NEXT: Symbol { 79// CHECK-NEXT: Name: foo4 80// CHECK-NEXT: Value: 0x1 81// CHECK-NEXT: Size: 0 82// CHECK-NEXT: Binding: Local 83// CHECK-NEXT: Type: Function 84// CHECK-NEXT: Other: 0 85// CHECK-NEXT: Section: .text 86// CHECK-NEXT: } 87// CHECK-NEXT: Symbol { 88// CHECK-NEXT: Name: .text (0) 89// CHECK: } 90// CHECK-NEXT: Symbol { 91// CHECK-NEXT: Name: .data (0) 92// CHECK: } 93// CHECK-NEXT: Symbol { 94// CHECK-NEXT: Name: .bss (0) 95// CHECK: } 96// CHECK-NEXT: Symbol { 97// CHECK-NEXT: Name: bar3 98// CHECK-NEXT: Value: 0x0 99// CHECK-NEXT: Size: 0 100// CHECK-NEXT: Binding: Global 101// CHECK-NEXT: Type: None 102// CHECK-NEXT: Other: 0 103// CHECK-NEXT: Section: .text 104// CHECK-NEXT: } 105// CHECK-NEXT: Symbol { 106// CHECK-NEXT: Name: bar2 107// CHECK-NEXT: Value: 0x0 108// CHECK-NEXT: Size: 0 109// CHECK-NEXT: Binding: Global 110// CHECK-NEXT: Type: None 111// CHECK-NEXT: Other: 0 112// CHECK-NEXT: Section: Undefined (0x0) 113// CHECK-NEXT: } 114// CHECK-NEXT: ] 115