diff options
author | Josh Gao <jmgao@google.com> | 2016-06-10 18:30:33 +0000 |
---|---|---|
committer | Josh Gao <jmgao@google.com> | 2016-06-10 18:30:33 +0000 |
commit | 4e9cef0491ce508904137eb857df9523f5647ff5 (patch) | |
tree | ad600c85a5b091524e7f0e20d32985ca536d84e2 /clang/lib/Driver/Driver.cpp | |
parent | b2b0da4ad08da9a48940c4f5398c5603d78282b7 (diff) | |
download | bcm5719-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.cpp | 10 |
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. |