blob: d945c826d74f9fde8ae20fdb87164310a18f17f1 [file] [log] [blame]
Rafael Espindola88182132010-10-27 15:18:17 +00001// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump | FileCheck %s
2
3defined1:
4defined2:
5defined3:
6 .symver defined1, bar1@zed
7 .symver undefined1, bar2@zed
8
9 .symver defined2, bar3@@zed
10
11 .symver defined3, bar5@@@zed
12 .symver undefined3, bar6@@@zed
13
14 .long defined1
15 .long undefined1
16 .long defined2
17 .long defined3
18 .long undefined3
19
Rafael Espindolaf571f9a2010-10-28 18:33:03 +000020 .global global1
21 .symver global1, g1@@zed
22global1:
23
24
Rafael Espindola7c18fa82011-03-20 18:44:20 +000025// CHECK: # Relocation 0x00000000
26// CHECK-NEXT: (('r_offset', 0x00000000)
27// CHECK-NEXT: ('r_sym', 0x00000006)
28// CHECK-NEXT: ('r_type', 0x0000000a)
29// CHECK-NEXT: ('r_addend', 0x00000000)
30// CHECK-NEXT: ),
31// CHECK-NEXT: # Relocation 0x00000001
32// CHECK-NEXT: (('r_offset', 0x00000004)
33// CHECK-NEXT: ('r_sym', 0x0000000b)
34// CHECK-NEXT: ('r_type', 0x0000000a)
35// CHECK-NEXT: ('r_addend', 0x00000000)
36// CHECK-NEXT: ),
37// CHECK-NEXT: # Relocation 0x00000002
38// CHECK-NEXT: (('r_offset', 0x00000008)
39// CHECK-NEXT: ('r_sym', 0x00000006)
40// CHECK-NEXT: ('r_type', 0x0000000a)
41// CHECK-NEXT: ('r_addend', 0x00000000)
42// CHECK-NEXT: ),
43// CHECK-NEXT: # Relocation 0x00000003
44// CHECK-NEXT: (('r_offset', 0x0000000c)
45// CHECK-NEXT: ('r_sym', 0x00000006)
46// CHECK-NEXT: ('r_type', 0x0000000a)
47// CHECK-NEXT: ('r_addend', 0x00000000)
48// CHECK-NEXT: ),
49// CHECK-NEXT: # Relocation 0x00000004
50// CHECK-NEXT: (('r_offset', 0x00000010)
51// CHECK-NEXT: ('r_sym', 0x0000000c)
52// CHECK-NEXT: ('r_type', 0x0000000a)
53// CHECK-NEXT: ('r_addend', 0x00000000)
54// CHECK-NEXT: ),
55// CHECK-NEXT:])
56
Rafael Espindola88182132010-10-27 15:18:17 +000057// CHECK: # Symbol 0x00000001
58// CHECK-NEXT: (('st_name', 0x00000013) # 'bar1@zed'
59// CHECK-NEXT: ('st_bind', 0x00000000)
60// CHECK-NEXT: ('st_type', 0x00000000)
61// CHECK-NEXT: ('st_other', 0x00000000)
62// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +000063// CHECK-NEXT: ('st_value', 0x0000000000000000)
64// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +000065// CHECK-NEXT: ),
66// CHECK-NEXT: # Symbol 0x00000002
67// CHECK-NEXT: (('st_name', 0x00000025) # 'bar3@@zed'
68// CHECK-NEXT: ('st_bind', 0x00000000)
69// CHECK-NEXT: ('st_type', 0x00000000)
70// CHECK-NEXT: ('st_other', 0x00000000)
71// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +000072// CHECK-NEXT: ('st_value', 0x0000000000000000)
73// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +000074// CHECK-NEXT: ),
75// CHECK-NEXT: # Symbol 0x00000003
76// CHECK-NEXT: (('st_name', 0x0000002f) # 'bar5@@zed'
77// CHECK-NEXT: ('st_bind', 0x00000000)
78// CHECK-NEXT: ('st_type', 0x00000000)
79// CHECK-NEXT: ('st_other', 0x00000000)
80// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +000081// CHECK-NEXT: ('st_value', 0x0000000000000000)
82// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +000083// CHECK-NEXT: ),
84// CHECK-NEXT: # Symbol 0x00000004
85// CHECK-NEXT: (('st_name', 0x00000001) # 'defined1'
86// CHECK-NEXT: ('st_bind', 0x00000000)
87// CHECK-NEXT: ('st_type', 0x00000000)
88// CHECK-NEXT: ('st_other', 0x00000000)
89// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +000090// CHECK-NEXT: ('st_value', 0x0000000000000000)
91// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +000092// CHECK-NEXT: ),
93// CHECK-NEXT: # Symbol 0x00000005
94// CHECK-NEXT: (('st_name', 0x0000000a) # 'defined2'
95// CHECK-NEXT: ('st_bind', 0x00000000)
96// CHECK-NEXT: ('st_type', 0x00000000)
97// CHECK-NEXT: ('st_other', 0x00000000)
98// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +000099// CHECK-NEXT: ('st_value', 0x0000000000000000)
100// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +0000101// CHECK-NEXT: ),
102// CHECK-NEXT: # Symbol 0x00000006
103// CHECK-NEXT: (('st_name', 0x00000000) # ''
104// CHECK-NEXT: ('st_bind', 0x00000000)
105// CHECK-NEXT: ('st_type', 0x00000003)
106// CHECK-NEXT: ('st_other', 0x00000000)
107// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +0000108// CHECK-NEXT: ('st_value', 0x0000000000000000)
109// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +0000110// CHECK-NEXT: ),
111// CHECK-NEXT: # Symbol 0x00000007
112// CHECK-NEXT: (('st_name', 0x00000000) # ''
113// CHECK-NEXT: ('st_bind', 0x00000000)
114// CHECK-NEXT: ('st_type', 0x00000003)
115// CHECK-NEXT: ('st_other', 0x00000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +0000116// CHECK-NEXT: ('st_shndx', 0x00000003)
Roman Divacky1ae3c162010-12-20 20:49:43 +0000117// CHECK-NEXT: ('st_value', 0x0000000000000000)
118// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +0000119// CHECK-NEXT: ),
120// CHECK-NEXT: # Symbol 0x00000008
121// CHECK-NEXT: (('st_name', 0x00000000) # ''
122// CHECK-NEXT: ('st_bind', 0x00000000)
123// CHECK-NEXT: ('st_type', 0x00000003)
124// CHECK-NEXT: ('st_other', 0x00000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +0000125// CHECK-NEXT: ('st_shndx', 0x00000004)
Roman Divacky1ae3c162010-12-20 20:49:43 +0000126// CHECK-NEXT: ('st_value', 0x0000000000000000)
127// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +0000128// CHECK-NEXT: ),
129// CHECK-NEXT: # Symbol 0x00000009
Rafael Espindolaf571f9a2010-10-28 18:33:03 +0000130// CHECK-NEXT: (('st_name', 0x0000004a) # 'g1@@zed'
131// CHECK-NEXT: ('st_bind', 0x00000001)
132// CHECK-NEXT: ('st_type', 0x00000000)
133// CHECK-NEXT: ('st_other', 0x00000000)
134// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +0000135// CHECK-NEXT: ('st_value', 0x0000000000000014)
136// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindolaf571f9a2010-10-28 18:33:03 +0000137// CHECK-NEXT: ),
138// CHECK-NEXT: # Symbol 0x0000000a
139// CHECK-NEXT: (('st_name', 0x00000042) # 'global1'
140// CHECK-NEXT: ('st_bind', 0x00000001)
141// CHECK-NEXT: ('st_type', 0x00000000)
142// CHECK-NEXT: ('st_other', 0x00000000)
143// CHECK-NEXT: ('st_shndx', 0x00000001)
Roman Divacky1ae3c162010-12-20 20:49:43 +0000144// CHECK-NEXT: ('st_value', 0x0000000000000014)
145// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindolaf571f9a2010-10-28 18:33:03 +0000146// CHECK-NEXT: ),
147// CHECK-NEXT: # Symbol 0x0000000b
Rafael Espindola88182132010-10-27 15:18:17 +0000148// CHECK-NEXT: (('st_name', 0x0000001c) # 'bar2@zed'
149// CHECK-NEXT: ('st_bind', 0x00000001)
150// CHECK-NEXT: ('st_type', 0x00000000)
151// CHECK-NEXT: ('st_other', 0x00000000)
152// CHECK-NEXT: ('st_shndx', 0x00000000)
Roman Divacky1ae3c162010-12-20 20:49:43 +0000153// CHECK-NEXT: ('st_value', 0x0000000000000000)
154// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +0000155// CHECK-NEXT: ),
Rafael Espindolaf571f9a2010-10-28 18:33:03 +0000156// CHECK-NEXT: # Symbol 0x0000000c
Rafael Espindola88182132010-10-27 15:18:17 +0000157// CHECK-NEXT: (('st_name', 0x00000039) # 'bar6@zed'
158// CHECK-NEXT: ('st_bind', 0x00000001)
159// CHECK-NEXT: ('st_type', 0x00000000)
160// CHECK-NEXT: ('st_other', 0x00000000)
161// CHECK-NEXT: ('st_shndx', 0x00000000)
Roman Divacky1ae3c162010-12-20 20:49:43 +0000162// CHECK-NEXT: ('st_value', 0x0000000000000000)
163// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindola88182132010-10-27 15:18:17 +0000164// CHECK-NEXT: ),
165// CHECK-NEXT:])