SBPlatform (const char *);
- %feature("docstring", "
- Create a platform instance using a specific platform plugin name, debugger,
- script name and user-provided dictionary.
-
- :param platform_name: name of the platform plugin to use to create the platform
- :param debugger: debugger instance owning the platform
- :param script_name: name of the script class and module to use to create the platform
- :param dict: user-provided dictionary that can be used when instanciating a platform
- ")
- SBPlatform (const char *, const SBDebugger&,
- const char *, const SBStructuredData&);
-
~SBPlatform();
static SBPlatform GetHostPlatform();
const SBFileSpec &trace_description_file);
private:
- friend class SBPlatform;
friend class SBCommandInterpreter;
friend class SBInputReader;
friend class SBListener;
SBPlatform(const char *platform_name);
- SBPlatform(const char *platform_name, const SBDebugger &debugger,
- const char *script_name, const SBStructuredData &dict);
-
SBPlatform(const SBPlatform &rhs);
SBPlatform &operator=(const SBPlatform &rhs);
friend class SBLaunchInfo;
friend class SBDebugger;
friend class SBTarget;
- friend class SBPlatform;
friend class SBProcess;
friend class SBThread;
friend class SBThreadPlan;
#ifndef LLDB_INTERPRETER_OPTIONGROUPPLATFORM_H
#define LLDB_INTERPRETER_OPTIONGROUPPLATFORM_H
-#include "lldb/Interpreter/OptionGroupPythonClassWithDict.h"
#include "lldb/Interpreter/Options.h"
#include "lldb/Utility/ConstString.h"
#include "llvm/Support/VersionTuple.h"
namespace lldb_private {
-class CommandObjectPlatformSelect;
// PlatformOptionGroup
//
// Make platform options available to any commands that need the settings.
class OptionGroupPlatform : public OptionGroup {
public:
OptionGroupPlatform(bool include_platform_option)
- : m_include_platform_option(include_platform_option),
- m_class_options("scripted platform", true, 'C', 'K', 'V', 0) {}
+ : m_include_platform_option(include_platform_option) {}
~OptionGroupPlatform() override = default;
bool PlatformMatches(const lldb::PlatformSP &platform_sp) const;
protected:
- friend class CommandObjectPlatformSelect;
-
std::string m_platform_name;
ConstString m_sdk_sysroot;
ConstString m_sdk_build;
llvm::VersionTuple m_os_version;
bool m_include_platform_option;
- OptionGroupPythonClassWithDict m_class_options;
};
} // namespace lldb_private
#include "lldb/Core/UserSettingsController.h"
#include "lldb/Host/File.h"
#include "lldb/Interpreter/Options.h"
-#include "lldb/Interpreter/ScriptedMetadata.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/FileSpec.h"
static void SetHostPlatform(const lldb::PlatformSP &platform_sp);
- static lldb::PlatformSP Create(llvm::StringRef name, const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP Create(llvm::StringRef name);
/// Augments the triple either with information from platform or the host
/// system (if platform is null).
class PlatformList {
public:
- PlatformList(Debugger &debugger) : m_debugger(debugger) {}
+ PlatformList() = default;
~PlatformList() = default;
}
}
- lldb::PlatformSP GetOrCreate(llvm::StringRef name,
- const ScriptedMetadata *metadata);
+ lldb::PlatformSP GetOrCreate(llvm::StringRef name);
lldb::PlatformSP GetOrCreate(const ArchSpec &arch,
const ArchSpec &process_host_arch,
- ArchSpec *platform_arch_ptr, Status &error,
- const ScriptedMetadata *metadata);
+ ArchSpec *platform_arch_ptr, Status &error);
lldb::PlatformSP GetOrCreate(const ArchSpec &arch,
const ArchSpec &process_host_arch,
- ArchSpec *platform_arch_ptr,
- const ScriptedMetadata *metadata);
+ ArchSpec *platform_arch_ptr);
/// Get the platform for the given list of architectures.
///
/// given architecture.
lldb::PlatformSP GetOrCreate(llvm::ArrayRef<ArchSpec> archs,
const ArchSpec &process_host_arch,
- std::vector<lldb::PlatformSP> &candidates,
- const ScriptedMetadata *metadata);
+ std::vector<lldb::PlatformSP> &candidates);
- lldb::PlatformSP Create(llvm::StringRef name,
- const ScriptedMetadata *metadata);
+ lldb::PlatformSP Create(llvm::StringRef name);
/// Detect a binary in memory that will determine which Platform and
/// DynamicLoader should be used in this target/process, and update
private:
PlatformList(const PlatformList &) = delete;
const PlatformList &operator=(const PlatformList &) = delete;
- Debugger &m_debugger;
};
class OptionGroupPlatformRSync : public lldb_private::OptionGroup {
} // namespace llvm
namespace lldb_private {
-class ScriptedMetadata;
typedef lldb::ABISP (*ABICreateInstance)(lldb::ProcessSP process_sp,
const ArchSpec &arch);
typedef std::unique_ptr<Architecture> (*ArchitectureCreateInstance)(
typedef Status (*StructuredDataFilterLaunchInfo)(ProcessLaunchInfo &launch_info,
Target *target);
typedef SystemRuntime *(*SystemRuntimeCreateInstance)(Process *process);
-typedef lldb::PlatformSP (*PlatformCreateInstance)(
- bool force, const ArchSpec *arch, const Debugger *debugger,
- const ScriptedMetadata *metadata);
+typedef lldb::PlatformSP (*PlatformCreateInstance)(bool force,
+ const ArchSpec *arch);
typedef lldb::ProcessSP (*ProcessCreateInstance)(
lldb::TargetSP target_sp, lldb::ListenerSP listener_sp,
const FileSpec *crash_file_path, bool can_connect);
if (m_opaque_sp) {
if (platform_name_cstr && platform_name_cstr[0]) {
PlatformList &platforms = m_opaque_sp->GetPlatformList();
- if (PlatformSP platform_sp = platforms.GetOrCreate(
- platform_name_cstr, /*metadata = */ nullptr))
+ if (PlatformSP platform_sp = platforms.GetOrCreate(platform_name_cstr))
platforms.SetSelectedPlatform(platform_sp);
else
sb_error.ref().SetErrorString("platform not found");
//===----------------------------------------------------------------------===//
#include "lldb/API/SBPlatform.h"
-#include "lldb/API/SBDebugger.h"
#include "lldb/API/SBEnvironment.h"
#include "lldb/API/SBError.h"
#include "lldb/API/SBFileSpec.h"
#include "lldb/API/SBLaunchInfo.h"
#include "lldb/API/SBPlatform.h"
-#include "lldb/API/SBStructuredData.h"
#include "lldb/API/SBUnixSignals.h"
#include "lldb/Host/File.h"
-#include "lldb/Interpreter/ScriptedMetadata.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/ArchSpec.h"
SBPlatform::SBPlatform(const char *platform_name) {
LLDB_INSTRUMENT_VA(this, platform_name);
- m_opaque_sp = Platform::Create(platform_name, /*debugger = */ nullptr,
- /*metadata = */ nullptr);
-}
-
-SBPlatform::SBPlatform(const char *platform_name, const SBDebugger &debugger,
- const char *script_name, const SBStructuredData &dict) {
- LLDB_INSTRUMENT_VA(this, platform_name, debugger, script_name, dict);
-
- if (!script_name || !dict.IsValid() || !dict.m_impl_up)
- return;
-
- StructuredData::ObjectSP obj_sp = dict.m_impl_up->GetObjectSP();
-
- if (!obj_sp)
- return;
-
- StructuredData::DictionarySP dict_sp =
- std::make_shared<StructuredData::Dictionary>(obj_sp);
- if (!dict_sp || dict_sp->GetType() == lldb::eStructuredDataTypeInvalid)
- return;
-
- const ScriptedMetadata metadata(script_name, dict_sp);
-
- m_opaque_sp =
- Platform::Create(platform_name, debugger.m_opaque_sp.get(), &metadata);
+ m_opaque_sp = Platform::Create(platform_name);
}
SBPlatform::SBPlatform(const SBPlatform &rhs) {
};
// "platform select <platform-name>"
-CommandObjectPlatformSelect::CommandObjectPlatformSelect(
- CommandInterpreter &interpreter)
- : CommandObjectParsed(interpreter, "platform select",
- "Create a platform if needed and select it as the "
- "current platform.",
- "platform select <platform-name>", 0),
- m_platform_options(
- false) // Don't include the "--platform" option by passing false
-{
- m_option_group.Append(&m_platform_options, LLDB_OPT_SET_ALL, 1);
- m_option_group.Append(&m_platform_options.m_class_options,
- LLDB_OPT_SET_1 | LLDB_OPT_SET_2, LLDB_OPT_SET_ALL);
- m_option_group.Finalize();
- CommandArgumentData platform_arg{eArgTypePlatform, eArgRepeatPlain};
- m_arguments.push_back({platform_arg});
-}
+class CommandObjectPlatformSelect : public CommandObjectParsed {
+public:
+ CommandObjectPlatformSelect(CommandInterpreter &interpreter)
+ : CommandObjectParsed(interpreter, "platform select",
+ "Create a platform if needed and select it as the "
+ "current platform.",
+ "platform select <platform-name>", 0),
+ m_platform_options(
+ false) // Don't include the "--platform" option by passing false
+ {
+ m_option_group.Append(&m_platform_options, LLDB_OPT_SET_ALL, 1);
+ m_option_group.Finalize();
+ CommandArgumentData platform_arg{eArgTypePlatform, eArgRepeatPlain};
+ m_arguments.push_back({platform_arg});
+ }
-void CommandObjectPlatformSelect::HandleCompletion(CompletionRequest &request) {
- CommandCompletions::PlatformPluginNames(GetCommandInterpreter(), request,
- nullptr);
-}
+ ~CommandObjectPlatformSelect() override = default;
-Options *CommandObjectPlatformSelect::GetOptions() { return &m_option_group; }
+ void HandleCompletion(CompletionRequest &request) override {
+ CommandCompletions::PlatformPluginNames(GetCommandInterpreter(), request,
+ nullptr);
+ }
-bool CommandObjectPlatformSelect::DoExecute(Args &args,
- CommandReturnObject &result) {
- if (args.GetArgumentCount() == 1) {
- const char *platform_name = args.GetArgumentAtIndex(0);
- if (platform_name && platform_name[0]) {
- const bool select = true;
- m_platform_options.SetPlatformName(platform_name);
- Status error;
- ArchSpec platform_arch;
- PlatformSP platform_sp(m_platform_options.CreatePlatformWithOptions(
- m_interpreter, ArchSpec(), select, error, platform_arch));
- if (platform_sp) {
- GetDebugger().GetPlatformList().SetSelectedPlatform(platform_sp);
+ Options *GetOptions() override { return &m_option_group; }
- platform_sp->GetStatus(result.GetOutputStream());
- result.SetStatus(eReturnStatusSuccessFinishResult);
+protected:
+ bool DoExecute(Args &args, CommandReturnObject &result) override {
+ if (args.GetArgumentCount() == 1) {
+ const char *platform_name = args.GetArgumentAtIndex(0);
+ if (platform_name && platform_name[0]) {
+ const bool select = true;
+ m_platform_options.SetPlatformName(platform_name);
+ Status error;
+ ArchSpec platform_arch;
+ PlatformSP platform_sp(m_platform_options.CreatePlatformWithOptions(
+ m_interpreter, ArchSpec(), select, error, platform_arch));
+ if (platform_sp) {
+ GetDebugger().GetPlatformList().SetSelectedPlatform(platform_sp);
+
+ platform_sp->GetStatus(result.GetOutputStream());
+ result.SetStatus(eReturnStatusSuccessFinishResult);
+ } else {
+ result.AppendError(error.AsCString());
+ }
} else {
- result.AppendError(error.AsCString());
+ result.AppendError("invalid platform name");
}
} else {
- result.AppendError("invalid platform name");
+ result.AppendError(
+ "platform create takes a platform name as an argument\n");
}
- } else {
- result.AppendError(
- "platform create takes a platform name as an argument\n");
+ return result.Succeeded();
}
- return result.Succeeded();
-}
+
+ OptionGroupOptions m_option_group;
+ OptionGroupPlatform m_platform_options;
+};
// "platform list"
class CommandObjectPlatformList : public CommandObjectParsed {
#define LLDB_SOURCE_COMMANDS_COMMANDOBJECTPLATFORM_H
#include "lldb/Interpreter/CommandObjectMultiword.h"
-#include "lldb/Interpreter/OptionGroupPlatform.h"
namespace lldb_private {
operator=(const CommandObjectPlatform &) = delete;
};
-class CommandObjectPlatformSelect : public CommandObjectParsed {
-public:
- CommandObjectPlatformSelect(CommandInterpreter &interpreter);
-
- ~CommandObjectPlatformSelect() override = default;
-
- void HandleCompletion(CompletionRequest &request) override;
-
- Options *GetOptions() override;
-
-protected:
- bool DoExecute(Args &args, CommandReturnObject &result) override;
-
- OptionGroupOptions m_option_group;
- OptionGroupPlatform m_platform_options;
-};
-
} // namespace lldb_private
#endif // LLDB_SOURCE_COMMANDS_COMMANDOBJECTPLATFORM_H
m_error_stream_sp(std::make_shared<StreamFile>(stderr, false)),
m_input_recorder(nullptr),
m_broadcaster_manager_sp(BroadcasterManager::MakeBroadcasterManager()),
- m_terminal_state(), m_target_list(*this), m_platform_list(*this),
+ m_terminal_state(), m_target_list(*this), m_platform_list(),
m_listener_sp(Listener::MakeListener("lldb.Debugger")),
m_source_manager_up(), m_source_file_cache(),
m_command_interpreter_up(
#include "lldb/Host/OptionParser.h"
#include "lldb/Interpreter/CommandInterpreter.h"
-#include "lldb/Interpreter/ScriptedMetadata.h"
#include "lldb/Target/Platform.h"
using namespace lldb;
PlatformSP platform_sp;
- const ScriptedMetadata metadata(m_class_options);
-
if (!m_platform_name.empty()) {
- platform_sp = platforms.Create(m_platform_name, &metadata);
+ platform_sp = platforms.Create(m_platform_name);
if (!platform_sp) {
error.SetErrorStringWithFormatv(
"unable to find a plug-in for the platform named \"{0}\"",
}
}
} else if (arch.IsValid()) {
- platform_sp =
- platforms.GetOrCreate(arch, {}, &platform_arch, error, &metadata);
+ platform_sp = platforms.GetOrCreate(arch, {}, &platform_arch, error);
}
if (platform_sp) {
process->SetCanRunCode(false);
PlatformSP platform_sp =
process->GetTarget().GetDebugger().GetPlatformList().Create(
- PlatformDarwinKernel::GetPluginNameStatic(), /*metadata = */ nullptr);
+ PlatformDarwinKernel::GetPluginNameStatic());
if (platform_sp.get())
process->GetTarget().SetPlatform(platform_sp);
}
PlatformLinux::Terminate();
}
-PlatformSP PlatformAndroid::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformAndroid::CreateInstance(bool force, const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
if (log) {
const char *arch_name;
static void Terminate();
// lldb_private::PluginInterface functions
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static llvm::StringRef GetPluginNameStatic(bool is_host) {
return is_host ? Platform::GetHostPlatformName() : "remote-android";
static uint32_t g_initialize_count = 0;
-PlatformSP PlatformFreeBSD::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+
+PlatformSP PlatformFreeBSD::CreateInstance(bool force, const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
LLDB_LOG(log, "force = {0}, arch=({1}, {2})", force,
arch ? arch->GetArchitectureName() : "<null>",
static void Terminate();
// lldb_private::PluginInterface functions
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static llvm::StringRef GetPluginNameStatic(bool is_host) {
return is_host ? Platform::GetHostPlatformName() : "remote-freebsd";
static uint32_t g_initialize_count = 0;
-PlatformSP PlatformLinux::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+
+PlatformSP PlatformLinux::CreateInstance(bool force, const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
LLDB_LOG(log, "force = {0}, arch=({1}, {2})", force,
arch ? arch->GetArchitectureName() : "<null>",
static void Terminate();
// lldb_private::PluginInterface functions
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static llvm::StringRef GetPluginNameStatic(bool is_host) {
return is_host ? Platform::GetHostPlatformName() : "remote-linux";
PluginManager::UnregisterPlugin(PlatformiOSSimulator::CreateInstance);
}
- static PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+ static PlatformSP CreateInstance(bool force, const ArchSpec *arch) {
if (shouldSkipSimulatorPlatform(force, arch))
return nullptr;
PluginManager::UnregisterPlugin(PlatformAppleTVSimulator::CreateInstance);
}
- static PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+ static PlatformSP CreateInstance(bool force, const ArchSpec *arch) {
if (shouldSkipSimulatorPlatform(force, arch))
return nullptr;
return PlatformAppleSimulator::CreateInstance(
PlatformAppleWatchSimulator::CreateInstance);
}
- static PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+ static PlatformSP CreateInstance(bool force, const ArchSpec *arch) {
if (shouldSkipSimulatorPlatform(force, arch))
return nullptr;
return PlatformAppleSimulator::CreateInstance(
return "Darwin platform plug-in.";
}
-PlatformSP PlatformDarwin::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
- // We only create subclasses of the PlatformDarwin plugin.
- return PlatformSP();
+PlatformSP PlatformDarwin::CreateInstance(bool force, const ArchSpec *arch) {
+ // We only create subclasses of the PlatformDarwin plugin.
+ return PlatformSP();
}
#define LLDB_PROPERTIES_platformdarwin
~PlatformDarwin() override;
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void DebuggerInitialize(lldb_private::Debugger &debugger);
PlatformDarwin::Terminate();
}
-PlatformSP
-PlatformDarwinKernel::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformDarwinKernel::CreateInstance(bool force,
+ const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
if (log) {
const char *arch_name;
PlatformSP platform_sp =
process->GetTarget().GetDebugger().GetPlatformList().Create(
- PlatformDarwinKernel::GetPluginNameStatic(), /*metadata = */ nullptr);
+ PlatformDarwinKernel::GetPluginNameStatic());
if (platform_sp)
process->GetTarget().SetPlatform(platform_sp);
class PlatformDarwinKernel : public PlatformDarwin {
public:
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void DebuggerInitialize(Debugger &debugger);
return "Local Mac OS X user platform plug-in.";
}
-PlatformSP PlatformMacOSX::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformMacOSX::CreateInstance(bool force, const ArchSpec *arch) {
// The only time we create an instance is when we are creating a remote
// macosx platform which is handled by PlatformRemoteMacOSX.
return PlatformSP();
public:
PlatformMacOSX();
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void Initialize();
PlatformDarwin::Terminate();
}
-PlatformSP
-PlatformRemoteAppleBridge::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformRemoteAppleBridge::CreateInstance(bool force,
+ const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
if (log) {
const char *arch_name;
public:
PlatformRemoteAppleBridge();
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void Initialize();
PlatformDarwin::Terminate();
}
-PlatformSP
-PlatformRemoteAppleTV::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformRemoteAppleTV::CreateInstance(bool force,
+ const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
if (log) {
const char *arch_name;
PlatformRemoteAppleTV();
// Class Functions
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force,
+ const lldb_private::ArchSpec *arch);
static void Initialize();
PlatformDarwin::Terminate();
}
-PlatformSP
-PlatformRemoteAppleWatch::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformRemoteAppleWatch::CreateInstance(bool force,
+ const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
if (log) {
const char *arch_name;
public:
PlatformRemoteAppleWatch();
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void Initialize();
PlatformDarwin::Terminate();
}
-PlatformSP
-PlatformRemoteMacOSX::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformRemoteMacOSX::CreateInstance(bool force,
+ const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
if (log) {
const char *arch_name;
public:
PlatformRemoteMacOSX();
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void Initialize();
PlatformDarwin::Terminate();
}
-PlatformSP PlatformRemoteiOS::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformRemoteiOS::CreateInstance(bool force, const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
if (log) {
const char *arch_name;
public:
PlatformRemoteiOS();
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void Initialize();
static uint32_t g_initialize_count = 0;
-PlatformSP PlatformNetBSD::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+
+PlatformSP PlatformNetBSD::CreateInstance(bool force, const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
LLDB_LOG(log, "force = {0}, arch=({1}, {2})", force,
arch ? arch->GetArchitectureName() : "<null>",
static void Terminate();
// lldb_private::PluginInterface functions
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static llvm::StringRef GetPluginNameStatic(bool is_host) {
return is_host ? Platform::GetHostPlatformName() : "remote-netbsd";
static uint32_t g_initialize_count = 0;
-PlatformSP PlatformOpenBSD::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+
+PlatformSP PlatformOpenBSD::CreateInstance(bool force, const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
LLDB_LOG(log, "force = {0}, arch=({1}, {2})", force,
arch ? arch->GetArchitectureName() : "<null>",
static void Terminate();
// lldb_private::PluginInterface functions
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static llvm::StringRef GetPluginNameStatic(bool is_host) {
return is_host ? Platform::GetHostPlatformName() : "remote-openbsd";
if (!m_remote_platform_sp)
m_remote_platform_sp =
platform_gdb_server::PlatformRemoteGDBServer::CreateInstance(
- /*force=*/true, /*arch=*/nullptr, /*debugger=*/nullptr,
- /*metadata=*/nullptr);
+ /*force=*/true, nullptr);
if (m_remote_platform_sp && error.Success())
error = m_remote_platform_sp->ConnectRemote(args);
}
}
-PlatformSP PlatformQemuUser::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformQemuUser::CreateInstance(bool force, const ArchSpec *arch) {
if (force)
return PlatformSP(new PlatformQemuUser());
return nullptr;
}
private:
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static void DebuggerInitialize(Debugger &debugger);
PlatformQemuUser() : Platform(/*is_host=*/true) {}
static uint32_t g_initialize_count = 0;
-PlatformSP PlatformWindows::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformWindows::CreateInstance(bool force,
+ const lldb_private::ArchSpec *arch) {
// The only time we create an instance is when we are creating a remote
// windows platform
const bool is_host = false;
"can't connect to the host platform '{0}', always connected",
GetPluginName());
} else {
- if (!m_remote_platform_sp) {
+ if (!m_remote_platform_sp)
m_remote_platform_sp =
platform_gdb_server::PlatformRemoteGDBServer::CreateInstance(
- /*force=*/true, /*arch=*/nullptr, /*debugger=*/nullptr,
- /*metadata=*/nullptr);
- }
+ /*force=*/true, nullptr);
if (m_remote_platform_sp) {
if (error.Success()) {
static void Terminate();
// lldb_private::PluginInterface functions
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force,
+ const lldb_private::ArchSpec *arch);
static llvm::StringRef GetPluginNameStatic(bool is_host) {
return is_host ? Platform::GetHostPlatformName() : "remote-windows";
Platform::Terminate();
}
-PlatformSP
-PlatformRemoteGDBServer::CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformRemoteGDBServer::CreateInstance(bool force,
+ const ArchSpec *arch) {
bool create = force;
if (!create) {
create = !arch->TripleVendorWasSpecified() && !arch->TripleOSWasSpecified();
static void Terminate();
- static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata);
+ static lldb::PlatformSP CreateInstance(bool force, const ArchSpec *arch);
static llvm::StringRef GetPluginNameStatic() { return "remote-gdb-server"; }
return FileSpecList();
}
+// PlatformSP
+// Platform::FindPlugin (Process *process, ConstString plugin_name)
+//{
+// PlatformCreateInstance create_callback = nullptr;
+// if (plugin_name)
+// {
+// create_callback =
+// PluginManager::GetPlatformCreateCallbackForPluginName (plugin_name);
+// if (create_callback)
+// {
+// ArchSpec arch;
+// if (process)
+// {
+// arch = process->GetTarget().GetArchitecture();
+// }
+// PlatformSP platform_sp(create_callback(process, &arch));
+// if (platform_sp)
+// return platform_sp;
+// }
+// }
+// else
+// {
+// for (uint32_t idx = 0; (create_callback =
+// PluginManager::GetPlatformCreateCallbackAtIndex(idx)) != nullptr;
+// ++idx)
+// {
+// PlatformSP platform_sp(create_callback(process, nullptr));
+// if (platform_sp)
+// return platform_sp;
+// }
+// }
+// return PlatformSP();
+//}
+
Status Platform::GetSharedModule(
const ModuleSpec &module_spec, Process *process, ModuleSP &module_sp,
const FileSpecList *module_search_paths_ptr,
module_spec);
}
-PlatformSP Platform::Create(llvm::StringRef name, const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+PlatformSP Platform::Create(llvm::StringRef name) {
lldb::PlatformSP platform_sp;
if (name == GetHostPlatformName())
return GetHostPlatform();
if (PlatformCreateInstance create_callback =
PluginManager::GetPlatformCreateCallbackForPluginName(name))
- return create_callback(true, nullptr, debugger, metadata);
+ return create_callback(true, nullptr);
return nullptr;
}
return {};
}
-PlatformSP PlatformList::GetOrCreate(llvm::StringRef name,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformList::GetOrCreate(llvm::StringRef name) {
std::lock_guard<std::recursive_mutex> guard(m_mutex);
for (const PlatformSP &platform_sp : m_platforms) {
if (platform_sp->GetName() == name)
return platform_sp;
}
- return Create(name, metadata);
+ return Create(name);
}
PlatformSP PlatformList::GetOrCreate(const ArchSpec &arch,
const ArchSpec &process_host_arch,
- ArchSpec *platform_arch_ptr, Status &error,
- const ScriptedMetadata *metadata) {
+ ArchSpec *platform_arch_ptr,
+ Status &error) {
std::lock_guard<std::recursive_mutex> guard(m_mutex);
// First try exact arch matches across all platforms already created
for (const auto &platform_sp : m_platforms) {
for (idx = 0;
(create_callback = PluginManager::GetPlatformCreateCallbackAtIndex(idx));
++idx) {
- PlatformSP platform_sp =
- create_callback(false, &arch, &m_debugger, metadata);
+ PlatformSP platform_sp = create_callback(false, &arch);
if (platform_sp &&
platform_sp->IsCompatibleArchitecture(
arch, process_host_arch, ArchSpec::ExactMatch, platform_arch_ptr)) {
for (idx = 0;
(create_callback = PluginManager::GetPlatformCreateCallbackAtIndex(idx));
++idx) {
- PlatformSP platform_sp =
- create_callback(false, &arch, &m_debugger, metadata);
+ PlatformSP platform_sp = create_callback(false, &arch);
if (platform_sp && platform_sp->IsCompatibleArchitecture(
arch, process_host_arch, ArchSpec::CompatibleMatch,
platform_arch_ptr)) {
PlatformSP PlatformList::GetOrCreate(const ArchSpec &arch,
const ArchSpec &process_host_arch,
- ArchSpec *platform_arch_ptr,
- const ScriptedMetadata *metadata) {
+ ArchSpec *platform_arch_ptr) {
Status error;
if (arch.IsValid())
- return GetOrCreate(arch, process_host_arch, platform_arch_ptr, error,
- metadata);
+ return GetOrCreate(arch, process_host_arch, platform_arch_ptr, error);
return nullptr;
}
PlatformSP PlatformList::GetOrCreate(llvm::ArrayRef<ArchSpec> archs,
const ArchSpec &process_host_arch,
- std::vector<PlatformSP> &candidates,
- const ScriptedMetadata *metadata) {
+ std::vector<PlatformSP> &candidates) {
candidates.clear();
candidates.reserve(archs.size());
// Collect a list of candidate platforms for the architectures.
for (const ArchSpec &arch : archs) {
- if (PlatformSP platform = GetOrCreate(arch, process_host_arch,
- /*platform_arch_ptr = */ nullptr,
- /*metadata = */ nullptr))
+ if (PlatformSP platform = GetOrCreate(arch, process_host_arch, nullptr))
candidates.push_back(platform);
}
return nullptr;
}
-PlatformSP PlatformList::Create(llvm::StringRef name,
- const ScriptedMetadata *metadata) {
+PlatformSP PlatformList::Create(llvm::StringRef name) {
std::lock_guard<std::recursive_mutex> guard(m_mutex);
- PlatformSP platform_sp = Platform::Create(name, &m_debugger, metadata);
+ PlatformSP platform_sp = Platform::Create(name);
m_platforms.push_back(platform_sp);
return platform_sp;
}
(create_callback = PluginManager::GetPlatformCreateCallbackAtIndex(idx));
++idx) {
ArchSpec arch;
- PlatformSP platform_sp =
- create_callback(true, &arch, &m_debugger, /*metadata = */ nullptr);
+ PlatformSP platform_sp = create_callback(true, &arch);
if (platform_sp) {
if (platform_sp->LoadPlatformBinaryAndSetup(process, addr, notify))
return true;
ArchSpec::CompatibleMatch, nullptr)) {
ArchSpec platform_arch;
platform_sp = GetTarget().GetDebugger().GetPlatformList().GetOrCreate(
- target_arch, process_host_arch, &platform_arch,
- /*metadata = */ nullptr);
+ target_arch, process_host_arch, &platform_arch);
if (platform_sp) {
GetTarget().SetPlatform(platform_sp);
GetTarget().SetArchitecture(platform_arch);
other, {}, ArchSpec::CompatibleMatch, nullptr)) {
ArchSpec platform_arch;
if (PlatformSP arch_platform_sp =
- GetDebugger().GetPlatformList().GetOrCreate(
- other, /*process_host_arch = */ {}, &platform_arch,
- /*metadata = */ nullptr)) {
+ GetDebugger().GetPlatformList().GetOrCreate(other, {},
+ &platform_arch)) {
SetPlatform(arch_platform_sp);
if (platform_arch.IsValid())
other = platform_arch;
std::vector<ArchSpec> archs;
for (const ModuleSpec &spec : module_specs.ModuleSpecs())
archs.push_back(spec.GetArchitecture());
- if (PlatformSP platform_for_archs_sp = platform_list.GetOrCreate(
- archs, /*process_host_arch = */ {}, candidates,
- /*metadata = */ nullptr)) {
+ if (PlatformSP platform_for_archs_sp =
+ platform_list.GetOrCreate(archs, {}, candidates)) {
platform_sp = platform_for_archs_sp;
} else if (candidates.empty()) {
error.SetErrorString("no matching platforms found for this file");
if (!prefer_platform_arch && arch.IsValid()) {
if (!platform_sp->IsCompatibleArchitecture(
arch, {}, ArchSpec::CompatibleMatch, nullptr)) {
- platform_sp =
- platform_list.GetOrCreate(arch, /*process_host_arch = */ {},
- &platform_arch, /*metadata = */ nullptr);
+ platform_sp = platform_list.GetOrCreate(arch, {}, &platform_arch);
if (platform_sp)
platform_list.SetSelectedPlatform(platform_sp);
}
ArchSpec fixed_platform_arch;
if (!platform_sp->IsCompatibleArchitecture(
platform_arch, {}, ArchSpec::CompatibleMatch, nullptr)) {
- platform_sp = platform_list.GetOrCreate(
- platform_arch, /*process_host_arch = */ {}, &fixed_platform_arch,
- /*metadata = */ nullptr);
+ platform_sp =
+ platform_list.GetOrCreate(platform_arch, {}, &fixed_platform_arch);
if (platform_sp)
platform_list.SetSelectedPlatform(platform_sp);
}
if (arch.IsValid()) {
if (!platform_sp || !platform_sp->IsCompatibleArchitecture(
arch, {}, ArchSpec::CompatibleMatch, nullptr))
- platform_sp = debugger.GetPlatformList().GetOrCreate(
- specified_arch, /*process_host_arch = */ {}, &arch,
- /*metadata = */ nullptr);
+ platform_sp =
+ debugger.GetPlatformList().GetOrCreate(specified_arch, {}, &arch);
}
if (!platform_sp)
[]() { Debugger::Initialize(nullptr); });
ArchSpec arch("x86_64-apple-macosx-");
Platform::SetHostPlatform(
- PlatformRemoteMacOSX::CreateInstance(true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ PlatformRemoteMacOSX::CreateInstance(true, &arch));
}
void TearDown() override {
PlatformMacOSX::Terminate();
// Set up a mock process.
ArchSpec arch("i386-pc-linux");
- Platform::SetHostPlatform(platform_linux::PlatformLinux::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(
+ platform_linux::PlatformLinux::CreateInstance(true, &arch));
lldb::DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);
lldb::TargetSP target_sp;
// Set up a wasm target
ArchSpec arch("wasm32-unknown-unknown-wasm");
lldb::PlatformSP host_platform_sp =
- platform_linux::PlatformLinux::CreateInstance(true, &arch,
- /*debugger=*/nullptr,
- /*metadata=*/nullptr);
+ platform_linux::PlatformLinux::CreateInstance(true, &arch);
ASSERT_TRUE(host_platform_sp);
Platform::SetHostPlatform(host_platform_sp);
lldb::DebuggerSP debugger_sp = Debugger::CreateInstance();
// Set up a wasm target
ArchSpec arch("wasm32-unknown-unknown-wasm");
lldb::PlatformSP host_platform_sp =
- platform_linux::PlatformLinux::CreateInstance(true, &arch,
- /*debugger=*/nullptr,
- /*metadata=*/nullptr);
+ platform_linux::PlatformLinux::CreateInstance(true, &arch);
ASSERT_TRUE(host_platform_sp);
Platform::SetHostPlatform(host_platform_sp);
lldb::DebuggerSP debugger_sp = Debugger::CreateInstance();
TEST_F(VerifyUserMultiwordCmdPathTest, TestErrors) {
ArchSpec arch("x86_64-apple-macosx-");
- Platform::SetHostPlatform(
- PlatformRemoteMacOSX::CreateInstance(true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
-
+ Platform::SetHostPlatform(PlatformRemoteMacOSX::CreateInstance(true, &arch));
+
DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);
#include "gtest/gtest.h"
#include "Plugins/Platform/MacOSX/PlatformAppleSimulator.h"
-#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
#include "Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h"
#include "Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h"
-#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
#include "Plugins/Platform/MacOSX/PlatformRemoteiOS.h"
#include "TestingSupport/SubsystemRAII.h"
-#include "lldb/Core/Debugger.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Target/Platform.h"
using namespace lldb;
using namespace lldb_private;
-static std::once_flag platform_initialize_flag;
-static std::once_flag debugger_initialize_flag;
-
class PlatformAppleSimulatorTest : public ::testing::Test {
SubsystemRAII<FileSystem, HostInfo, PlatformAppleSimulator, PlatformRemoteiOS,
PlatformRemoteAppleTV, PlatformRemoteAppleWatch>
subsystems;
-
-public:
- void SetUp() override {
- std::call_once(platform_initialize_flag,
- []() { PlatformMacOSX::Initialize(); });
- std::call_once(debugger_initialize_flag,
- []() { Debugger::Initialize(nullptr); });
- ArchSpec arch("x86_64-apple-macosx-");
- Platform::SetHostPlatform(
- PlatformRemoteMacOSX::CreateInstance(true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
- }
- void TearDown() override { PlatformMacOSX::Terminate(); }
-
-protected:
- DebuggerSP m_debugger_sp = nullptr;
};
#ifdef __APPLE__
static void testSimPlatformArchHasSimEnvironment(llvm::StringRef name) {
- auto platform_sp = Platform::Create(name, /*debugger=*/nullptr,
- /*metadata=*/nullptr);
+ auto platform_sp = Platform::Create(name);
ASSERT_TRUE(platform_sp);
int num_arches = 0;
};
for (auto sim : sim_platforms) {
- PlatformList list(*m_debugger_sp.get());
+ PlatformList list;
ArchSpec arch = platform_arch;
arch.GetTriple().setOS(sim);
arch.GetTriple().setEnvironment(llvm::Triple::Simulator);
- auto platform_sp = list.GetOrCreate(arch, {}, /*platform_arch_ptr=*/nullptr,
- /*metadata=*/nullptr);
+ auto platform_sp = list.GetOrCreate(arch, {}, nullptr);
EXPECT_TRUE(platform_sp);
}
}
llvm::Triple::WatchOS,
};
- PlatformList list(*m_debugger_sp.get());
- list.GetOrCreate("remote-ios", /*metadata=*/nullptr);
- list.GetOrCreate("remote-tvos", /*metadata=*/nullptr);
- list.GetOrCreate("remote-watchos", /*metadata=*/nullptr);
+ PlatformList list;
+ list.GetOrCreate("remote-ios");
+ list.GetOrCreate("remote-tvos");
+ list.GetOrCreate("remote-watchos");
for (auto sim : sim_platforms) {
ArchSpec arch = platform_arch;
arch.GetTriple().setEnvironment(llvm::Triple::Simulator);
Status error;
- auto platform_sp =
- list.GetOrCreate(arch, {}, /*platform_arch_ptr=*/nullptr, error,
- /*metadata=*/nullptr);
+ auto platform_sp = list.GetOrCreate(arch, {}, nullptr, error);
EXPECT_TRUE(platform_sp);
EXPECT_TRUE(platform_sp->GetName().contains("simulator"));
}
switch (arch.GetTriple().getOS()) {
case llvm::Triple::FreeBSD:
- platform_sp = platform_freebsd::PlatformFreeBSD::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr);
+ platform_sp =
+ platform_freebsd::PlatformFreeBSD::CreateInstance(true, &arch);
break;
case llvm::Triple::Linux:
- platform_sp = platform_linux::PlatformLinux::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr);
+ platform_sp = platform_linux::PlatformLinux::CreateInstance(true, &arch);
break;
case llvm::Triple::NetBSD:
- platform_sp = platform_netbsd::PlatformNetBSD::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr);
+ platform_sp =
+ platform_netbsd::PlatformNetBSD::CreateInstance(true, &arch);
break;
default:
llvm_unreachable("unknown ostype in triple");
#include "Plugins/Platform/POSIX/PlatformPOSIX.h"
#include "TestingSupport/SubsystemRAII.h"
-#include "lldb/Core/Debugger.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/HostInfo.h"
using namespace lldb;
using namespace lldb_private;
-static std::once_flag debugger_initialize_flag;
-
class TestPlatform : public PlatformPOSIX {
public:
TestPlatform() : PlatformPOSIX(false) {}
PluginManager::UnregisterPlugin(PlatformThumb::CreateInstance);
}
- static PlatformSP CreateInstance(bool force, const ArchSpec *arch,
- const Debugger *debugger,
- const ScriptedMetadata *metadata) {
+ static PlatformSP CreateInstance(bool force, const ArchSpec *arch) {
return std::make_shared<PlatformThumb>();
}
SubsystemRAII<FileSystem, HostInfo> subsystems;
protected:
- PlatformList *list = nullptr;
- DebuggerSP m_debugger_sp = nullptr;
-
- void SetUp() override {
- std::call_once(debugger_initialize_flag,
- []() { Debugger::Initialize(nullptr); });
- list = new PlatformList(*m_debugger_sp.get());
- }
-
- void TearDown() override { delete list; }
+ PlatformList list;
void SetHostPlatform(const PlatformSP &platform_sp) {
Platform::SetHostPlatform(platform_sp);
ASSERT_EQ(Platform::GetHostPlatform(), platform_sp);
- list->Append(platform_sp, /*set_selected=*/true);
+ list.Append(platform_sp, /*set_selected=*/true);
}
};
std::vector<PlatformSP> candidates;
// The host platform matches all architectures.
- PlatformSP platform_sp =
- list->GetOrCreate(archs, {}, candidates, /*metadata=*/nullptr);
+ PlatformSP platform_sp = list.GetOrCreate(archs, {}, candidates);
ASSERT_TRUE(platform_sp);
EXPECT_EQ(platform_sp, Platform::GetHostPlatform());
}
std::vector<PlatformSP> candidates;
// The host platform matches no architectures.
- PlatformSP platform_sp =
- list->GetOrCreate(archs, {}, candidates, /*metadata=*/nullptr);
+ PlatformSP platform_sp = list.GetOrCreate(archs, {}, candidates);
ASSERT_FALSE(platform_sp);
// The selected platform matches all architectures.
const PlatformSP selected_platform_sp = std::make_shared<PlatformArm>();
- list->Append(selected_platform_sp, /*set_selected=*/true);
- platform_sp = list->GetOrCreate(archs, {}, candidates, /*metadata=*/nullptr);
+ list.Append(selected_platform_sp, /*set_selected=*/true);
+ platform_sp = list.GetOrCreate(archs, {}, candidates);
ASSERT_TRUE(platform_sp);
EXPECT_EQ(platform_sp, selected_platform_sp);
}
std::vector<PlatformSP> candidates;
// The host platform matches one architecture.
- PlatformSP platform_sp =
- list->GetOrCreate(archs, {}, candidates, /*metadata=*/nullptr);
+ PlatformSP platform_sp = list.GetOrCreate(archs, {}, candidates);
ASSERT_TRUE(platform_sp);
EXPECT_EQ(platform_sp, Platform::GetHostPlatform());
// The selected and host platform each match one architecture.
// The selected platform is preferred.
const PlatformSP selected_platform_sp = std::make_shared<PlatformArm>();
- list->Append(selected_platform_sp, /*set_selected=*/true);
- platform_sp = list->GetOrCreate(archs, {}, candidates, /*metadata=*/nullptr);
+ list.Append(selected_platform_sp, /*set_selected=*/true);
+ platform_sp = list.GetOrCreate(archs, {}, candidates);
ASSERT_TRUE(platform_sp);
EXPECT_EQ(platform_sp, selected_platform_sp);
}
SetHostPlatform(std::make_shared<PlatformIntel>());
const PlatformSP selected_platform_sp = std::make_shared<PlatformArm>();
- list->Append(selected_platform_sp, /*set_selected=*/true);
+ list.Append(selected_platform_sp, /*set_selected=*/true);
const std::vector<ArchSpec> archs = {ArchSpec("thumbv7-apple-ps4"),
ArchSpec("thumbv7f-apple-ps4")};
std::vector<PlatformSP> candidates;
// The host platform matches one architecture.
- PlatformSP platform_sp =
- list->GetOrCreate(archs, {}, candidates, /*metadata=*/nullptr);
+ PlatformSP platform_sp = list.GetOrCreate(archs, {}, candidates);
ASSERT_TRUE(platform_sp);
EXPECT_EQ(platform_sp->GetName(), "thumb");
TEST_F(ProcessEventDataTest, DoOnRemoval) {
ArchSpec arch("x86_64-apple-macosx-");
- Platform::SetHostPlatform(
- PlatformRemoteMacOSX::CreateInstance(true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(PlatformRemoteMacOSX::CreateInstance(true, &arch));
DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);
TEST_F(ProcessEventDataTest, ShouldStop) {
ArchSpec arch("x86_64-apple-macosx-");
- Platform::SetHostPlatform(
- PlatformRemoteMacOSX::CreateInstance(true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(PlatformRemoteMacOSX::CreateInstance(true, &arch));
DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);
TEST_F(ExecutionContextTest, GetByteOrderTarget) {
ArchSpec arch("powerpc64-pc-linux");
- Platform::SetHostPlatform(platform_linux::PlatformLinux::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(
+ platform_linux::PlatformLinux::CreateInstance(true, &arch));
DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);
TEST_F(ExecutionContextTest, GetByteOrderProcess) {
ArchSpec arch("powerpc64-pc-linux");
- Platform::SetHostPlatform(platform_linux::PlatformLinux::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(
+ platform_linux::PlatformLinux::CreateInstance(true, &arch));
DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);
// Pretend Linux is the host platform.
platform_linux::PlatformLinux::Initialize();
ArchSpec arch("powerpc64-pc-linux");
- Platform::SetHostPlatform(platform_linux::PlatformLinux::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(
+ platform_linux::PlatformLinux::CreateInstance(true, &arch));
}
void TearDown() override {
TEST_F(ThreadTest, SetStopInfo) {
ArchSpec arch("powerpc64-pc-linux");
- Platform::SetHostPlatform(platform_linux::PlatformLinux::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(
+ platform_linux::PlatformLinux::CreateInstance(true, &arch));
DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);
TEST_F(ThreadTest, GetPrivateStopInfo) {
ArchSpec arch("powerpc64-pc-linux");
- Platform::SetHostPlatform(platform_linux::PlatformLinux::CreateInstance(
- true, &arch, /*debugger=*/nullptr,
- /*metadata=*/nullptr));
+ Platform::SetHostPlatform(
+ platform_linux::PlatformLinux::CreateInstance(true, &arch));
DebuggerSP debugger_sp = Debugger::CreateInstance();
ASSERT_TRUE(debugger_sp);