summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/MC/ELFObjectWriter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp
index 989d4bb4eb9..85bbcab8264 100644
--- a/llvm/lib/MC/ELFObjectWriter.cpp
+++ b/llvm/lib/MC/ELFObjectWriter.cpp
@@ -420,6 +420,10 @@ void ELFObjectWriter::executePostLayoutBinding(MCAssembler &Asm,
!Rest.startswith("@@@"))
report_fatal_error("A @@ version cannot be undefined");
+ if (Renames.count(&Symbol) && Renames[&Symbol] != Alias)
+ report_fatal_error(llvm::Twine("Multiple symbol versions defined for ") +
+ Symbol.getName());
+
Renames.insert(std::make_pair(&Symbol, Alias));
}
}
OpenPOWER on IntegriCloud