2020-12-17 17:16:26 +01:00
|
|
|
--- a/clang/lib/Driver/ToolChains/Linux.cpp 2019-12-21 22:30:03.676720096 +0000
|
|
|
|
+++ b/clang/lib/Driver/ToolChains/Linux.cpp 2019-12-21 22:34:42.941719383 +0000
|
2020-04-13 12:42:54 +02:00
|
|
|
@@ -374,7 +374,7 @@
|
|
|
|
// those searched.
|
|
|
|
// FIXME: It's not clear whether we should use the driver's installed
|
|
|
|
// directory ('Dir' below) or the ResourceDir.
|
|
|
|
- if (StringRef(D.Dir).startswith(SysRoot)) {
|
|
|
|
+ if (StringRef(D.Dir).startswith(SysRoot) && !IsAndroid) {
|
|
|
|
addPathIfExists(D, D.Dir + "/../lib/" + MultiarchTriple, Paths);
|
|
|
|
addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths);
|
|
|
|
}
|
2020-03-28 16:53:46 +01:00
|
|
|
@@ -403,7 +403,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
|
|
|
if (Triple.getVendor() == llvm::Triple::OpenEmbedded &&
|
|
|
|
Triple.isArch64Bit())
|
|
|
|
addPathIfExists(D, SysRoot + "/usr/" + OSLibDir, Paths);
|
|
|
|
- else
|
|
|
|
+ else if (!IsAndroid)
|
|
|
|
addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths);
|
|
|
|
if (IsRISCV) {
|
|
|
|
StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
|
2020-04-13 12:42:54 +02:00
|
|
|
@@ -447,11 +447,19 @@
|
|
|
|
// searched.
|
|
|
|
// FIXME: It's not clear whether we should use the driver's installed
|
|
|
|
// directory ('Dir' below) or the ResourceDir.
|
|
|
|
- if (StringRef(D.Dir).startswith(SysRoot))
|
|
|
|
+ if (StringRef(D.Dir).startswith(SysRoot) && !IsAndroid)
|
2020-03-28 16:53:46 +01:00
|
|
|
addPathIfExists(D, D.Dir + "/../lib", Paths);
|
2019-03-28 02:42:04 +01:00
|
|
|
|
2020-03-28 16:53:46 +01:00
|
|
|
addPathIfExists(D, SysRoot + "/lib", Paths);
|
|
|
|
- addPathIfExists(D, SysRoot + "/usr/lib", Paths);
|
2020-12-17 17:16:26 +01:00
|
|
|
+ bool nativeBuild = MultiarchTriple == getMultiarchTriple(D, llvm::Triple(llvm::sys::getDefaultTargetTriple()), SysRoot);
|
2020-03-28 16:53:46 +01:00
|
|
|
+ if (nativeBuild || !IsAndroid)
|
|
|
|
+ addPathIfExists(D, SysRoot + "/usr/lib", Paths);
|
2019-09-06 18:03:46 +02:00
|
|
|
+
|
2020-03-28 16:53:46 +01:00
|
|
|
+ if (IsAndroid) {
|
|
|
|
+ addPathIfExists(D, SysRoot + "/usr/" + MultiarchTriple + "/lib", Paths);
|
|
|
|
+ addPathIfExists(D, "/system/" + OSLibDir, Paths);
|
|
|
|
+ ExtraOpts.push_back("-rpath=" + SysRoot + "/usr/lib");
|
2019-03-14 04:46:10 +01:00
|
|
|
+ }
|
2020-03-28 16:53:46 +01:00
|
|
|
}
|
2019-03-14 04:46:10 +01:00
|
|
|
|
2020-03-28 16:53:46 +01:00
|
|
|
ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const {
|