Push down more common code into PlatformPOSIX
Summary: - GetFileWithUUID: All platforms except PlatformDarwin had this. However, I see no reason why this code would not apply there as well. - GetProcessInfo, FindProcesses: The implementation was the same in all classes. - GetFullNameForDylib: This code should apply to all non-darwin platforms. I've kept the PlatformDarwin override as the situation is different there. Reviewers: clayborg, krytarowski, emaste Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D29496 llvm-svn: 294019
This commit is contained in:
parent
bd26de5021
commit
ec9bc8ccd4
|
@ -134,21 +134,6 @@ Error PlatformFreeBSD::RunShellCommand(const char *command,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// From PlatformMacOSX only
|
|
||||||
Error PlatformFreeBSD::GetFileWithUUID(const FileSpec &platform_file,
|
|
||||||
const UUID *uuid_ptr,
|
|
||||||
FileSpec &local_file) {
|
|
||||||
if (IsRemote()) {
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
return m_remote_platform_sp->GetFileWithUUID(platform_file, uuid_ptr,
|
|
||||||
local_file);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Default to the local case
|
|
||||||
local_file = platform_file;
|
|
||||||
return Error();
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
/// Default Constructor
|
/// Default Constructor
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
|
@ -256,33 +241,6 @@ Error PlatformFreeBSD::DisconnectRemote() {
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PlatformFreeBSD::GetProcessInfo(lldb::pid_t pid,
|
|
||||||
ProcessInstanceInfo &process_info) {
|
|
||||||
bool success = false;
|
|
||||||
if (IsHost()) {
|
|
||||||
success = Platform::GetProcessInfo(pid, process_info);
|
|
||||||
} else if (m_remote_platform_sp) {
|
|
||||||
success = m_remote_platform_sp->GetProcessInfo(pid, process_info);
|
|
||||||
}
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t
|
|
||||||
PlatformFreeBSD::FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
|
||||||
ProcessInstanceInfoList &process_infos) {
|
|
||||||
uint32_t match_count = 0;
|
|
||||||
if (IsHost()) {
|
|
||||||
// Let the base class figure out the host details
|
|
||||||
match_count = Platform::FindProcesses(match_info, process_infos);
|
|
||||||
} else {
|
|
||||||
// If we are remote, we can only return results if we are connected
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
match_count =
|
|
||||||
m_remote_platform_sp->FindProcesses(match_info, process_infos);
|
|
||||||
}
|
|
||||||
return match_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *PlatformFreeBSD::GetUserName(uint32_t uid) {
|
const char *PlatformFreeBSD::GetUserName(uint32_t uid) {
|
||||||
// Check the cache in Platform in case we have already looked this uid up
|
// Check the cache in Platform in case we have already looked this uid up
|
||||||
const char *user_name = Platform::GetUserName(uid);
|
const char *user_name = Platform::GetUserName(uid);
|
||||||
|
|
|
@ -84,11 +84,6 @@ public:
|
||||||
|
|
||||||
const char *GetGroupName(uint32_t gid) override;
|
const char *GetGroupName(uint32_t gid) override;
|
||||||
|
|
||||||
bool GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &proc_info) override;
|
|
||||||
|
|
||||||
uint32_t FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
|
||||||
ProcessInstanceInfoList &process_infos) override;
|
|
||||||
|
|
||||||
Error LaunchProcess(ProcessLaunchInfo &launch_info) override;
|
Error LaunchProcess(ProcessLaunchInfo &launch_info) override;
|
||||||
|
|
||||||
lldb::ProcessSP Attach(ProcessAttachInfo &attach_info, Debugger &debugger,
|
lldb::ProcessSP Attach(ProcessAttachInfo &attach_info, Debugger &debugger,
|
||||||
|
@ -97,10 +92,6 @@ public:
|
||||||
// FreeBSD processes can not be launched by spawning and attaching.
|
// FreeBSD processes can not be launched by spawning and attaching.
|
||||||
bool CanDebugProcess() override { return false; }
|
bool CanDebugProcess() override { return false; }
|
||||||
|
|
||||||
// Only on PlatformMacOSX:
|
|
||||||
Error GetFileWithUUID(const FileSpec &platform_file, const UUID *uuid,
|
|
||||||
FileSpec &local_file) override;
|
|
||||||
|
|
||||||
Error GetSharedModule(const ModuleSpec &module_spec, Process *process,
|
Error GetSharedModule(const ModuleSpec &module_spec, Process *process,
|
||||||
lldb::ModuleSP &module_sp,
|
lldb::ModuleSP &module_sp,
|
||||||
const FileSpecList *module_search_paths_ptr,
|
const FileSpecList *module_search_paths_ptr,
|
||||||
|
|
|
@ -84,12 +84,6 @@ void PlatformKalimba::Terminate() {
|
||||||
Platform::Terminate();
|
Platform::Terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
Error PlatformKalimba::GetFileWithUUID(const FileSpec & /*platform_file*/,
|
|
||||||
const UUID * /*uuid_ptr*/,
|
|
||||||
FileSpec & /*local_file*/) {
|
|
||||||
return Error();
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
/// Default Constructor
|
/// Default Constructor
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
|
@ -105,18 +99,6 @@ PlatformKalimba::PlatformKalimba(bool is_host)
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
PlatformKalimba::~PlatformKalimba() {}
|
PlatformKalimba::~PlatformKalimba() {}
|
||||||
|
|
||||||
bool PlatformKalimba::GetProcessInfo(lldb::pid_t pid,
|
|
||||||
ProcessInstanceInfo &process_info) {
|
|
||||||
bool success = false;
|
|
||||||
if (IsHost()) {
|
|
||||||
success = false;
|
|
||||||
} else {
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
success = m_remote_platform_sp->GetProcessInfo(pid, process_info);
|
|
||||||
}
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool PlatformKalimba::GetSupportedArchitectureAtIndex(uint32_t idx,
|
bool PlatformKalimba::GetSupportedArchitectureAtIndex(uint32_t idx,
|
||||||
ArchSpec &arch) {
|
ArchSpec &arch) {
|
||||||
if (idx == 0) {
|
if (idx == 0) {
|
||||||
|
|
|
@ -51,11 +51,6 @@ public:
|
||||||
|
|
||||||
void GetStatus(Stream &strm) override;
|
void GetStatus(Stream &strm) override;
|
||||||
|
|
||||||
Error GetFileWithUUID(const FileSpec &platform_file, const UUID *uuid,
|
|
||||||
FileSpec &local_file) override;
|
|
||||||
|
|
||||||
bool GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &proc_info) override;
|
|
||||||
|
|
||||||
bool GetSupportedArchitectureAtIndex(uint32_t idx, ArchSpec &arch) override;
|
bool GetSupportedArchitectureAtIndex(uint32_t idx, ArchSpec &arch) override;
|
||||||
|
|
||||||
size_t GetSoftwareBreakpointTrapOpcode(Target &target,
|
size_t GetSoftwareBreakpointTrapOpcode(Target &target,
|
||||||
|
|
|
@ -205,20 +205,6 @@ void PlatformLinux::Terminate() {
|
||||||
PlatformPOSIX::Terminate();
|
PlatformPOSIX::Terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
Error PlatformLinux::GetFileWithUUID(const FileSpec &platform_file,
|
|
||||||
const UUID *uuid_ptr,
|
|
||||||
FileSpec &local_file) {
|
|
||||||
if (IsRemote()) {
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
return m_remote_platform_sp->GetFileWithUUID(platform_file, uuid_ptr,
|
|
||||||
local_file);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Default to the local case
|
|
||||||
local_file = platform_file;
|
|
||||||
return Error();
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
/// Default Constructor
|
/// Default Constructor
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
|
@ -226,42 +212,8 @@ PlatformLinux::PlatformLinux(bool is_host)
|
||||||
: PlatformPOSIX(is_host) // This is the local host platform
|
: PlatformPOSIX(is_host) // This is the local host platform
|
||||||
{}
|
{}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
|
||||||
/// Destructor.
|
|
||||||
///
|
|
||||||
/// The destructor is virtual since this class is designed to be
|
|
||||||
/// inherited from by the plug-in instance.
|
|
||||||
//------------------------------------------------------------------
|
|
||||||
PlatformLinux::~PlatformLinux() = default;
|
PlatformLinux::~PlatformLinux() = default;
|
||||||
|
|
||||||
bool PlatformLinux::GetProcessInfo(lldb::pid_t pid,
|
|
||||||
ProcessInstanceInfo &process_info) {
|
|
||||||
bool success = false;
|
|
||||||
if (IsHost()) {
|
|
||||||
success = Platform::GetProcessInfo(pid, process_info);
|
|
||||||
} else {
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
success = m_remote_platform_sp->GetProcessInfo(pid, process_info);
|
|
||||||
}
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t
|
|
||||||
PlatformLinux::FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
|
||||||
ProcessInstanceInfoList &process_infos) {
|
|
||||||
uint32_t match_count = 0;
|
|
||||||
if (IsHost()) {
|
|
||||||
// Let the base class figure out the host details
|
|
||||||
match_count = Platform::FindProcesses(match_info, process_infos);
|
|
||||||
} else {
|
|
||||||
// If we are remote, we can only return results if we are connected
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
match_count =
|
|
||||||
m_remote_platform_sp->FindProcesses(match_info, process_infos);
|
|
||||||
}
|
|
||||||
return match_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool PlatformLinux::GetSupportedArchitectureAtIndex(uint32_t idx,
|
bool PlatformLinux::GetSupportedArchitectureAtIndex(uint32_t idx,
|
||||||
ArchSpec &arch) {
|
ArchSpec &arch) {
|
||||||
if (IsHost()) {
|
if (IsHost()) {
|
||||||
|
@ -582,11 +534,3 @@ uint64_t PlatformLinux::ConvertMmapFlagsToPlatform(const ArchSpec &arch,
|
||||||
return flags_platform;
|
return flags_platform;
|
||||||
}
|
}
|
||||||
|
|
||||||
ConstString PlatformLinux::GetFullNameForDylib(ConstString basename) {
|
|
||||||
if (basename.IsEmpty())
|
|
||||||
return basename;
|
|
||||||
|
|
||||||
StreamString stream;
|
|
||||||
stream.Printf("lib%s.so", basename.GetCString());
|
|
||||||
return ConstString(stream.GetString());
|
|
||||||
}
|
|
||||||
|
|
|
@ -53,14 +53,6 @@ public:
|
||||||
|
|
||||||
void GetStatus(Stream &strm) override;
|
void GetStatus(Stream &strm) override;
|
||||||
|
|
||||||
Error GetFileWithUUID(const FileSpec &platform_file, const UUID *uuid,
|
|
||||||
FileSpec &local_file) override;
|
|
||||||
|
|
||||||
bool GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &proc_info) override;
|
|
||||||
|
|
||||||
uint32_t FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
|
||||||
ProcessInstanceInfoList &process_infos) override;
|
|
||||||
|
|
||||||
bool GetSupportedArchitectureAtIndex(uint32_t idx, ArchSpec &arch) override;
|
bool GetSupportedArchitectureAtIndex(uint32_t idx, ArchSpec &arch) override;
|
||||||
|
|
||||||
int32_t GetResumeCountForLaunchInfo(ProcessLaunchInfo &launch_info) override;
|
int32_t GetResumeCountForLaunchInfo(ProcessLaunchInfo &launch_info) override;
|
||||||
|
@ -76,8 +68,6 @@ public:
|
||||||
uint64_t ConvertMmapFlagsToPlatform(const ArchSpec &arch,
|
uint64_t ConvertMmapFlagsToPlatform(const ArchSpec &arch,
|
||||||
unsigned flags) override;
|
unsigned flags) override;
|
||||||
|
|
||||||
ConstString GetFullNameForDylib(ConstString basename) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DISALLOW_COPY_AND_ASSIGN(PlatformLinux);
|
DISALLOW_COPY_AND_ASSIGN(PlatformLinux);
|
||||||
};
|
};
|
||||||
|
|
|
@ -489,34 +489,6 @@ PlatformDarwin::GetSoftwareBreakpointTrapOpcode(Target &target,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PlatformDarwin::GetProcessInfo(lldb::pid_t pid,
|
|
||||||
ProcessInstanceInfo &process_info) {
|
|
||||||
bool success = false;
|
|
||||||
if (IsHost()) {
|
|
||||||
success = Platform::GetProcessInfo(pid, process_info);
|
|
||||||
} else {
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
success = m_remote_platform_sp->GetProcessInfo(pid, process_info);
|
|
||||||
}
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t
|
|
||||||
PlatformDarwin::FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
|
||||||
ProcessInstanceInfoList &process_infos) {
|
|
||||||
uint32_t match_count = 0;
|
|
||||||
if (IsHost()) {
|
|
||||||
// Let the base class figure out the host details
|
|
||||||
match_count = Platform::FindProcesses(match_info, process_infos);
|
|
||||||
} else {
|
|
||||||
// If we are remote, we can only return results if we are connected
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
match_count =
|
|
||||||
m_remote_platform_sp->FindProcesses(match_info, process_infos);
|
|
||||||
}
|
|
||||||
return match_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool PlatformDarwin::ModuleIsExcludedForUnconstrainedSearches(
|
bool PlatformDarwin::ModuleIsExcludedForUnconstrainedSearches(
|
||||||
lldb_private::Target &target, const lldb::ModuleSP &module_sp) {
|
lldb_private::Target &target, const lldb::ModuleSP &module_sp) {
|
||||||
if (!module_sp)
|
if (!module_sp)
|
||||||
|
|
|
@ -51,16 +51,9 @@ public:
|
||||||
lldb_private::Target &target,
|
lldb_private::Target &target,
|
||||||
lldb_private::BreakpointSite *bp_site) override;
|
lldb_private::BreakpointSite *bp_site) override;
|
||||||
|
|
||||||
bool GetProcessInfo(lldb::pid_t pid,
|
|
||||||
lldb_private::ProcessInstanceInfo &proc_info) override;
|
|
||||||
|
|
||||||
lldb::BreakpointSP
|
lldb::BreakpointSP
|
||||||
SetThreadCreationBreakpoint(lldb_private::Target &target) override;
|
SetThreadCreationBreakpoint(lldb_private::Target &target) override;
|
||||||
|
|
||||||
uint32_t
|
|
||||||
FindProcesses(const lldb_private::ProcessInstanceInfoMatch &match_info,
|
|
||||||
lldb_private::ProcessInstanceInfoList &process_infos) override;
|
|
||||||
|
|
||||||
bool ModuleIsExcludedForUnconstrainedSearches(
|
bool ModuleIsExcludedForUnconstrainedSearches(
|
||||||
lldb_private::Target &target, const lldb::ModuleSP &module_sp) override;
|
lldb_private::Target &target, const lldb::ModuleSP &module_sp) override;
|
||||||
|
|
||||||
|
|
|
@ -126,21 +126,6 @@ Error PlatformNetBSD::RunShellCommand(const char *command,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// From PlatformMacOSX only
|
|
||||||
Error PlatformNetBSD::GetFileWithUUID(const FileSpec &platform_file,
|
|
||||||
const UUID *uuid_ptr,
|
|
||||||
FileSpec &local_file) {
|
|
||||||
if (IsRemote()) {
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
return m_remote_platform_sp->GetFileWithUUID(platform_file, uuid_ptr,
|
|
||||||
local_file);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Default to the local case
|
|
||||||
local_file = platform_file;
|
|
||||||
return Error();
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
/// Default Constructor
|
/// Default Constructor
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
|
@ -238,33 +223,6 @@ Error PlatformNetBSD::DisconnectRemote() {
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PlatformNetBSD::GetProcessInfo(lldb::pid_t pid,
|
|
||||||
ProcessInstanceInfo &process_info) {
|
|
||||||
bool success = false;
|
|
||||||
if (IsHost()) {
|
|
||||||
success = Platform::GetProcessInfo(pid, process_info);
|
|
||||||
} else if (m_remote_platform_sp) {
|
|
||||||
success = m_remote_platform_sp->GetProcessInfo(pid, process_info);
|
|
||||||
}
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t
|
|
||||||
PlatformNetBSD::FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
|
||||||
ProcessInstanceInfoList &process_infos) {
|
|
||||||
uint32_t match_count = 0;
|
|
||||||
if (IsHost()) {
|
|
||||||
// Let the base class figure out the host details
|
|
||||||
match_count = Platform::FindProcesses(match_info, process_infos);
|
|
||||||
} else {
|
|
||||||
// If we are remote, we can only return results if we are connected
|
|
||||||
if (m_remote_platform_sp)
|
|
||||||
match_count =
|
|
||||||
m_remote_platform_sp->FindProcesses(match_info, process_infos);
|
|
||||||
}
|
|
||||||
return match_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *PlatformNetBSD::GetUserName(uint32_t uid) {
|
const char *PlatformNetBSD::GetUserName(uint32_t uid) {
|
||||||
// Check the cache in Platform in case we have already looked this uid up
|
// Check the cache in Platform in case we have already looked this uid up
|
||||||
const char *user_name = Platform::GetUserName(uid);
|
const char *user_name = Platform::GetUserName(uid);
|
||||||
|
|
|
@ -81,11 +81,6 @@ public:
|
||||||
|
|
||||||
const char *GetGroupName(uint32_t gid) override;
|
const char *GetGroupName(uint32_t gid) override;
|
||||||
|
|
||||||
bool GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &proc_info) override;
|
|
||||||
|
|
||||||
uint32_t FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
|
||||||
ProcessInstanceInfoList &process_infos) override;
|
|
||||||
|
|
||||||
Error LaunchProcess(ProcessLaunchInfo &launch_info) override;
|
Error LaunchProcess(ProcessLaunchInfo &launch_info) override;
|
||||||
|
|
||||||
lldb::ProcessSP Attach(ProcessAttachInfo &attach_info, Debugger &debugger,
|
lldb::ProcessSP Attach(ProcessAttachInfo &attach_info, Debugger &debugger,
|
||||||
|
@ -94,10 +89,6 @@ public:
|
||||||
// NetBSD processes can not be launched by spawning and attaching.
|
// NetBSD processes can not be launched by spawning and attaching.
|
||||||
bool CanDebugProcess() override { return false; }
|
bool CanDebugProcess() override { return false; }
|
||||||
|
|
||||||
// Only on PlatformMacOSX:
|
|
||||||
Error GetFileWithUUID(const FileSpec &platform_file, const UUID *uuid,
|
|
||||||
FileSpec &local_file) override;
|
|
||||||
|
|
||||||
Error GetSharedModule(const ModuleSpec &module_spec, Process *process,
|
Error GetSharedModule(const ModuleSpec &module_spec, Process *process,
|
||||||
lldb::ModuleSP &module_sp,
|
lldb::ModuleSP &module_sp,
|
||||||
const FileSpecList *module_search_paths_ptr,
|
const FileSpecList *module_search_paths_ptr,
|
||||||
|
|
|
@ -250,6 +250,38 @@ Error PlatformPOSIX::ResolveExecutable(const ModuleSpec &module_spec,
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Error PlatformPOSIX::GetFileWithUUID(const FileSpec &platform_file,
|
||||||
|
const UUID *uuid_ptr,
|
||||||
|
FileSpec &local_file) {
|
||||||
|
if (IsRemote() && m_remote_platform_sp)
|
||||||
|
return m_remote_platform_sp->GetFileWithUUID(platform_file, uuid_ptr,
|
||||||
|
local_file);
|
||||||
|
|
||||||
|
// Default to the local case
|
||||||
|
local_file = platform_file;
|
||||||
|
return Error();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PlatformPOSIX::GetProcessInfo(lldb::pid_t pid,
|
||||||
|
ProcessInstanceInfo &process_info) {
|
||||||
|
if (IsHost())
|
||||||
|
return Platform::GetProcessInfo(pid, process_info);
|
||||||
|
if (m_remote_platform_sp)
|
||||||
|
return m_remote_platform_sp->GetProcessInfo(pid, process_info);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t
|
||||||
|
PlatformPOSIX::FindProcesses(const ProcessInstanceInfoMatch &match_info,
|
||||||
|
ProcessInstanceInfoList &process_infos) {
|
||||||
|
if (IsHost())
|
||||||
|
return Platform::FindProcesses(match_info, process_infos);
|
||||||
|
if (m_remote_platform_sp)
|
||||||
|
return
|
||||||
|
m_remote_platform_sp->FindProcesses(match_info, process_infos);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
Error PlatformPOSIX::MakeDirectory(const FileSpec &file_spec,
|
Error PlatformPOSIX::MakeDirectory(const FileSpec &file_spec,
|
||||||
uint32_t file_permissions) {
|
uint32_t file_permissions) {
|
||||||
if (m_remote_platform_sp)
|
if (m_remote_platform_sp)
|
||||||
|
@ -1003,3 +1035,12 @@ size_t PlatformPOSIX::ConnectToWaitingProcesses(Debugger &debugger,
|
||||||
return m_remote_platform_sp->ConnectToWaitingProcesses(debugger, error);
|
return m_remote_platform_sp->ConnectToWaitingProcesses(debugger, error);
|
||||||
return Platform::ConnectToWaitingProcesses(debugger, error);
|
return Platform::ConnectToWaitingProcesses(debugger, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ConstString PlatformPOSIX::GetFullNameForDylib(ConstString basename) {
|
||||||
|
if (basename.IsEmpty())
|
||||||
|
return basename;
|
||||||
|
|
||||||
|
StreamString stream;
|
||||||
|
stream.Printf("lib%s.so", basename.GetCString());
|
||||||
|
return ConstString(stream.GetString());
|
||||||
|
}
|
||||||
|
|
|
@ -105,6 +105,14 @@ public:
|
||||||
lldb::ModuleSP &module_sp,
|
lldb::ModuleSP &module_sp,
|
||||||
const lldb_private::FileSpecList *module_search_paths_ptr) override;
|
const lldb_private::FileSpecList *module_search_paths_ptr) override;
|
||||||
|
|
||||||
|
lldb_private::Error GetFileWithUUID(const lldb_private::FileSpec &platform_file, const lldb_private::UUID *uuid,
|
||||||
|
lldb_private::FileSpec &local_file) override;
|
||||||
|
|
||||||
|
bool GetProcessInfo(lldb::pid_t pid, lldb_private::ProcessInstanceInfo &proc_info) override;
|
||||||
|
|
||||||
|
uint32_t FindProcesses(const lldb_private::ProcessInstanceInfoMatch &match_info,
|
||||||
|
lldb_private::ProcessInstanceInfoList &process_infos) override;
|
||||||
|
|
||||||
lldb_private::Error MakeDirectory(const lldb_private::FileSpec &file_spec,
|
lldb_private::Error MakeDirectory(const lldb_private::FileSpec &file_spec,
|
||||||
uint32_t mode) override;
|
uint32_t mode) override;
|
||||||
|
|
||||||
|
@ -169,6 +177,8 @@ public:
|
||||||
size_t ConnectToWaitingProcesses(lldb_private::Debugger &debugger,
|
size_t ConnectToWaitingProcesses(lldb_private::Debugger &debugger,
|
||||||
lldb_private::Error &error) override;
|
lldb_private::Error &error) override;
|
||||||
|
|
||||||
|
lldb_private::ConstString GetFullNameForDylib(lldb_private::ConstString basename) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::unique_ptr<lldb_private::OptionGroupPlatformRSync>
|
std::unique_ptr<lldb_private::OptionGroupPlatformRSync>
|
||||||
m_option_group_platform_rsync;
|
m_option_group_platform_rsync;
|
||||||
|
|
Loading…
Reference in New Issue