Skip to content

Commit 1fea1e3

Browse files
committed
Add a missing test.
We were not testing that we correctly handled a .o with a weak symbol after a .so. llvm-svn: 319051
1 parent 16608e6 commit 1fea1e3

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

lld/test/ELF/gc-sections-shared.s

+56
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,62 @@
6666
# CHECK: NEEDED Shared library: [{{.*}}3.so]
6767
# CHECK-NOT: NEEDED
6868

69+
# Test with %t.o at the end too.
70+
# RUN: ld.lld --gc-sections --export-dynamic-symbol foo -o %t --as-needed %t2.so %t3.so %t4.so %t.o
71+
# RUN: llvm-readobj --dynamic-table --dyn-symbols %t | FileCheck --check-prefix=CHECK2 %s
72+
73+
# CHECK2: DynamicSymbols [
74+
# CHECK2-NEXT: Symbol {
75+
# CHECK2-NEXT: Name:
76+
# CHECK2-NEXT: Value:
77+
# CHECK2-NEXT: Size:
78+
# CHECK2-NEXT: Binding: Local
79+
# CHECK2-NEXT: Type:
80+
# CHECK2-NEXT: Other:
81+
# CHECK2-NEXT: Section: Undefined (0x0)
82+
# CHECK2-NEXT: }
83+
# CHECK2-NEXT: Symbol {
84+
# CHECK2-NEXT: Name: bar
85+
# CHECK2-NEXT: Value:
86+
# CHECK2-NEXT: Size:
87+
# CHECK2-NEXT: Binding: Global
88+
# CHECK2-NEXT: Type:
89+
# CHECK2-NEXT: Other:
90+
# CHECK2-NEXT: Section: .text
91+
# CHECK2-NEXT: }
92+
# CHECK2-NEXT: Symbol {
93+
# CHECK2-NEXT: Name: qux
94+
# CHECK2-NEXT: Value:
95+
# CHECK2-NEXT: Size:
96+
# CHECK2-NEXT: Binding: Weak
97+
# CHECK2-NEXT: Type:
98+
# CHECK2-NEXT: Other:
99+
# CHECK2-NEXT: Section: Undefined
100+
# CHECK2-NEXT: }
101+
# CHECK2-NEXT: Symbol {
102+
# CHECK2-NEXT: Name: foo
103+
# CHECK2-NEXT: Value:
104+
# CHECK2-NEXT: Size:
105+
# CHECK2-NEXT: Binding: Global
106+
# CHECK2-NEXT: Type:
107+
# CHECK2-NEXT: Other:
108+
# CHECK2-NEXT: Section: .text
109+
# CHECK2-NEXT: }
110+
# CHECK2-NEXT: Symbol {
111+
# CHECK2-NEXT: Name: baz
112+
# CHECK2-NEXT: Value:
113+
# CHECK2-NEXT: Size:
114+
# CHECK2-NEXT: Binding: Global
115+
# CHECK2-NEXT: Type:
116+
# CHECK2-NEXT: Other:
117+
# CHECK2-NEXT: Section: Undefined
118+
# CHECK2-NEXT: }
119+
# CHECK2-NEXT: ]
120+
121+
# CHECK2-NOT: NEEDED
122+
# CHECK2: NEEDED Shared library: [{{.*}}3.so]
123+
# CHECK2-NOT: NEEDED
124+
69125
.section .text.foo, "ax"
70126
.globl foo
71127
foo:

0 commit comments

Comments
 (0)