From 4099b249fb63eb4c40f9e01ea8839b3b313caec8 Mon Sep 17 00:00:00 2001 From: Joel Galenson Date: Mon, 16 Jul 2018 15:26:44 +0000 Subject: [cfi-verify] Abort on unsupported targets As suggested in the review for r337007, this makes cfi-verify abort on unsupported targets instead of producing incorrect results. It also updates the design document to reflect this. Differential Revision: https://reviews.llvm.org/D49304 llvm-svn: 337181 --- llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'llvm/tools/llvm-cfi-verify/lib') diff --git a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp index 15bf20f091d..29819d8d28e 100644 --- a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp +++ b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp @@ -85,6 +85,16 @@ Expected FileAnalysis::Create(StringRef Filename) { if (!Analysis.Object) return make_error("Failed to cast object"); + switch (Analysis.Object->getArch()) { + case Triple::x86: + case Triple::x86_64: + case Triple::aarch64: + case Triple::aarch64_be: + break; + default: + return make_error("Unsupported architecture."); + } + Analysis.ObjectTriple = Analysis.Object->makeTriple(); Analysis.Features = Analysis.Object->getFeatures(); -- cgit v1.2.3