1// 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 20 .global global1 21 .symver global1, g1@@zed 22global1: 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