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