From ff6875acd909960c5e85cd0e581a97c28f98cfb4 Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Tue, 14 May 2019 11:25:44 +0000 Subject: AArch64: support binutils-like things on arm64_32. This adds support for the arm64_32 watchOS ABI to LLVM's low level tools, teaching them about the specific MachO choices and constants needed to disassemble things. llvm-svn: 360663 --- llvm/lib/Support/ARMTargetParser.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Support/ARMTargetParser.cpp') diff --git a/llvm/lib/Support/ARMTargetParser.cpp b/llvm/lib/Support/ARMTargetParser.cpp index 7b8ec2f3390..c57da4cb202 100644 --- a/llvm/lib/Support/ARMTargetParser.cpp +++ b/llvm/lib/Support/ARMTargetParser.cpp @@ -248,7 +248,7 @@ ARM::EndianKind ARM::parseArchEndian(StringRef Arch) { return EndianKind::LITTLE; } - if (Arch.startswith("aarch64")) + if (Arch.startswith("aarch64") || Arch.startswith("aarch64_32")) return EndianKind::LITTLE; return EndianKind::INVALID; @@ -289,8 +289,12 @@ StringRef ARM::getCanonicalArchName(StringRef Arch) { StringRef Error = ""; // Begins with "arm" / "thumb", move past it. - if (A.startswith("arm64")) + if (A.startswith("arm64_32")) + offset = 8; + else if (A.startswith("arm64")) offset = 5; + else if (A.startswith("aarch64_32")) + offset = 10; else if (A.startswith("arm")) offset = 3; else if (A.startswith("thumb")) -- cgit v1.2.3