aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2017-03-07 13:19:15 +0000
committerPavel Labath <labath@google.com>2017-03-07 13:19:15 +0000
commit30e6cbfcfca4836c2b3497d84ffc2043b548b2a6 (patch)
tree3b24106c96c514a5490b04bfe541e2e6a2ac5518 /lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
parent3d0af578ccc071dc1f9fc1672af55a969e0beb5a (diff)
downloadllvm-30e6cbfcfca4836c2b3497d84ffc2043b548b2a6.tar.gz
llvm-30e6cbfcfca4836c2b3497d84ffc2043b548b2a6.tar.bz2
llvm-30e6cbfcfca4836c2b3497d84ffc2043b548b2a6.zip
Revert "Use LLVM for all stat-related functionality."
this reverts r297116 because it breaks the unittests and TestCompDirSymlink. The ModuleCache unit test is trivially fixable, but the CompDirSymlink failure is a symptom of a deeper problem: llvm's stat functionality is not a drop-in replacement for lldb's. The former is based on stat(2) (which does symlink resolution), while the latter is based on lstat(2) (which does not). This also reverts subsequent build fixes (r297128, r297120, 297117) and r297119 (Remove FileSpec dependency on FileSystem) which builds on top of this. llvm-svn: 297139
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp')
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
index a3df09cdc4fa..05276294f0e6 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -49,7 +49,6 @@
#include "ProcFileReader.h"
#include "Procfs.h"
-#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Threading.h"
#include <linux/unistd.h>
@@ -225,8 +224,9 @@ Error NativeProcessProtocol::Launch(
// Verify the working directory is valid if one was specified.
FileSpec working_dir{launch_info.GetWorkingDirectory()};
- if (working_dir && (!working_dir.ResolvePath() ||
- !llvm::sys::fs::is_directory(working_dir.GetPath()))) {
+ if (working_dir &&
+ (!working_dir.ResolvePath() ||
+ working_dir.GetFileType() != FileSpec::eFileTypeDirectory)) {
error.SetErrorStringWithFormat("No such file or directory: %s",
working_dir.GetCString());
return error;