Go to the documentation of this file.
9 #ifndef LLDB_TARGET_PLATFORM_H
10 #define LLDB_TARGET_PLATFORM_H
31 #include "llvm/Support/VersionTuple.h"
35 class ProcessInstanceInfo;
36 class ProcessInstanceInfoMatch;
101 static lldb::PlatformSP
Create(llvm::StringRef name);
106 llvm::StringRef triple);
139 lldb::ModuleSP &module_sp,
140 const FileSpecList *module_search_paths_ptr);
292 lldb::ModuleSP &module_sp,
const FileSpecList *module_search_paths_ptr,
308 virtual std::vector<ArchSpec>
332 bool exact_arch_match,
350 virtual lldb::ProcessSP
ConnectProcess(llvm::StringRef connect_url,
351 llvm::StringRef plugin_name,
355 virtual lldb::ProcessSP
357 llvm::StringRef plugin_name,
Debugger &debugger,
467 std::vector<std::string> &options);
479 const lldb::ModuleSP &module_sp) {
550 unsigned prot,
unsigned flags,
587 llvm::StringRef command,
598 llvm::StringRef shell, llvm::StringRef command,
706 virtual lldb::UnwindPlanSP
799 const std::vector<std::string> &paths,
805 const std::vector<std::string> *paths,
844 virtual llvm::Expected<StructuredData::DictionarySP>
856 static std::vector<ArchSpec>
858 llvm::Triple::OSType os);
863 llvm::StringRef plugin_name,
915 const FileSpecList *module_search_paths_ptr);
918 const uint64_t src_offset,
919 const uint64_t src_size,
929 lldb::ModuleSP &exe_module_sp,
930 const FileSpecList *module_search_paths_ptr);
936 lldb::ModuleSP &module_sp,
938 bool *did_create_ptr);
941 lldb::ModuleSP &module_sp,
bool *did_create_ptr);
952 void Append(
const lldb::PlatformSP &platform_sp,
bool set_selected) {
953 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
960 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
965 lldb::PlatformSP platform_sp;
967 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
981 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
990 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
992 for (
size_t idx = 0; idx < num_platforms; ++idx) {
1003 lldb::PlatformSP
GetOrCreate(llvm::StringRef name);
1023 lldb::PlatformSP
GetOrCreate(llvm::ArrayRef<ArchSpec> archs,
1025 std::vector<lldb::PlatformSP> &candidates);
1027 lldb::PlatformSP
Create(llvm::StringRef name);
1118 #endif // LLDB_TARGET_PLATFORM_H
llvm::SmallVector< lldb::addr_t, 6 > MmapArgList
virtual llvm::StringRef GetPluginName()=0
static llvm::raw_ostream & error(Stream &strm)
string(SUBSTRING ${p} 10 -1 pStripped) if($
bool IsValid() const
Tests if this ArchSpec is valid.
#define LLDB_INVALID_QUEUE_ID
An abstract interface for things that know how to map numeric user/group IDs into names.
Generic representation of a type in a programming language.
A class that represents a running process on the host machine.
std::vector< ProcessInstanceInfo > ProcessInstanceInfoList