summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-07-24 10:25:34 +0000
committerTim Northover <tnorthover@apple.com>2014-07-24 10:25:34 +0000
commit02a979fd1e8b1afe7e3a85d3ef7ae4dd880a71aa (patch)
treeb786818dd8af16cc898a69b46e73ec0b1e3ee2df
parent6e9142474ddc1896f725294a5c1a2a4b5a63ec8f (diff)
downloadbcm5719-llvm-02a979fd1e8b1afe7e3a85d3ef7ae4dd880a71aa.tar.gz
bcm5719-llvm-02a979fd1e8b1afe7e3a85d3ef7ae4dd880a71aa.zip
MachO: use "arm64" as the triple name in modules.
Current versions of ld64 can't cope with "aarch64" being stored. I'm fixing that, but in the transitionary period we'll need to still emit "arm64". rdar://problem/17783765 llvm-svn: 213852
-rw-r--r--clang/lib/Driver/ToolChain.cpp11
-rw-r--r--clang/test/Driver/aarch64-cpus.c2
2 files changed, 12 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index 4f90d083c7d..d2c2d55dfbf 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -221,6 +221,17 @@ std::string ToolChain::ComputeLLVMTriple(const ArgList &Args,
}
return Triple.getTriple();
}
+ case llvm::Triple::aarch64: {
+ llvm::Triple Triple = getTriple();
+ if (!Triple.isOSBinFormatMachO())
+ return getTripleString();
+
+ // FIXME: older versions of ld64 expect the "arm64" component in the actual
+ // triple string and query it to determine whether an LTO file can be
+ // handled. Remove this when we don't care any more.
+ Triple.setArchName("arm64");
+ return Triple.getTriple();
+ }
case llvm::Triple::arm:
case llvm::Triple::armeb:
case llvm::Triple::thumb:
diff --git a/clang/test/Driver/aarch64-cpus.c b/clang/test/Driver/aarch64-cpus.c
index 25f86856963..1627660d813 100644
--- a/clang/test/Driver/aarch64-cpus.c
+++ b/clang/test/Driver/aarch64-cpus.c
@@ -11,7 +11,7 @@
// ARM64-GENERIC: "-cc1"{{.*}} "-triple" "arm64{{.*}}" "-target-cpu" "generic"
// RUN: %clang -target arm64-apple-darwin -arch arm64 -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-DARWIN %s
-// ARM64-DARWIN: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" "cyclone"
+// ARM64-DARWIN: "-cc1"{{.*}} "-triple" "arm64{{.*}}" "-target-cpu" "cyclone"
// RUN: %clang -target aarch64 -mcpu=cortex-a53 -### -c %s 2>&1 | FileCheck -check-prefix=CA53 %s
// RUN: %clang -target aarch64 -mlittle-endian -mcpu=cortex-a53 -### -c %s 2>&1 | FileCheck -check-prefix=CA53 %s
OpenPOWER on IntegriCloud