diff options
-rw-r--r-- | llvm/test/tools/gold/Inputs/weak.ll | 2 | ||||
-rw-r--r-- | llvm/test/tools/gold/weak.ll | 16 |
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 |