diff options
author | Tim Northover <tnorthover@apple.com> | 2019-05-14 11:25:44 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2019-05-14 11:25:44 +0000 |
commit | ff6875acd909960c5e85cd0e581a97c28f98cfb4 (patch) | |
tree | 5b098fd1740e82f9feff9290ce4adbe13a20a270 /llvm/lib/Support/ARMTargetParser.cpp | |
parent | ed9117f88d0f2282b6c994fc3a5f4818c4046e84 (diff) | |
download | bcm5719-llvm-ff6875acd909960c5e85cd0e581a97c28f98cfb4.tar.gz bcm5719-llvm-ff6875acd909960c5e85cd0e581a97c28f98cfb4.zip |
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
Diffstat (limited to 'llvm/lib/Support/ARMTargetParser.cpp')
-rw-r--r-- | llvm/lib/Support/ARMTargetParser.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
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")) |