1 # RUN: llvm-mc -triple=x86_64 %s | FileCheck %s --check-prefix=ASM
2 # RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t
3 # RUN: llvm-readelf -s %t | FileCheck %s
5 # ASM: .symver nondef, nondef@v1, remove
7 # ASM: .symver def0, def0@@v2, remove
8 # ASM-NEXT: .symver def1, def1@@@v2{{$}}
11 # ASM: .symver def2, def2@v1, remove
12 # ASM-NEXT: .symver def2, def2@@v2{{$}}
15 # CHECK: 1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT [[#]] nondef@v1
16 # CHECK-NEXT: 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT [[#]] def0@@v2
17 # CHECK-NEXT: 3: 0000000000000000 0 NOTYPE GLOBAL DEFAULT [[#]] def1@@v2
18 # CHECK-NEXT: 4: 0000000000000000 0 NOTYPE GLOBAL DEFAULT [[#]] def2@v1
19 # CHECK-NEXT: 5: 0000000000000000 0 NOTYPE GLOBAL DEFAULT [[#]] def2@@v2
23 .symver nondef, nondef@v1, remove
26 .globl def0, def1, def2
27 .symver def0, def0@@v2, remove
28 .symver def1, def1@@@v2, remove
32 ## Giving multiple versions to the same original symbol is not useful.
33 ## This test just documents the behavior.
34 .symver def2, def2@v1, remove
35 .symver def2, def2@@v2