9#ifndef LLDB_TARGET_PLATFORM_H
10#define LLDB_TARGET_PLATFORM_H
37#include "llvm/Support/Compiler.h"
38#include "llvm/Support/Error.h"
39#include "llvm/Support/VersionTuple.h"
114 llvm::StringRef triple);
278 llvm::SmallDenseMap<FileSpec, LoadScriptFromSymFile>
284 virtual llvm::SmallDenseMap<FileSpec, LoadScriptFromSymFile>
294 static llvm::SmallDenseMap<FileSpec, LoadScriptFromSymFile>
344 virtual std::optional<ModuleSpec>
353 bool *did_create_ptr);
368 virtual std::vector<ArchSpec>
387 size_t size_hint = 0);
398 llvm::ArrayRef<uint8_t> bytes);
440 llvm::StringRef plugin_name,
446 llvm::StringRef plugin_name,
Debugger &debugger,
521 virtual llvm::Expected<std::pair<XcodeSDK, bool>>
523 return llvm::make_error<UnimplementedError>(
524 llvm::formatv(
"{0} not implemented for '{1}' platform.",
525 LLVM_PRETTY_FUNCTION,
GetName()));
537 virtual llvm::Expected<std::string>
539 return llvm::make_error<UnimplementedError>(
540 llvm::formatv(
"{0} not implemented for '{1}' platform.",
541 LLVM_PRETTY_FUNCTION,
GetName()));
549 virtual llvm::Expected<XcodeSDK>
551 return llvm::make_error<UnimplementedError>(
552 llvm::formatv(
"{0} not implemented for '{1}' platform.",
553 LLVM_PRETTY_FUNCTION,
GetName()));
564 virtual llvm::Expected<std::string>
566 return llvm::make_error<UnimplementedError>(
567 llvm::formatv(
"{0} not implemented for '{1}' platform.",
568 LLVM_PRETTY_FUNCTION,
GetName()));
620 std::vector<std::string> &options);
639 uint32_t &file_permissions);
642 uint32_t file_permissions);
703 unsigned prot,
unsigned flags,
740 llvm::StringRef command,
749 *separated_error_output,
754 llvm::StringRef shell, llvm::StringRef command,
763 *separated_error_output,
773 virtual llvm::ErrorOr<llvm::MD5::MD5Result>
958 const std::vector<std::string> &paths,
964 const std::vector<std::string> *paths,
969 uint32_t image_token);
1003 virtual llvm::Expected<StructuredData::DictionarySP>
1057 virtual llvm::Expected<FileSpecList>
1065 static std::vector<ArchSpec>
1067 llvm::Triple::OSType os);
1072 llvm::StringRef plugin_name,
1127 const uint64_t src_offset,
1128 const uint64_t src_size,
1160 bool *did_create_ptr);
1175 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1182 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1189 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1203 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1212 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1214 for (
size_t idx = 0; idx < num_platforms; ++idx) {
1215 if (
m_platforms[idx].get() == platform_sp.get()) {
1247 std::vector<lldb::PlatformSP> &candidates);
1295 SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
1322 SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
1347 SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
static llvm::raw_ostream & error(Stream &strm)
A section + offset based address class.
An architecture specification class.
A command line argument class.
Class that manages the actual breakpoint that will be inserted into the running program.
A class that describes a compilation unit.
Generic representation of a type in a programming language.
"lldb/Utility/ArgCompletionRequest.h"
A uniqued constant string class.
A class to manage flag bits.
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
A class that describes an executable image and its associated object and symbol files.
virtual llvm::StringRef GetPluginName()=0
PluginInterface()=default
A plug-in interface definition class for debugging a process.
Holds an lldb_private::Module name and a "sanitized" version of it for the purposes of loading a scri...
A class to count time for plugins.
A stream class that can stream formatted output to a file.
Represents UUID's of various sizes.
An abstract interface for things that know how to map numeric user/group IDs into names.
#define LLDB_INVALID_QUEUE_ID
A class that represents a running process on the host machine.
llvm::SmallVector< lldb::addr_t, 6 > MmapArgList
std::vector< ProcessInstanceInfo > ProcessInstanceInfoList
std::shared_ptr< lldb_private::UnixSignals > UnixSignalsSP
std::shared_ptr< lldb_private::Platform > PlatformSP
std::shared_ptr< lldb_private::Breakpoint > BreakpointSP
std::shared_ptr< lldb_private::Process > ProcessSP
std::shared_ptr< lldb_private::UnwindPlan > UnwindPlanSP
std::shared_ptr< lldb_private::StopInfo > StopInfoSP
std::shared_ptr< lldb_private::Module > ModuleSP