1f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
2737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindola
3737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindolafoo:
4737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindolabar = foo
5737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindola
601f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola        .globl	foo2
701f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindolafoo2 = bar2
801f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola
901f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindolafoo3:
1001f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola	.globl	bar3
1101f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindolabar3 = foo3
1201f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola
1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// Test that bar4  and bar 5 are also functions and have the same value as foo4.
1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.byte 0
1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.type	foo4,@function
17152c1061e0b4ad379eec5fa38ee0091fc11ff936Rafael Espindolafoo4:
18152c1061e0b4ad379eec5fa38ee0091fc11ff936Rafael Espindolabar4 = foo4
1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesbar5 = bar4
20152c1061e0b4ad379eec5fa38ee0091fc11ff936Rafael Espindola
21d179886f0595eb3564a9edfdfff79def130d89ccRafael Espindola        .long foo2
22f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck
23f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK:      Symbols [
24f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
25c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:     Name:  (0)
26c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:     Value: 0x0
27c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:     Size: 0
28c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:     Binding: Local (0x0)
29c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:     Type: None (0x0)
30c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:     Other: 0
3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Section: Undefined (0x0)
32c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:   }
33c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT:   Symbol {
34f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: bar
35f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Value: 0x0
36f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Size: 0
37f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Binding: Local
38f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Type: None
39f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Other: 0
40f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Section: .text
41f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   }
42f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
43f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: bar4
4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Value: 0x1
4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Size: 0
4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Binding: Local
4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Type: Function
4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Other: 0
4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Section: .text
5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:   }
5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:   Symbol {
5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Name: bar5
5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Value: 0x1
54f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Size: 0
55f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Binding: Local
56f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Type: Function
57f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Other: 0
58f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Section: .text
59f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   }
60f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
61f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: foo
62f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Value: 0x0
63f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Size: 0
64f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Binding: Local
65f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Type: None
66f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Other: 0
67f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Section: .text
68f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   }
69f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
70f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: foo3
71f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Value: 0x0
72f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Size: 0
73f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Binding: Local
74f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Type: None
75f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Other: 0
76f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Section: .text
77f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   }
78f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
79f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: foo4
8036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Value: 0x1
81f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Size: 0
82f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Binding: Local
83f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Type: Function
84f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Other: 0
85f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Section: .text
86f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   }
87f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
88f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: .text (0)
89f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK:        }
90f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
91f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: .data (0)
92f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK:        }
93f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
94f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: .bss (0)
95f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK:        }
96f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
97f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: bar3
98f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Value: 0x0
99f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Size: 0
100f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Binding: Global
101f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Type: None
102f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Other: 0
103f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Section: .text
104f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   }
105f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   Symbol {
106f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Name: bar2
107f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Value: 0x0
108f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Size: 0
109f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Binding: Global
110f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Type: None
111f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:     Other: 0
11236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT:     Section: Undefined (0x0)
113f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT:   }
114f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: ]
115