[memprof] Remove an unused using directive (#117004)
[llvm-project.git] / lld / test / ELF / version-symbol-undef.s
blobff1e7a51ef2e97ad602d7fd1a0737139f6e98f95
1 // REQUIRES: x86
2 // RUN: echo ".data; \
3 // RUN: .quad \"basename\"; \
4 // RUN: .quad \"basename@FBSD_1.0\"; \
5 // RUN: .quad \"basename@FBSD_1.1\" " > %t.s
6 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %t.s -o %t.o
7 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t2.o
8 // RUN: echo "FBSD_1.0 { global: basename; local: *; }; FBSD_1.1 { basename; };" > %t2.ver
9 // RUN: ld.lld --shared --version-script %t2.ver %t2.o -o %t2.so
10 // RUN: echo "FBSD_1.0 { }; FBSD_1.1 { }; LIBPKG_1.3 { };" > %t.ver
11 // RUN: ld.lld --shared %t.o --version-script %t.ver %t2.so -o %t.so
12 // RUN: llvm-readobj --dyn-symbols -r %t.so | FileCheck %s
14 // Test that each relocation points to the correct version.
16 // CHECK: Section ({{.*}}) .rela.dyn {
17 // CHECK-NEXT: R_X86_64_64 basename@FBSD_1.1 0x0
18 // CHECK-NEXT: R_X86_64_64 basename@FBSD_1.0 0x0
19 // CHECK-NEXT: R_X86_64_64 basename@FBSD_1.1 0x0
20 // CHECK-NEXT: }
23 // CHECK: DynamicSymbols [
24 // CHECK-NEXT: Symbol {
25 // CHECK-NEXT: Name:
26 // CHECK-NEXT: Value:
27 // CHECK-NEXT: Size:
28 // CHECK-NEXT: Binding:
29 // CHECK-NEXT: Type:
30 // CHECK-NEXT: Other:
31 // CHECK-NEXT: Section:
32 // CHECK-NEXT: }
33 // CHECK-NEXT: Symbol {
34 // CHECK-NEXT: Name: basename@FBSD_1.1
35 // CHECK-NEXT: Value:
36 // CHECK-NEXT: Size:
37 // CHECK-NEXT: Binding:
38 // CHECK-NEXT: Type:
39 // CHECK-NEXT: Other:
40 // CHECK-NEXT: Section:
41 // CHECK-NEXT: }
42 // CHECK-NEXT: Symbol {
43 // CHECK-NEXT: Name: basename@FBSD_1.0
44 // CHECK-NEXT: Value:
45 // CHECK-NEXT: Size:
46 // CHECK-NEXT: Binding:
47 // CHECK-NEXT: Type:
48 // CHECK-NEXT: Other:
49 // CHECK-NEXT: Section:
50 // CHECK-NEXT: }
51 // CHECK-NEXT: Symbol {
52 // CHECK-NEXT: Name: basename@FBSD_1.1
55 .global "basename@FBSD_1.0"
56 "basename@FBSD_1.0":
58 .global "basename@@FBSD_1.1"
59 "basename@@FBSD_1.1":