aboutsummaryrefslogtreecommitdiff
path: root/test/ELF/as-needed-in-regular.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/ELF/as-needed-in-regular.s')
-rw-r--r--test/ELF/as-needed-in-regular.s24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/ELF/as-needed-in-regular.s b/test/ELF/as-needed-in-regular.s
new file mode 100644
index 000000000000..2ba646f85300
--- /dev/null
+++ b/test/ELF/as-needed-in-regular.s
@@ -0,0 +1,24 @@
+# REQUIRES: x86
+
+# RUN: echo '.globl a; .type a, @function; .type a, @function; a: ret' | \
+# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux - -o %ta.o
+# RUN: ld.lld %ta.o --shared --soname=a.so -o %ta.so
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
+# RUN: ld.lld %t.o --as-needed %ta.so -o %t
+# RUN: llvm-readelf -d %t | FileCheck %s
+# RUN: ld.lld %t.o --as-needed %ta.so --gc-sections -o %t
+# RUN: llvm-readelf -d %t | FileCheck %s
+
+# The order of %ta.so and %t.o does not matter.
+
+# RUN: ld.lld --as-needed %ta.so %t.o -o %t
+# RUN: llvm-readelf -d %t | FileCheck %s
+# RUN: ld.lld --as-needed %ta.so %t.o --gc-sections -o %t
+# RUN: llvm-readelf -d %t | FileCheck %s
+
+# CHECK: a.so
+
+.global _start
+_start:
+ jmp a@PLT