From 3ed900af8a1435beda7b668034e7a7671668cca1 Mon Sep 17 00:00:00 2001 From: Nikolai Kholiavin Date: Fri, 2 Jun 2023 18:31:00 +0300 Subject: [PATCH] [OHOS][Driver] Use VFS instead of real filesystem for sysroot search OHOS ToolChain class now uses driver's VFS instead of sys::fs methods to look for sysroot paths, otherwise relative ones can be wrongly excluded as non- existent from the wrong path. Issue: https://gitee.com/openharmony/third_party_llvm-project/issues/I6Y6DN Signed-off-by: Nikolai Kholiavin --- clang/lib/Driver/ToolChains/OHOS.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/OHOS.cpp b/clang/lib/Driver/ToolChains/OHOS.cpp index e12b34f15dc3..551ae2ec821c 100644 --- a/clang/lib/Driver/ToolChains/OHOS.cpp +++ b/clang/lib/Driver/ToolChains/OHOS.cpp @@ -297,11 +297,11 @@ std::string OHOS::computeSysRoot() const { !getDriver().SysRoot.empty() ? getDriver().SysRoot : makePath({getDriver().getInstalledDir(), "..", "..", "sysroot"}); - if (!llvm::sys::fs::exists(SysRoot)) + if (!getVFS().exists(SysRoot)) return std::string(); std::string ArchRoot = makePath({SysRoot, getMultiarchTriple(getTriple())}); - return llvm::sys::fs::exists(ArchRoot) ? ArchRoot : SysRoot; + return getVFS().exists(ArchRoot) ? ArchRoot : SysRoot; } ToolChain::path_list OHOS::getRuntimePaths() const { -- Gitee