summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-10-27 17:56:18 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-10-27 17:56:18 +0000
commit26496e68350831e4d56d479fef1cb48d764354da (patch)
treed46a21a2f1aed43b68e983b5be4459bfe9b975e4 /llvm/lib/MC
parentba1c6cd62ff377b30c06a4330aade94adc8bfe53 (diff)
downloadbcm5719-llvm-26496e68350831e4d56d479fef1cb48d764354da.tar.gz
bcm5719-llvm-26496e68350831e4d56d479fef1cb48d764354da.zip
Produce an error for an invalid use of .symver.
llvm-svn: 117462
Diffstat (limited to 'llvm/lib/MC')
-rw-r--r--llvm/lib/MC/ELFObjectWriter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp
index 54d8123da02..1904397fe11 100644
--- a/llvm/lib/MC/ELFObjectWriter.cpp
+++ b/llvm/lib/MC/ELFObjectWriter.cpp
@@ -468,6 +468,11 @@ void ELFObjectWriterImpl::ExecutePostLayoutBinding(MCAssembler &Asm) {
if (!Symbol.isUndefined() && !Rest.startswith("@@@"))
continue;
+ // FIXME: produce a better error message.
+ if (Symbol.isUndefined() && Rest.startswith("@@") &&
+ !Rest.startswith("@@@"))
+ report_fatal_error("A @@ version cannot be undefined");
+
std::pair<const MCSymbol *, const MCSymbol *> t(&Symbol, &Alias);
Renames.insert(t);
}
OpenPOWER on IntegriCloud