xref: /minix/external/bsd/llvm/dist/llvm/test/MC/ELF/alias.s (revision 0a6a1f1d)
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// Test that bar6 is a function that doesn't have the same value as foo4.
24bar6 = bar5
25bar6:
26
27// CHECK:      Symbols [
28// CHECK-NEXT:   Symbol {
29// CHECK-NEXT:     Name:  (0)
30// CHECK-NEXT:     Value: 0x0
31// CHECK-NEXT:     Size: 0
32// CHECK-NEXT:     Binding: Local (0x0)
33// CHECK-NEXT:     Type: None (0x0)
34// CHECK-NEXT:     Other: 0
35// CHECK-NEXT:     Section: Undefined (0x0)
36// CHECK-NEXT:   }
37// CHECK-NEXT:   Symbol {
38// CHECK-NEXT:     Name: bar
39// CHECK-NEXT:     Value: 0x0
40// CHECK-NEXT:     Size: 0
41// CHECK-NEXT:     Binding: Local
42// CHECK-NEXT:     Type: None
43// CHECK-NEXT:     Other: 0
44// CHECK-NEXT:     Section: .text
45// CHECK-NEXT:   }
46// CHECK-NEXT:   Symbol {
47// CHECK-NEXT:     Name: bar4
48// CHECK-NEXT:     Value: 0x1
49// CHECK-NEXT:     Size: 0
50// CHECK-NEXT:     Binding: Local
51// CHECK-NEXT:     Type: Function
52// CHECK-NEXT:     Other: 0
53// CHECK-NEXT:     Section: .text
54// CHECK-NEXT:   }
55// CHECK-NEXT:   Symbol {
56// CHECK-NEXT:     Name: bar5
57// CHECK-NEXT:     Value: 0x1
58// CHECK-NEXT:     Size: 0
59// CHECK-NEXT:     Binding: Local
60// CHECK-NEXT:     Type: Function
61// CHECK-NEXT:     Other: 0
62// CHECK-NEXT:     Section: .text
63// CHECK-NEXT:   }
64// CHECK-NEXT:   Symbol {
65// CHECK-NEXT:     Name: bar6
66// CHECK-NEXT:     Value: 0x5
67// CHECK-NEXT:     Size: 0
68// CHECK-NEXT:     Binding: Local
69// CHECK-NEXT:     Type: None
70// CHECK-NEXT:     Other: 0
71// CHECK-NEXT:     Section: .text
72// CHECK-NEXT:   }
73// CHECK-NEXT:   Symbol {
74// CHECK-NEXT:     Name: foo
75// CHECK-NEXT:     Value: 0x0
76// CHECK-NEXT:     Size: 0
77// CHECK-NEXT:     Binding: Local
78// CHECK-NEXT:     Type: None
79// CHECK-NEXT:     Other: 0
80// CHECK-NEXT:     Section: .text
81// CHECK-NEXT:   }
82// CHECK-NEXT:   Symbol {
83// CHECK-NEXT:     Name: foo3
84// CHECK-NEXT:     Value: 0x0
85// CHECK-NEXT:     Size: 0
86// CHECK-NEXT:     Binding: Local
87// CHECK-NEXT:     Type: None
88// CHECK-NEXT:     Other: 0
89// CHECK-NEXT:     Section: .text
90// CHECK-NEXT:   }
91// CHECK-NEXT:   Symbol {
92// CHECK-NEXT:     Name: foo4
93// CHECK-NEXT:     Value: 0x1
94// CHECK-NEXT:     Size: 0
95// CHECK-NEXT:     Binding: Local
96// CHECK-NEXT:     Type: Function
97// CHECK-NEXT:     Other: 0
98// CHECK-NEXT:     Section: .text
99// CHECK-NEXT:   }
100// CHECK-NEXT:   Symbol {
101// CHECK-NEXT:     Name: .text (0)
102// CHECK:        }
103// CHECK-NEXT:   Symbol {
104// CHECK-NEXT:     Name: .data (0)
105// CHECK:        }
106// CHECK-NEXT:   Symbol {
107// CHECK-NEXT:     Name: .bss (0)
108// CHECK:        }
109// CHECK-NEXT:   Symbol {
110// CHECK-NEXT:     Name: bar3
111// CHECK-NEXT:     Value: 0x0
112// CHECK-NEXT:     Size: 0
113// CHECK-NEXT:     Binding: Global
114// CHECK-NEXT:     Type: None
115// CHECK-NEXT:     Other: 0
116// CHECK-NEXT:     Section: .text
117// CHECK-NEXT:   }
118// CHECK-NEXT:   Symbol {
119// CHECK-NEXT:     Name: bar2
120// CHECK-NEXT:     Value: 0x0
121// CHECK-NEXT:     Size: 0
122// CHECK-NEXT:     Binding: Global
123// CHECK-NEXT:     Type: None
124// CHECK-NEXT:     Other: 0
125// CHECK-NEXT:     Section: Undefined (0x0)
126// CHECK-NEXT:   }
127// CHECK-NEXT: ]
128