diff options
author | Mitch Phillips <mitchphillips@outlook.com> | 2017-10-23 20:54:01 +0000 |
---|---|---|
committer | Mitch Phillips <mitchphillips@outlook.com> | 2017-10-23 20:54:01 +0000 |
commit | d9af383d58ef8b0b4e9a65af862cae61d99ca44c (patch) | |
tree | 4ecba5d89201bcd8e168b2a19b9418e2c5cc013a /llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp | |
parent | 8a0e4bc97283dfb9f101b5dc0aefd01dc0937b4f (diff) | |
download | bcm5719-llvm-d9af383d58ef8b0b4e9a65af862cae61d99ca44c.tar.gz bcm5719-llvm-d9af383d58ef8b0b4e9a65af862cae61d99ca44c.zip |
Made llvm-cfi-verify not execute unit tests on non-x86 builds.
Patched out from D38427.
Reviewers: vlad.tsyrklevich
Reviewed By: vlad.tsyrklevich
Subscribers: llvm-commits, kcc, pcc, mgorny
Differential Revision: https://reviews.llvm.org/D39197
llvm-svn: 316375
Diffstat (limited to 'llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp')
-rw-r--r-- | llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp index 8439a06a24d..761b2ab1037 100644 --- a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp +++ b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp @@ -54,7 +54,7 @@ Expected<FileAnalysis> FileAnalysis::Create(StringRef Filename) { Analysis.Object = dyn_cast<object::ObjectFile>(Analysis.Binary.getBinary()); if (!Analysis.Object) - return make_error<UnsupportedDisassembly>(); + return make_error<UnsupportedDisassembly>("Failed to cast object"); Analysis.ObjectTriple = Analysis.Object->makeTriple(); Analysis.Features = Analysis.Object->getFeatures(); @@ -224,31 +224,28 @@ Error FileAnalysis::initialiseDisassemblyMembers() { ObjectTarget = TargetRegistry::lookupTarget(ArchName, ObjectTriple, ErrorString); if (!ObjectTarget) - return make_error<StringError>(Twine("Couldn't find target \"") + - ObjectTriple.getTriple() + - "\", failed with error: " + ErrorString, - inconvertibleErrorCode()); + return make_error<UnsupportedDisassembly>( + (Twine("Couldn't find target \"") + ObjectTriple.getTriple() + + "\", failed with error: " + ErrorString).str()); RegisterInfo.reset(ObjectTarget->createMCRegInfo(TripleName)); if (!RegisterInfo) - return make_error<StringError>("Failed to initialise RegisterInfo.", - inconvertibleErrorCode()); + return make_error<UnsupportedDisassembly>( + "Failed to initialise RegisterInfo."); AsmInfo.reset(ObjectTarget->createMCAsmInfo(*RegisterInfo, TripleName)); if (!AsmInfo) - return make_error<StringError>("Failed to initialise AsmInfo.", - inconvertibleErrorCode()); + return make_error<UnsupportedDisassembly>("Failed to initialise AsmInfo."); SubtargetInfo.reset(ObjectTarget->createMCSubtargetInfo( TripleName, MCPU, Features.getString())); if (!SubtargetInfo) - return make_error<StringError>("Failed to initialise SubtargetInfo.", - inconvertibleErrorCode()); + return make_error<UnsupportedDisassembly>( + "Failed to initialise SubtargetInfo."); MII.reset(ObjectTarget->createMCInstrInfo()); if (!MII) - return make_error<StringError>("Failed to initialise MII.", - inconvertibleErrorCode()); + return make_error<UnsupportedDisassembly>("Failed to initialise MII."); Context.reset(new MCContext(AsmInfo.get(), RegisterInfo.get(), &MOFI)); @@ -256,8 +253,8 @@ Error FileAnalysis::initialiseDisassemblyMembers() { ObjectTarget->createMCDisassembler(*SubtargetInfo, *Context)); if (!Disassembler) - return make_error<StringError>("No disassembler available for target", - inconvertibleErrorCode()); + return make_error<UnsupportedDisassembly>( + "No disassembler available for target"); MIA.reset(ObjectTarget->createMCInstrAnalysis(MII.get())); @@ -341,9 +338,11 @@ void FileAnalysis::addInstruction(const Instr &Instruction) { } } +UnsupportedDisassembly::UnsupportedDisassembly(StringRef Text) : Text(Text) {} + char UnsupportedDisassembly::ID; void UnsupportedDisassembly::log(raw_ostream &OS) const { - OS << "Dissassembling of non-objects not currently supported.\n"; + OS << "Could not initialise disassembler: " << Text; } std::error_code UnsupportedDisassembly::convertToErrorCode() const { |