summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/test/tools/gold/Inputs/weak.ll2
-rw-r--r--llvm/test/tools/gold/weak.ll16
2 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/tools/gold/Inputs/weak.ll b/llvm/test/tools/gold/Inputs/weak.ll
new file mode 100644
index 00000000000..53b1d1650d1
--- /dev/null
+++ b/llvm/test/tools/gold/Inputs/weak.ll
@@ -0,0 +1,2 @@
+@a = weak global i32 41
+@c = global i32* @a
diff --git a/llvm/test/tools/gold/weak.ll b/llvm/test/tools/gold/weak.ll
new file mode 100644
index 00000000000..da88f14a212
--- /dev/null
+++ b/llvm/test/tools/gold/weak.ll
@@ -0,0 +1,16 @@
+; RUN: llvm-as %s -o %t.o
+; RUN: llvm-as %p/Inputs/weak.ll -o %t2.o
+
+; RUN: ld -plugin %llvmshlibdir/LLVMgold.so \
+; RUN: --plugin-opt=emit-llvm \
+; RUN: -shared %t.o %t2.o -o %t3.o
+; RUN: llvm-dis %t3.o -o - | FileCheck %s
+
+@a = weak global i32 42
+@b = global i32* @a
+
+; Test that @b and @c end up pointing to the same variable.
+
+; CHECK: @a = weak global i32 42
+; CHECK: @b = global i32* @a
+; CHECK: @c = global i32* @a
OpenPOWER on IntegriCloud