Home | History | Annotate | Download | only in ELF
      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