summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
authorJosh Gao <jmgao@google.com>2016-06-10 18:30:33 +0000
committerJosh Gao <jmgao@google.com>2016-06-10 18:30:33 +0000
commit4e9cef0491ce508904137eb857df9523f5647ff5 (patch)
treead600c85a5b091524e7f0e20d32985ca536d84e2 /clang/lib/Driver/Driver.cpp
parentb2b0da4ad08da9a48940c4f5398c5603d78282b7 (diff)
downloadbcm5719-llvm-4e9cef0491ce508904137eb857df9523f5647ff5.tar.gz
bcm5719-llvm-4e9cef0491ce508904137eb857df9523f5647ff5.zip
Strip Android version when looking up toolchain paths.
Summary: Android target triples can include a version number in the abi field (e.g. 'aarch64-linux-android21'), used for checking for availability. However, the driver was searching for toolchain binaries using the passed in triple as a prefix. Reviewers: srhines, danalbert, t.p.northover Subscribers: t.p.northover, aemerson, tberghammer, danalbert, srhines, cfe-commits Differential Revision: http://reviews.llvm.org/D21163 llvm-svn: 272413
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r--clang/lib/Driver/Driver.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index f7e15309ac3..7db9e112a15 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -2343,7 +2343,15 @@ void Driver::generatePrefixedToolNames(
const char *Tool, const ToolChain &TC,
SmallVectorImpl<std::string> &Names) const {
// FIXME: Needs a better variable than DefaultTargetTriple
- Names.emplace_back(DefaultTargetTriple + "-" + Tool);
+ StringRef Triple = DefaultTargetTriple;
+
+ // On Android, the target triple can include a version number that needs to
+ // be stripped.
+ if (TC.getTriple().isAndroid()) {
+ Triple = Triple.rtrim("0123456789");
+ }
+
+ Names.emplace_back((Triple + "-" + Tool).str());
Names.emplace_back(Tool);
// Allow the discovery of tools prefixed with LLVM's default target triple.
OpenPOWER on IntegriCloud