1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump | FileCheck %s 2 3 defined1: 4 defined2: 5 defined3: 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 20 .global global1 21 .symver global1, g1@@zed 22 global1: 23 24 25 // CHECK: # Relocation 0 26 // CHECK-NEXT: (('r_offset', 0x0000000000000000) 27 // CHECK-NEXT: ('r_sym', 0x00000006) 28 // CHECK-NEXT: ('r_type', 0x0000000a) 29 // CHECK-NEXT: ('r_addend', 0x0000000000000000) 30 // CHECK-NEXT: ), 31 // CHECK-NEXT: # Relocation 1 32 // CHECK-NEXT: (('r_offset', 0x0000000000000004) 33 // CHECK-NEXT: ('r_sym', 0x0000000b) 34 // CHECK-NEXT: ('r_type', 0x0000000a) 35 // CHECK-NEXT: ('r_addend', 0x0000000000000000) 36 // CHECK-NEXT: ), 37 // CHECK-NEXT: # Relocation 2 38 // CHECK-NEXT: (('r_offset', 0x0000000000000008) 39 // CHECK-NEXT: ('r_sym', 0x00000006) 40 // CHECK-NEXT: ('r_type', 0x0000000a) 41 // CHECK-NEXT: ('r_addend', 0x0000000000000000) 42 // CHECK-NEXT: ), 43 // CHECK-NEXT: # Relocation 3 44 // CHECK-NEXT: (('r_offset', 0x000000000000000c) 45 // CHECK-NEXT: ('r_sym', 0x00000006) 46 // CHECK-NEXT: ('r_type', 0x0000000a) 47 // CHECK-NEXT: ('r_addend', 0x0000000000000000) 48 // CHECK-NEXT: ), 49 // CHECK-NEXT: # Relocation 4 50 // CHECK-NEXT: (('r_offset', 0x0000000000000010) 51 // CHECK-NEXT: ('r_sym', 0x0000000c) 52 // CHECK-NEXT: ('r_type', 0x0000000a) 53 // CHECK-NEXT: ('r_addend', 0x0000000000000000) 54 // CHECK-NEXT: ), 55 // CHECK-NEXT:]) 56 57 // CHECK: # Symbol 1 58 // CHECK-NEXT: (('st_name', 0x00000013) # 'bar1@zed' 59 // CHECK-NEXT: ('st_bind', 0x0) 60 // CHECK-NEXT: ('st_type', 0x0) 61 // CHECK-NEXT: ('st_other', 0x00) 62 // CHECK-NEXT: ('st_shndx', 0x0001) 63 // CHECK-NEXT: ('st_value', 0x0000000000000000) 64 // CHECK-NEXT: ('st_size', 0x0000000000000000) 65 // CHECK-NEXT: ), 66 // CHECK-NEXT: # Symbol 2 67 // CHECK-NEXT: (('st_name', 0x00000025) # 'bar3@@zed' 68 // CHECK-NEXT: ('st_bind', 0x0) 69 // CHECK-NEXT: ('st_type', 0x0) 70 // CHECK-NEXT: ('st_other', 0x00) 71 // CHECK-NEXT: ('st_shndx', 0x0001) 72 // CHECK-NEXT: ('st_value', 0x0000000000000000) 73 // CHECK-NEXT: ('st_size', 0x0000000000000000) 74 // CHECK-NEXT: ), 75 // CHECK-NEXT: # Symbol 3 76 // CHECK-NEXT: (('st_name', 0x0000002f) # 'bar5@@zed' 77 // CHECK-NEXT: ('st_bind', 0x0) 78 // CHECK-NEXT: ('st_type', 0x0) 79 // CHECK-NEXT: ('st_other', 0x00) 80 // CHECK-NEXT: ('st_shndx', 0x0001) 81 // CHECK-NEXT: ('st_value', 0x0000000000000000) 82 // CHECK-NEXT: ('st_size', 0x0000000000000000) 83 // CHECK-NEXT: ), 84 // CHECK-NEXT: # Symbol 4 85 // CHECK-NEXT: (('st_name', 0x00000001) # 'defined1' 86 // CHECK-NEXT: ('st_bind', 0x0) 87 // CHECK-NEXT: ('st_type', 0x0) 88 // CHECK-NEXT: ('st_other', 0x00) 89 // CHECK-NEXT: ('st_shndx', 0x0001) 90 // CHECK-NEXT: ('st_value', 0x0000000000000000) 91 // CHECK-NEXT: ('st_size', 0x0000000000000000) 92 // CHECK-NEXT: ), 93 // CHECK-NEXT: # Symbol 5 94 // CHECK-NEXT: (('st_name', 0x0000000a) # 'defined2' 95 // CHECK-NEXT: ('st_bind', 0x0) 96 // CHECK-NEXT: ('st_type', 0x0) 97 // CHECK-NEXT: ('st_other', 0x00) 98 // CHECK-NEXT: ('st_shndx', 0x0001) 99 // CHECK-NEXT: ('st_value', 0x0000000000000000) 100 // CHECK-NEXT: ('st_size', 0x0000000000000000) 101 // CHECK-NEXT: ), 102 // CHECK-NEXT: # Symbol 6 103 // CHECK-NEXT: (('st_name', 0x00000000) # '' 104 // CHECK-NEXT: ('st_bind', 0x0) 105 // CHECK-NEXT: ('st_type', 0x3) 106 // CHECK-NEXT: ('st_other', 0x00) 107 // CHECK-NEXT: ('st_shndx', 0x0001) 108 // CHECK-NEXT: ('st_value', 0x0000000000000000) 109 // CHECK-NEXT: ('st_size', 0x0000000000000000) 110 // CHECK-NEXT: ), 111 // CHECK-NEXT: # Symbol 7 112 // CHECK-NEXT: (('st_name', 0x00000000) # '' 113 // CHECK-NEXT: ('st_bind', 0x0) 114 // CHECK-NEXT: ('st_type', 0x3) 115 // CHECK-NEXT: ('st_other', 0x00) 116 // CHECK-NEXT: ('st_shndx', 0x0003) 117 // CHECK-NEXT: ('st_value', 0x0000000000000000) 118 // CHECK-NEXT: ('st_size', 0x0000000000000000) 119 // CHECK-NEXT: ), 120 // CHECK-NEXT: # Symbol 8 121 // CHECK-NEXT: (('st_name', 0x00000000) # '' 122 // CHECK-NEXT: ('st_bind', 0x0) 123 // CHECK-NEXT: ('st_type', 0x3) 124 // CHECK-NEXT: ('st_other', 0x00) 125 // CHECK-NEXT: ('st_shndx', 0x0004) 126 // CHECK-NEXT: ('st_value', 0x0000000000000000) 127 // CHECK-NEXT: ('st_size', 0x0000000000000000) 128 // CHECK-NEXT: ), 129 // CHECK-NEXT: # Symbol 9 130 // CHECK-NEXT: (('st_name', 0x0000004a) # 'g1@@zed' 131 // CHECK-NEXT: ('st_bind', 0x1) 132 // CHECK-NEXT: ('st_type', 0x0) 133 // CHECK-NEXT: ('st_other', 0x00) 134 // CHECK-NEXT: ('st_shndx', 0x0001) 135 // CHECK-NEXT: ('st_value', 0x0000000000000014) 136 // CHECK-NEXT: ('st_size', 0x0000000000000000) 137 // CHECK-NEXT: ), 138 // CHECK-NEXT: # Symbol 10 139 // CHECK-NEXT: (('st_name', 0x00000042) # 'global1' 140 // CHECK-NEXT: ('st_bind', 0x1) 141 // CHECK-NEXT: ('st_type', 0x0) 142 // CHECK-NEXT: ('st_other', 0x00) 143 // CHECK-NEXT: ('st_shndx', 0x0001) 144 // CHECK-NEXT: ('st_value', 0x0000000000000014) 145 // CHECK-NEXT: ('st_size', 0x0000000000000000) 146 // CHECK-NEXT: ), 147 // CHECK-NEXT: # Symbol 11 148 // CHECK-NEXT: (('st_name', 0x0000001c) # 'bar2@zed' 149 // CHECK-NEXT: ('st_bind', 0x1) 150 // CHECK-NEXT: ('st_type', 0x0) 151 // CHECK-NEXT: ('st_other', 0x00) 152 // CHECK-NEXT: ('st_shndx', 0x0000) 153 // CHECK-NEXT: ('st_value', 0x0000000000000000) 154 // CHECK-NEXT: ('st_size', 0x0000000000000000) 155 // CHECK-NEXT: ), 156 // CHECK-NEXT: # Symbol 12 157 // CHECK-NEXT: (('st_name', 0x00000039) # 'bar6@zed' 158 // CHECK-NEXT: ('st_bind', 0x1) 159 // CHECK-NEXT: ('st_type', 0x0) 160 // CHECK-NEXT: ('st_other', 0x00) 161 // CHECK-NEXT: ('st_shndx', 0x0000) 162 // CHECK-NEXT: ('st_value', 0x0000000000000000) 163 // CHECK-NEXT: ('st_size', 0x0000000000000000) 164 // CHECK-NEXT: ), 165 // CHECK-NEXT:]) 166