1@ RUN: llvm-mc -filetype=obj -triple arm-none-linux-gnueabi %s -o - | llvm-readobj -r --symbols - | FileCheck %s
2@ RUN: llvm-mc -filetype=obj -triple thumb-none-linux-gnueabi %s -o - | llvm-readobj -r --symbols - | FileCheck %s
3
4defined1:
5defined2:
6defined3:
7        .symver defined1, bar1@zed
8        .symver undefined1, bar2@zed
9
10        .symver defined2, bar3@@zed
11
12        .symver defined3, bar5@@@zed
13        .symver undefined3, bar6@@@zed
14
15        .long defined1
16        .long undefined1
17        .long defined2
18        .long defined3
19        .long undefined3
20
21        .global global1
22        .symver global1, g1@@zed
23global1:
24
25@ CHECK: Relocations [
26@ CHECK-NEXT:   Section {{.*}} .rel.text {
27@ CHECK-NEXT:     0x0 R_ARM_ABS32 .text 0x0
28@ CHECK-NEXT:     0x4 R_ARM_ABS32 bar2@zed 0x0
29@ CHECK-NEXT:     0x8 R_ARM_ABS32 .text 0x0
30@ CHECK-NEXT:     0xC R_ARM_ABS32 .text 0x0
31@ CHECK-NEXT:     0x10 R_ARM_ABS32 bar6@zed 0x0
32@ CHECK-NEXT:   }
33@ CHECK-NEXT: ]
34
35@ CHECK:  Symbol {
36@ CHECK:    Name: bar1@zed
37@ CHECK-NEXT:     Value: 0x0
38@ CHECK-NEXT:     Size: 0
39@ CHECK-NEXT:     Binding: Local (0x0)
40@ CHECK-NEXT:     Type: None (0x0)
41@ CHECK-NEXT:     Other: 0
42@ CHECK-NEXT:     Section: .text
43@ CHECK-NEXT:   }
44@ CHECK-NEXT:   Symbol {
45@ CHECK-NEXT:     Name: bar3@@zed
46@ CHECK-NEXT:     Value: 0x0
47@ CHECK-NEXT:     Size: 0
48@ CHECK-NEXT:     Binding: Local (0x0)
49@ CHECK-NEXT:     Type: None (0x0)
50@ CHECK-NEXT:     Other: 0
51@ CHECK-NEXT:     Section: .text
52@ CHECK-NEXT:   }
53@ CHECK-NEXT:   Symbol {
54@ CHECK-NEXT:     Name: bar5@@zed
55@ CHECK-NEXT:     Value: 0x0
56@ CHECK-NEXT:     Size: 0
57@ CHECK-NEXT:     Binding: Local (0x0)
58@ CHECK-NEXT:     Type: None (0x0)
59@ CHECK-NEXT:     Other: 0
60@ CHECK-NEXT:     Section: .text
61@ CHECK-NEXT:   }
62@ CHECK-NEXT:   Symbol {
63@ CHECK-NEXT:     Name: defined1
64@ CHECK-NEXT:     Value: 0x0
65@ CHECK-NEXT:     Size: 0
66@ CHECK-NEXT:     Binding: Local (0x0)
67@ CHECK-NEXT:     Type: None (0x0)
68@ CHECK-NEXT:     Other: 0
69@ CHECK-NEXT:     Section: .text
70@ CHECK-NEXT:   }
71@ CHECK-NEXT:   Symbol {
72@ CHECK-NEXT:     Name: defined2
73@ CHECK-NEXT:     Value: 0x0
74@ CHECK-NEXT:     Size: 0
75@ CHECK-NEXT:     Binding: Local (0x0)
76@ CHECK-NEXT:     Type: None (0x0)
77@ CHECK-NEXT:     Other: 0
78@ CHECK-NEXT:     Section: .text
79@ CHECK-NEXT:   }
80@ CHECK-NEXT:   Symbol {
81@ CHECK-NEXT:     Name: .text (0)
82@ CHECK-NEXT:     Value: 0x0
83@ CHECK-NEXT:     Size: 0
84@ CHECK-NEXT:     Binding: Local (0x0)
85@ CHECK-NEXT:     Type: Section (0x3)
86@ CHECK-NEXT:     Other: 0
87@ CHECK-NEXT:     Section: .text
88@ CHECK-NEXT:   }
89@ CHECK-NEXT:   Symbol {
90@ CHECK-NEXT:     Name: bar2@zed
91@ CHECK-NEXT:     Value: 0x0
92@ CHECK-NEXT:     Size: 0
93@ CHECK-NEXT:     Binding: Global (0x1)
94@ CHECK-NEXT:     Type: None (0x0)
95@ CHECK-NEXT:     Other: 0
96@ CHECK-NEXT:     Section: Undefined (0x0)
97@ CHECK-NEXT:   }
98@ CHECK-NEXT:   Symbol {
99@ CHECK-NEXT:     Name: bar6@zed
100@ CHECK-NEXT:     Value: 0x0
101@ CHECK-NEXT:     Size: 0
102@ CHECK-NEXT:     Binding: Global (0x1)
103@ CHECK-NEXT:     Type: None (0x0)
104@ CHECK-NEXT:     Other: 0
105@ CHECK-NEXT:     Section: Undefined (0x0)
106@ CHECK-NEXT:   }
107@ CHECK-NEXT:   Symbol {
108@ CHECK-NEXT:     Name: g1@@zed
109@ CHECK-NEXT:     Value: 0x14
110@ CHECK-NEXT:     Size: 0
111@ CHECK-NEXT:     Binding: Global (0x1)
112@ CHECK-NEXT:     Type: None (0x0)
113@ CHECK-NEXT:     Other: 0
114@ CHECK-NEXT:     Section: .text
115@ CHECK-NEXT:   }
116@ CHECK-NEXT:   Symbol {
117@ CHECK-NEXT:     Name: global1
118@ CHECK-NEXT:     Value: 0x14
119@ CHECK-NEXT:     Size: 0
120@ CHECK-NEXT:     Binding: Global (0x1)
121@ CHECK-NEXT:     Type: None (0x0)
122@ CHECK-NEXT:     Other: 0
123@ CHECK-NEXT:     Section: .text
124@ CHECK-NEXT:   }
125@ CHECK-NEXT: ]
126