| // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump | FileCheck %s |
| |
| defined1: |
| defined2: |
| defined3: |
| .symver defined1, bar1@zed |
| .symver undefined1, bar2@zed |
| |
| .symver defined2, bar3@@zed |
| |
| .symver defined3, bar5@@@zed |
| .symver undefined3, bar6@@@zed |
| |
| .long defined1 |
| .long undefined1 |
| .long defined2 |
| .long defined3 |
| .long undefined3 |
| |
| .global global1 |
| .symver global1, g1@@zed |
| global1: |
| |
| |
| // CHECK: # Relocation 0 |
| // CHECK-NEXT: (('r_offset', 0x0000000000000000) |
| // CHECK-NEXT: ('r_sym', 0x00000006) |
| // CHECK-NEXT: ('r_type', 0x0000000a) |
| // CHECK-NEXT: ('r_addend', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Relocation 1 |
| // CHECK-NEXT: (('r_offset', 0x0000000000000004) |
| // CHECK-NEXT: ('r_sym', 0x0000000b) |
| // CHECK-NEXT: ('r_type', 0x0000000a) |
| // CHECK-NEXT: ('r_addend', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Relocation 2 |
| // CHECK-NEXT: (('r_offset', 0x0000000000000008) |
| // CHECK-NEXT: ('r_sym', 0x00000006) |
| // CHECK-NEXT: ('r_type', 0x0000000a) |
| // CHECK-NEXT: ('r_addend', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Relocation 3 |
| // CHECK-NEXT: (('r_offset', 0x000000000000000c) |
| // CHECK-NEXT: ('r_sym', 0x00000006) |
| // CHECK-NEXT: ('r_type', 0x0000000a) |
| // CHECK-NEXT: ('r_addend', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Relocation 4 |
| // CHECK-NEXT: (('r_offset', 0x0000000000000010) |
| // CHECK-NEXT: ('r_sym', 0x0000000c) |
| // CHECK-NEXT: ('r_type', 0x0000000a) |
| // CHECK-NEXT: ('r_addend', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT:]) |
| |
| // CHECK: # Symbol 1 |
| // CHECK-NEXT: (('st_name', 0x00000013) # 'bar1@zed' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 2 |
| // CHECK-NEXT: (('st_name', 0x00000025) # 'bar3@@zed' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 3 |
| // CHECK-NEXT: (('st_name', 0x0000002f) # 'bar5@@zed' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 4 |
| // CHECK-NEXT: (('st_name', 0x00000001) # 'defined1' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 5 |
| // CHECK-NEXT: (('st_name', 0x0000000a) # 'defined2' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 6 |
| // CHECK-NEXT: (('st_name', 0x00000000) # '' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x3) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 7 |
| // CHECK-NEXT: (('st_name', 0x00000000) # '' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x3) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0003) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 8 |
| // CHECK-NEXT: (('st_name', 0x00000000) # '' |
| // CHECK-NEXT: ('st_bind', 0x0) |
| // CHECK-NEXT: ('st_type', 0x3) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0004) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 9 |
| // CHECK-NEXT: (('st_name', 0x0000004a) # 'g1@@zed' |
| // CHECK-NEXT: ('st_bind', 0x1) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000014) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 10 |
| // CHECK-NEXT: (('st_name', 0x00000042) # 'global1' |
| // CHECK-NEXT: ('st_bind', 0x1) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0001) |
| // CHECK-NEXT: ('st_value', 0x0000000000000014) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 11 |
| // CHECK-NEXT: (('st_name', 0x0000001c) # 'bar2@zed' |
| // CHECK-NEXT: ('st_bind', 0x1) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0000) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT: # Symbol 12 |
| // CHECK-NEXT: (('st_name', 0x00000039) # 'bar6@zed' |
| // CHECK-NEXT: ('st_bind', 0x1) |
| // CHECK-NEXT: ('st_type', 0x0) |
| // CHECK-NEXT: ('st_other', 0x00) |
| // CHECK-NEXT: ('st_shndx', 0x0000) |
| // CHECK-NEXT: ('st_value', 0x0000000000000000) |
| // CHECK-NEXT: ('st_size', 0x0000000000000000) |
| // CHECK-NEXT: ), |
| // CHECK-NEXT:]) |