blob: 2dfa058ab086ee68e53a4ddae7659dcfe240d490 [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 Espindolaf7179de2011-08-04 14:01:03 +000025// CHECK: # Relocation 0
Rafael Espindola5c4e52e2011-08-04 17:00:11 +000026// CHECK-NEXT: (('r_offset', 0x0000000000000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000027// CHECK-NEXT: ('r_sym', 0x00000006)
28// CHECK-NEXT: ('r_type', 0x0000000a)
Rafael Espindolad7c9b632011-08-04 13:00:24 +000029// CHECK-NEXT: ('r_addend', 0x0000000000000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000030// CHECK-NEXT: ),
Rafael Espindolaf7179de2011-08-04 14:01:03 +000031// CHECK-NEXT: # Relocation 1
Rafael Espindola5c4e52e2011-08-04 17:00:11 +000032// CHECK-NEXT: (('r_offset', 0x0000000000000004)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000033// CHECK-NEXT: ('r_sym', 0x0000000b)
34// CHECK-NEXT: ('r_type', 0x0000000a)
Rafael Espindolad7c9b632011-08-04 13:00:24 +000035// CHECK-NEXT: ('r_addend', 0x0000000000000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000036// CHECK-NEXT: ),
Rafael Espindolaf7179de2011-08-04 14:01:03 +000037// CHECK-NEXT: # Relocation 2
Rafael Espindola5c4e52e2011-08-04 17:00:11 +000038// CHECK-NEXT: (('r_offset', 0x0000000000000008)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000039// CHECK-NEXT: ('r_sym', 0x00000006)
40// CHECK-NEXT: ('r_type', 0x0000000a)
Rafael Espindolad7c9b632011-08-04 13:00:24 +000041// CHECK-NEXT: ('r_addend', 0x0000000000000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000042// CHECK-NEXT: ),
Rafael Espindolaf7179de2011-08-04 14:01:03 +000043// CHECK-NEXT: # Relocation 3
Rafael Espindola5c4e52e2011-08-04 17:00:11 +000044// CHECK-NEXT: (('r_offset', 0x000000000000000c)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000045// CHECK-NEXT: ('r_sym', 0x00000006)
46// CHECK-NEXT: ('r_type', 0x0000000a)
Rafael Espindolad7c9b632011-08-04 13:00:24 +000047// CHECK-NEXT: ('r_addend', 0x0000000000000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000048// CHECK-NEXT: ),
Rafael Espindolaf7179de2011-08-04 14:01:03 +000049// CHECK-NEXT: # Relocation 4
Rafael Espindola5c4e52e2011-08-04 17:00:11 +000050// CHECK-NEXT: (('r_offset', 0x0000000000000010)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000051// CHECK-NEXT: ('r_sym', 0x0000000c)
52// CHECK-NEXT: ('r_type', 0x0000000a)
Rafael Espindolad7c9b632011-08-04 13:00:24 +000053// CHECK-NEXT: ('r_addend', 0x0000000000000000)
Rafael Espindola7c18fa82011-03-20 18:44:20 +000054// CHECK-NEXT: ),
55// CHECK-NEXT:])
56
Rafael Espindola65ad8dc2011-08-04 14:27:46 +000057// CHECK: # Symbol 1
Rafael Espindola88182132010-10-27 15:18:17 +000058// CHECK-NEXT: (('st_name', 0x00000013) # 'bar1@zed'
Rafael Espindolad7c27832011-08-04 15:10:35 +000059// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +000060// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +000061// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +000062// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +000066// CHECK-NEXT: # Symbol 2
Rafael Espindola88182132010-10-27 15:18:17 +000067// CHECK-NEXT: (('st_name', 0x00000025) # 'bar3@@zed'
Rafael Espindolad7c27832011-08-04 15:10:35 +000068// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +000069// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +000070// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +000071// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +000075// CHECK-NEXT: # Symbol 3
Rafael Espindola88182132010-10-27 15:18:17 +000076// CHECK-NEXT: (('st_name', 0x0000002f) # 'bar5@@zed'
Rafael Espindolad7c27832011-08-04 15:10:35 +000077// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +000078// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +000079// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +000080// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +000084// CHECK-NEXT: # Symbol 4
Rafael Espindola88182132010-10-27 15:18:17 +000085// CHECK-NEXT: (('st_name', 0x00000001) # 'defined1'
Rafael Espindolad7c27832011-08-04 15:10:35 +000086// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +000087// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +000088// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +000089// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +000093// CHECK-NEXT: # Symbol 5
Rafael Espindola88182132010-10-27 15:18:17 +000094// CHECK-NEXT: (('st_name', 0x0000000a) # 'defined2'
Rafael Espindolad7c27832011-08-04 15:10:35 +000095// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +000096// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +000097// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +000098// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +0000102// CHECK-NEXT: # Symbol 6
Rafael Espindola88182132010-10-27 15:18:17 +0000103// CHECK-NEXT: (('st_name', 0x00000000) # ''
Rafael Espindolad7c27832011-08-04 15:10:35 +0000104// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +0000105// CHECK-NEXT: ('st_type', 0x3)
Rafael Espindola67ac0c02011-08-04 15:38:19 +0000106// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +0000107// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +0000111// CHECK-NEXT: # Symbol 7
Rafael Espindola88182132010-10-27 15:18:17 +0000112// CHECK-NEXT: (('st_name', 0x00000000) # ''
Rafael Espindolad7c27832011-08-04 15:10:35 +0000113// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +0000114// CHECK-NEXT: ('st_type', 0x3)
Rafael Espindola67ac0c02011-08-04 15:38:19 +0000115// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +0000116// CHECK-NEXT: ('st_shndx', 0x0003)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +0000120// CHECK-NEXT: # Symbol 8
Rafael Espindola88182132010-10-27 15:18:17 +0000121// CHECK-NEXT: (('st_name', 0x00000000) # ''
Rafael Espindolad7c27832011-08-04 15:10:35 +0000122// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +0000123// CHECK-NEXT: ('st_type', 0x3)
Rafael Espindola67ac0c02011-08-04 15:38:19 +0000124// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +0000125// CHECK-NEXT: ('st_shndx', 0x0004)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +0000129// CHECK-NEXT: # Symbol 9
Rafael Espindolaf571f9a2010-10-28 18:33:03 +0000130// CHECK-NEXT: (('st_name', 0x0000004a) # 'g1@@zed'
Rafael Espindolad7c27832011-08-04 15:10:35 +0000131// CHECK-NEXT: ('st_bind', 0x1)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +0000132// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +0000133// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +0000134// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +0000138// CHECK-NEXT: # Symbol 10
Rafael Espindolaf571f9a2010-10-28 18:33:03 +0000139// CHECK-NEXT: (('st_name', 0x00000042) # 'global1'
Rafael Espindolad7c27832011-08-04 15:10:35 +0000140// CHECK-NEXT: ('st_bind', 0x1)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +0000141// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +0000142// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +0000143// CHECK-NEXT: ('st_shndx', 0x0001)
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: ),
Rafael Espindola65ad8dc2011-08-04 14:27:46 +0000147// CHECK-NEXT: # Symbol 11
Rafael Espindola88182132010-10-27 15:18:17 +0000148// CHECK-NEXT: (('st_name', 0x0000001c) # 'bar2@zed'
Rafael Espindolad7c27832011-08-04 15:10:35 +0000149// CHECK-NEXT: ('st_bind', 0x1)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +0000150// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +0000151// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +0000152// CHECK-NEXT: ('st_shndx', 0x0000)
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 Espindola65ad8dc2011-08-04 14:27:46 +0000156// CHECK-NEXT: # Symbol 12
Rafael Espindola88182132010-10-27 15:18:17 +0000157// CHECK-NEXT: (('st_name', 0x00000039) # 'bar6@zed'
Rafael Espindolad7c27832011-08-04 15:10:35 +0000158// CHECK-NEXT: ('st_bind', 0x1)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +0000159// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +0000160// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +0000161// CHECK-NEXT: ('st_shndx', 0x0000)
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:])