llvm-project/lldb/source/Host/common
Pavel Labath 5ad891f719 Unify process launching code on linux
Summary:
We've had two copies of code for launching processes:
- one in NativeProcessLinux, used for launching debugged processes
- one in ProcessLauncherAndroid, used on android for launching all other kinds of processes

These have over time acquired support for various launch options, but neither supported all of
them. I now replace them with a single implementation ProcessLauncherLinux, which supports all
the options the individual versions supported and set it to be used to launch all processes on
linux.

This also works around the ETXTBSY issue on android when the process is started from the platform
instance, as that used to go through the version which did not contain the workaround.

Reviewers: tberghammer

Subscribers: tberghammer, danalbert, srhines, lldb-commits

Differential Revision: https://reviews.llvm.org/D22457

llvm-svn: 276288
2016-07-21 14:54:03 +00:00
..
Condition.cpp cleanup unreferenced functions 2014-03-20 06:08:36 +00:00
Editline.cpp Typo corrections identified by codespell 2016-07-19 15:28:02 +00:00
File.cpp Fix typo in eOpenOptionDontFollowSymlinks 2016-06-21 00:03:57 +00:00
FileCache.cpp Move FileSystem functions out of Host and into their own classes. 2014-08-15 22:04:21 +00:00
FileSpec.cpp llvm::sys::path::home_directory() relies on having "HOME" set in the environment and that might not always be set. Our FileSpec class uses this function to resolve any paths that start with "~/" on systems that support home directories as '~'. I have modified FileSpec::ResolveUsername (llvm::SmallVectorImpl<char> &path) to deal with the cases where llvm::sys::path::home_directory() returns false by digging a little further on unix systems and setting "HOME" in the environment so that subsequent calls to llvm::sys::path::home_directory() will succeed. 2016-04-19 23:04:35 +00:00
FileSystem.cpp Add qModuleInfo request in order to get module information (uuid, triple,..) by module path from remote platform. 2015-02-25 22:15:44 +00:00
GetOptInc.cpp Move GetOptInc to the common namespace 2015-09-04 09:06:15 +00:00
Host.cpp Unify process launching code on linux 2016-07-21 14:54:03 +00:00
HostInfoBase.cpp Support Linux on SystemZ as platform 2016-04-14 14:28:34 +00:00
HostNativeThreadBase.cpp Fix up the HostThread interface, making the interface simpler. 2014-09-23 18:32:09 +00:00
HostProcess.cpp Generalize child process monitoring functions 2016-05-11 16:59:04 +00:00
HostThread.cpp Change HostThread::GetNativeThread() to return a derived reference. 2014-11-17 22:42:57 +00:00
IOObject.cpp Creates a socket host object. 2014-08-06 18:16:26 +00:00
LockFileBase.cpp Use file locks to synchronize access to ModuleCache. 2015-05-07 15:28:49 +00:00
MonitoringProcessLauncher.cpp Generalize child process monitoring functions 2016-05-11 16:59:04 +00:00
Mutex.cpp Disable mutex error checking so it doesn't create problems with the multi-threaded test case. The error would cause an assertion that could cause lldb to crash when unlocking a mutex returned an error because it was in use. 2015-07-23 23:32:08 +00:00
NativeBreakpoint.cpp Moving header files from source/Host/common to proper location. 2015-02-03 01:51:38 +00:00
NativeBreakpointList.cpp remove use of Mutex in favour of std::{,recursive_}mutex 2016-05-18 01:59:10 +00:00
NativeProcessProtocol.cpp remove use of Mutex in favour of std::{,recursive_}mutex 2016-05-18 01:59:10 +00:00
NativeRegisterContext.cpp [LLDB][MIPS] Handle false positives for MIPS hardware watchpoints 2015-08-13 03:44:09 +00:00
NativeRegisterContextRegisterInfo.cpp Moving header files from source/Host/common to proper location. 2015-02-03 01:51:38 +00:00
NativeThreadProtocol.cpp Moving header files from source/Host/common to proper location. 2015-02-03 01:51:38 +00:00
NativeWatchpointList.cpp Implement setting and clearing watchpoints. 2015-02-03 01:51:47 +00:00
OptionParser.cpp second pass over removal of Mutex and Condition 2016-05-19 05:13:57 +00:00
PipeBase.cpp Revert "Add Pipe::WriteWithTimeout method" 2015-07-21 11:04:52 +00:00
ProcessRunLock.cpp
Socket.cpp Fix an off-by-one in SocketTest::DecodeHostAndPort 2016-02-03 11:12:23 +00:00
SocketAddress.cpp Fix all of the unannotated switch cases to annotate the fall through or do the right thing and break. 2016-02-26 01:20:20 +00:00
SoftwareBreakpoint.cpp remove use of Mutex in favour of std::{,recursive_}mutex 2016-05-18 01:59:10 +00:00
StringConvert.cpp Make the "lldb/Utility/JSON.h" able to parse JSON into tokens with the new JSONParser class. 2015-07-06 23:40:40 +00:00
Symbols.cpp Symbols::LocateExecutableSymbolFile() shouldn't try to look for files in /usr/lib/debug on Windows 2015-10-13 16:30:28 +00:00
TCPSocket.cpp Don't use SO_REUSEADDR for *client* sockets 2016-06-07 18:36:38 +00:00
Terminal.cpp Fix warnings generated by clang-cl. 2015-04-02 20:57:38 +00:00
ThisThread.cpp Simplify find_first_of & find_last_of on single char. 2015-09-01 23:57:17 +00:00
ThreadLauncher.cpp If lldb is being built with ASAN instrumentation, have lldb 2015-01-29 06:28:36 +00:00
TimeValue.cpp
UDPSocket.cpp We try to avoid static objects. These are on the error path for unsupported features 2016-02-02 00:21:39 +00:00
XML.cpp Fix warnings detected by -Wpessimizing-move 2015-07-28 09:18:32 +00:00