diff --git a/test/tools/gold/alias.ll b/test/tools/gold/alias.ll index 6a64a6a7033..dbf3af57a7b 100644 --- a/test/tools/gold/alias.ll +++ b/test/tools/gold/alias.ll @@ -2,10 +2,12 @@ ; RUN: llvm-as %p/Inputs/alias-1.ll -o %t2.o ; RUN: ld -shared -o %t3.o -plugin %llvmshlibdir/LLVMgold.so %t2.o %t.o \ ; RUN: -plugin-opt=emit-llvm -; RUN: llvm-dis %t3.o -o - | FileCheck %s +; RUN: llvm-dis < %t3.o -o - | FileCheck %s +; CHECK-NOT: alias ; CHECK: @a = global i32 42 -; CHECK: @b = global i32 1 +; CHECK-NEXT: @b = global i32 1 +; CHECK-NOT: alias @a = weak alias i32* @b @b = global i32 1 diff --git a/tools/gold/gold-plugin.cpp b/tools/gold/gold-plugin.cpp index 110433aefe3..e7888bea9e6 100644 --- a/tools/gold/gold-plugin.cpp +++ b/tools/gold/gold-plugin.cpp @@ -457,6 +457,7 @@ static void drop(GlobalValue &GV) { /*Initializer*/ nullptr); Var->takeName(&Alias); Alias.replaceAllUsesWith(Var); + Alias.eraseFromParent(); } static const char *getResolutionName(ld_plugin_symbol_resolution R) {