From d667840465b0ea0dbd39dcbd56788e73698dc853 Mon Sep 17 00:00:00 2001 From: Med Ismail Bennani Date: Fri, 13 Jan 2023 08:51:03 -0800 Subject: [PATCH] Revert "[lldb] Add Debugger & ScriptedMetadata reference to Platform::CreateInstance" This reverts commit 2d53527e9c64c70c24e1abba74fa0a8c8b3392b1. --- lldb/bindings/interface/SBPlatform.i | 12 --- lldb/include/lldb/API/SBDebugger.h | 1 - lldb/include/lldb/API/SBPlatform.h | 3 - lldb/include/lldb/API/SBStructuredData.h | 1 - .../include/lldb/Interpreter/OptionGroupPlatform.h | 8 +- lldb/include/lldb/Target/Platform.h | 22 ++---- lldb/include/lldb/lldb-private-interfaces.h | 6 +- lldb/source/API/SBDebugger.cpp | 3 +- lldb/source/API/SBPlatform.cpp | 29 +------ lldb/source/Commands/CommandObjectPlatform.cpp | 91 ++++++++++++---------- lldb/source/Commands/CommandObjectPlatform.h | 18 ----- lldb/source/Core/Debugger.cpp | 2 +- lldb/source/Interpreter/OptionGroupPlatform.cpp | 8 +- .../Darwin-Kernel/DynamicLoaderDarwinKernel.cpp | 2 +- .../Plugins/Platform/Android/PlatformAndroid.cpp | 4 +- .../Plugins/Platform/Android/PlatformAndroid.h | 4 +- .../Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp | 5 +- .../Plugins/Platform/FreeBSD/PlatformFreeBSD.h | 4 +- .../Plugins/Platform/Linux/PlatformLinux.cpp | 5 +- lldb/source/Plugins/Platform/Linux/PlatformLinux.h | 4 +- .../Platform/MacOSX/PlatformAppleSimulator.cpp | 12 +-- .../Plugins/Platform/MacOSX/PlatformDarwin.cpp | 8 +- .../Plugins/Platform/MacOSX/PlatformDarwin.h | 4 +- .../Platform/MacOSX/PlatformDarwinKernel.cpp | 8 +- .../Plugins/Platform/MacOSX/PlatformDarwinKernel.h | 4 +- .../Plugins/Platform/MacOSX/PlatformMacOSX.cpp | 4 +- .../Plugins/Platform/MacOSX/PlatformMacOSX.h | 4 +- .../Platform/MacOSX/PlatformRemoteAppleBridge.cpp | 6 +- .../Platform/MacOSX/PlatformRemoteAppleBridge.h | 4 +- .../Platform/MacOSX/PlatformRemoteAppleTV.cpp | 6 +- .../Platform/MacOSX/PlatformRemoteAppleTV.h | 5 +- .../Platform/MacOSX/PlatformRemoteAppleWatch.cpp | 6 +- .../Platform/MacOSX/PlatformRemoteAppleWatch.h | 4 +- .../Platform/MacOSX/PlatformRemoteMacOSX.cpp | 6 +- .../Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h | 4 +- .../Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp | 4 +- .../Plugins/Platform/MacOSX/PlatformRemoteiOS.h | 4 +- .../Plugins/Platform/NetBSD/PlatformNetBSD.cpp | 5 +- .../Plugins/Platform/NetBSD/PlatformNetBSD.h | 4 +- .../Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp | 5 +- .../Plugins/Platform/OpenBSD/PlatformOpenBSD.h | 4 +- .../Plugins/Platform/POSIX/PlatformPOSIX.cpp | 3 +- .../Plugins/Platform/QemuUser/PlatformQemuUser.cpp | 4 +- .../Plugins/Platform/QemuUser/PlatformQemuUser.h | 4 +- .../Plugins/Platform/Windows/PlatformWindows.cpp | 11 +-- .../Plugins/Platform/Windows/PlatformWindows.h | 5 +- .../gdb-server/PlatformRemoteGDBServer.cpp | 6 +- .../Platform/gdb-server/PlatformRemoteGDBServer.h | 4 +- lldb/source/Target/Platform.cpp | 75 +++++++++++------- lldb/source/Target/Process.cpp | 3 +- lldb/source/Target/Target.cpp | 5 +- lldb/source/Target/TargetList.cpp | 19 ++--- lldb/unittests/Core/DiagnosticEventTest.cpp | 3 +- lldb/unittests/Expression/DWARFExpressionTest.cpp | 13 +--- lldb/unittests/Interpreter/TestCommandPaths.cpp | 6 +- .../Platform/PlatformAppleSimulatorTest.cpp | 42 ++-------- lldb/unittests/Platform/PlatformSiginfoTest.cpp | 14 ++-- lldb/unittests/Platform/PlatformTest.cpp | 42 +++------- lldb/unittests/Process/ProcessEventDataTest.cpp | 8 +- lldb/unittests/Target/ExecutionContextTest.cpp | 10 +-- lldb/unittests/Target/StackFrameRecognizerTest.cpp | 5 +- lldb/unittests/Thread/ThreadTest.cpp | 10 +-- 62 files changed, 221 insertions(+), 414 deletions(-) diff --git a/lldb/bindings/interface/SBPlatform.i b/lldb/bindings/interface/SBPlatform.i index a57deca..6413784 100644 --- a/lldb/bindings/interface/SBPlatform.i +++ b/lldb/bindings/interface/SBPlatform.i @@ -126,18 +126,6 @@ public: 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(); diff --git a/lldb/include/lldb/API/SBDebugger.h b/lldb/include/lldb/API/SBDebugger.h index 49e8dda..950e8e2 100644 --- a/lldb/include/lldb/API/SBDebugger.h +++ b/lldb/include/lldb/API/SBDebugger.h @@ -420,7 +420,6 @@ public: const SBFileSpec &trace_description_file); private: - friend class SBPlatform; friend class SBCommandInterpreter; friend class SBInputReader; friend class SBListener; diff --git a/lldb/include/lldb/API/SBPlatform.h b/lldb/include/lldb/API/SBPlatform.h index 9d9b392..dcc8a14 100644 --- a/lldb/include/lldb/API/SBPlatform.h +++ b/lldb/include/lldb/API/SBPlatform.h @@ -96,9 +96,6 @@ public: 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); diff --git a/lldb/include/lldb/API/SBStructuredData.h b/lldb/include/lldb/API/SBStructuredData.h index 3f1974a..533dcc8 100644 --- a/lldb/include/lldb/API/SBStructuredData.h +++ b/lldb/include/lldb/API/SBStructuredData.h @@ -93,7 +93,6 @@ protected: friend class SBLaunchInfo; friend class SBDebugger; friend class SBTarget; - friend class SBPlatform; friend class SBProcess; friend class SBThread; friend class SBThreadPlan; diff --git a/lldb/include/lldb/Interpreter/OptionGroupPlatform.h b/lldb/include/lldb/Interpreter/OptionGroupPlatform.h index 28cd6c8..fed2791 100644 --- a/lldb/include/lldb/Interpreter/OptionGroupPlatform.h +++ b/lldb/include/lldb/Interpreter/OptionGroupPlatform.h @@ -9,22 +9,19 @@ #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; @@ -63,14 +60,11 @@ public: 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 diff --git a/lldb/include/lldb/Target/Platform.h b/lldb/include/lldb/Target/Platform.h index a4425f2..08e47cc 100644 --- a/lldb/include/lldb/Target/Platform.h +++ b/lldb/include/lldb/Target/Platform.h @@ -21,7 +21,6 @@ #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" @@ -100,8 +99,7 @@ public: 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). @@ -976,7 +974,7 @@ private: class PlatformList { public: - PlatformList(Debugger &debugger) : m_debugger(debugger) {} + PlatformList() = default; ~PlatformList() = default; @@ -1031,16 +1029,13 @@ public: } } - 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. /// @@ -1056,11 +1051,9 @@ public: /// given architecture. lldb::PlatformSP GetOrCreate(llvm::ArrayRef archs, const ArchSpec &process_host_arch, - std::vector &candidates, - const ScriptedMetadata *metadata); + std::vector &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 @@ -1097,7 +1090,6 @@ protected: private: PlatformList(const PlatformList &) = delete; const PlatformList &operator=(const PlatformList &) = delete; - Debugger &m_debugger; }; class OptionGroupPlatformRSync : public lldb_private::OptionGroup { diff --git a/lldb/include/lldb/lldb-private-interfaces.h b/lldb/include/lldb/lldb-private-interfaces.h index 79fadc2..1eb37c0 100644 --- a/lldb/include/lldb/lldb-private-interfaces.h +++ b/lldb/include/lldb/lldb-private-interfaces.h @@ -26,7 +26,6 @@ class Value; } // namespace llvm namespace lldb_private { -class ScriptedMetadata; typedef lldb::ABISP (*ABICreateInstance)(lldb::ProcessSP process_sp, const ArchSpec &arch); typedef std::unique_ptr (*ArchitectureCreateInstance)( @@ -78,9 +77,8 @@ typedef lldb::StructuredDataPluginSP (*StructuredDataPluginCreateInstance)( 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); diff --git a/lldb/source/API/SBDebugger.cpp b/lldb/source/API/SBDebugger.cpp index 743e928..851c80a 100644 --- a/lldb/source/API/SBDebugger.cpp +++ b/lldb/source/API/SBDebugger.cpp @@ -1498,8 +1498,7 @@ SBError SBDebugger::SetCurrentPlatform(const char *platform_name_cstr) { 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"); diff --git a/lldb/source/API/SBPlatform.cpp b/lldb/source/API/SBPlatform.cpp index 7ba9e72..807d008 100644 --- a/lldb/source/API/SBPlatform.cpp +++ b/lldb/source/API/SBPlatform.cpp @@ -7,16 +7,13 @@ //===----------------------------------------------------------------------===// #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" @@ -295,31 +292,7 @@ SBPlatform::SBPlatform() { LLDB_INSTRUMENT_VA(this); } 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(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) { diff --git a/lldb/source/Commands/CommandObjectPlatform.cpp b/lldb/source/Commands/CommandObjectPlatform.cpp index 610eb24..69c44fe 100644 --- a/lldb/source/Commands/CommandObjectPlatform.cpp +++ b/lldb/source/Commands/CommandObjectPlatform.cpp @@ -139,58 +139,63 @@ private: }; // "platform select " -CommandObjectPlatformSelect::CommandObjectPlatformSelect( - CommandInterpreter &interpreter) - : CommandObjectParsed(interpreter, "platform select", - "Create a platform if needed and select it as the " - "current platform.", - "platform select ", 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 ", 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 { diff --git a/lldb/source/Commands/CommandObjectPlatform.h b/lldb/source/Commands/CommandObjectPlatform.h index c721926..86f55c7 100644 --- a/lldb/source/Commands/CommandObjectPlatform.h +++ b/lldb/source/Commands/CommandObjectPlatform.h @@ -10,7 +10,6 @@ #define LLDB_SOURCE_COMMANDS_COMMANDOBJECTPLATFORM_H #include "lldb/Interpreter/CommandObjectMultiword.h" -#include "lldb/Interpreter/OptionGroupPlatform.h" namespace lldb_private { @@ -28,23 +27,6 @@ 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 diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 413328f..8a8a01c 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -764,7 +764,7 @@ Debugger::Debugger(lldb::LogOutputCallback log_callback, void *baton) m_error_stream_sp(std::make_shared(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( diff --git a/lldb/source/Interpreter/OptionGroupPlatform.cpp b/lldb/source/Interpreter/OptionGroupPlatform.cpp index 16daa12..60107eb 100644 --- a/lldb/source/Interpreter/OptionGroupPlatform.cpp +++ b/lldb/source/Interpreter/OptionGroupPlatform.cpp @@ -10,7 +10,6 @@ #include "lldb/Host/OptionParser.h" #include "lldb/Interpreter/CommandInterpreter.h" -#include "lldb/Interpreter/ScriptedMetadata.h" #include "lldb/Target/Platform.h" using namespace lldb; @@ -23,10 +22,8 @@ PlatformSP OptionGroupPlatform::CreatePlatformWithOptions( 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}\"", @@ -44,8 +41,7 @@ PlatformSP OptionGroupPlatform::CreatePlatformWithOptions( } } } else if (arch.IsValid()) { - platform_sp = - platforms.GetOrCreate(arch, {}, &platform_arch, error, &metadata); + platform_sp = platforms.GetOrCreate(arch, {}, &platform_arch, error); } if (platform_sp) { diff --git a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp index c3cd286..09dd94d 100644 --- a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp +++ b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp @@ -511,7 +511,7 @@ DynamicLoaderDarwinKernel::DynamicLoaderDarwinKernel(Process *process, 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); } diff --git a/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp b/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp index ef3e102..1afce4f 100644 --- a/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp +++ b/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp @@ -59,9 +59,7 @@ void PlatformAndroid::Terminate() { 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; diff --git a/lldb/source/Plugins/Platform/Android/PlatformAndroid.h b/lldb/source/Plugins/Platform/Android/PlatformAndroid.h index 38239861..1a66dde 100644 --- a/lldb/source/Plugins/Platform/Android/PlatformAndroid.h +++ b/lldb/source/Plugins/Platform/Android/PlatformAndroid.h @@ -28,9 +28,7 @@ public: 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"; diff --git a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp index 0321eba..0c6831b 100644 --- a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp +++ b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp @@ -44,9 +44,8 @@ LLDB_PLUGIN_DEFINE(PlatformFreeBSD) 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() : "", diff --git a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h index 1bf3ba2..1e92bb4 100644 --- a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h +++ b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h @@ -24,9 +24,7 @@ public: 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"; diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp index c9c3608..bf226fa 100644 --- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp +++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp @@ -41,9 +41,8 @@ LLDB_PLUGIN_DEFINE(PlatformLinux) 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() : "", diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.h b/lldb/source/Plugins/Platform/Linux/PlatformLinux.h index 7ac24d9..89f0bd7 100644 --- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.h +++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.h @@ -24,9 +24,7 @@ public: 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"; diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp index 4411b7c..1e117f2 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp @@ -552,9 +552,7 @@ struct PlatformiOSSimulator { 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; @@ -599,9 +597,7 @@ struct PlatformAppleTVSimulator { 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( @@ -643,9 +639,7 @@ struct PlatformAppleWatchSimulator { 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( diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp index 85a18f0..4f49e46 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp @@ -106,11 +106,9 @@ llvm::StringRef PlatformDarwin::GetDescriptionStatic() { 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 diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h index 782316c..4b564bb 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h @@ -48,9 +48,7 @@ public: ~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); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp index 2f16b44..3c9cc8e 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp @@ -72,10 +72,8 @@ void PlatformDarwinKernel::Terminate() { 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; @@ -970,7 +968,7 @@ bool PlatformDarwinKernel::LoadPlatformBinaryAndSetup(Process *process, PlatformSP platform_sp = process->GetTarget().GetDebugger().GetPlatformList().Create( - PlatformDarwinKernel::GetPluginNameStatic(), /*metadata = */ nullptr); + PlatformDarwinKernel::GetPluginNameStatic()); if (platform_sp) process->GetTarget().SetPlatform(platform_sp); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h index 61428ac..1b0708c 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h @@ -36,9 +36,7 @@ class Stream; 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); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp index 18f1936..25b821d 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp @@ -90,9 +90,7 @@ llvm::StringRef PlatformMacOSX::GetDescriptionStatic() { 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(); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h index fb15a48..be84485 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h @@ -32,9 +32,7 @@ class PlatformMacOSX : public PlatformDarwinDevice { 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(); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp index 29874b1..5515d76 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp @@ -56,10 +56,8 @@ void PlatformRemoteAppleBridge::Terminate() { 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; diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.h b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.h index 804fdc0..91dd02c 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.h @@ -24,9 +24,7 @@ class PlatformRemoteAppleBridge : public PlatformRemoteDarwinDevice { 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(); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.cpp index ca87916..5b72969 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.cpp @@ -57,10 +57,8 @@ void PlatformRemoteAppleTV::Terminate() { 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; diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h index c3ee6cc..2962f19 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h @@ -26,9 +26,8 @@ public: 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(); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.cpp index 5fc2268..7dc8b9b 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.cpp @@ -54,10 +54,8 @@ void PlatformRemoteAppleWatch::Terminate() { 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; diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h index f36e6d2..20694f0 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h @@ -22,9 +22,7 @@ class PlatformRemoteAppleWatch : public PlatformRemoteDarwinDevice { 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(); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.cpp index bc67a7ec..460f6d8 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.cpp @@ -57,10 +57,8 @@ void PlatformRemoteMacOSX::Terminate() { 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; diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h index 3b0505d..17ae372 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h @@ -27,9 +27,7 @@ class PlatformRemoteMacOSX : public virtual PlatformRemoteDarwinDevice { 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(); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp index 9acc02c..d6f573b 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp @@ -52,9 +52,7 @@ void PlatformRemoteiOS::Terminate() { 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; diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h index cdf12c4..991bf1d 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h @@ -22,9 +22,7 @@ class PlatformRemoteiOS : public PlatformRemoteDarwinDevice { 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(); diff --git a/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp b/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp index 8da4a7c..59bbc3f 100644 --- a/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp +++ b/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp @@ -39,9 +39,8 @@ LLDB_PLUGIN_DEFINE(PlatformNetBSD) 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() : "", diff --git a/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h b/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h index 17039b7..3437d7e 100644 --- a/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h +++ b/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h @@ -24,9 +24,7 @@ public: 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"; diff --git a/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp b/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp index 4e6a812..3946092 100644 --- a/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp +++ b/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp @@ -39,9 +39,8 @@ LLDB_PLUGIN_DEFINE(PlatformOpenBSD) 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() : "", diff --git a/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h b/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h index 3975773..fcdc035 100644 --- a/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h +++ b/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h @@ -23,9 +23,7 @@ public: 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"; diff --git a/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp b/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp index c91d876..222dbfa 100644 --- a/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp +++ b/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp @@ -310,8 +310,7 @@ Status PlatformPOSIX::ConnectRemote(Args &args) { 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); diff --git a/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp b/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp index 89ffbf8..4ba2011 100644 --- a/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp +++ b/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp @@ -103,9 +103,7 @@ void PlatformQemuUser::DebuggerInitialize(Debugger &debugger) { } } -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; diff --git a/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.h b/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.h index eeb2f37..596cf75 100644 --- a/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.h +++ b/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.h @@ -70,9 +70,7 @@ public: } 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) {} diff --git a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp index fb84fd5..017318f 100644 --- a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp +++ b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp @@ -41,9 +41,8 @@ LLDB_PLUGIN_DEFINE(PlatformWindows) 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; @@ -138,12 +137,10 @@ Status PlatformWindows::ConnectRemote(Args &args) { "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()) { diff --git a/lldb/source/Plugins/Platform/Windows/PlatformWindows.h b/lldb/source/Plugins/Platform/Windows/PlatformWindows.h index 610b4b2f..771133f 100644 --- a/lldb/source/Plugins/Platform/Windows/PlatformWindows.h +++ b/lldb/source/Plugins/Platform/Windows/PlatformWindows.h @@ -22,9 +22,8 @@ public: 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"; diff --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp index 8cd17f7..0858a2a 100644 --- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp +++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp @@ -64,10 +64,8 @@ void PlatformRemoteGDBServer::Terminate() { 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(); diff --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h index f1b90c0..638f7db 100644 --- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h +++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h @@ -26,9 +26,7 @@ public: 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"; } diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp index dfaa7f4..1ddd759 100644 --- a/lldb/source/Target/Platform.cpp +++ b/lldb/source/Target/Platform.cpp @@ -164,6 +164,40 @@ Platform::LocateExecutableScriptingResources(Target *target, Module &module, 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, @@ -217,15 +251,14 @@ bool Platform::GetModuleSpec(const FileSpec &module_file_spec, 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; } @@ -1934,20 +1967,19 @@ Args Platform::GetExtraStartupCommands() { return {}; } -PlatformSP PlatformList::GetOrCreate(llvm::StringRef name, - const ScriptedMetadata *metadata) { +PlatformSP PlatformList::GetOrCreate(llvm::StringRef name) { std::lock_guard 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 guard(m_mutex); // First try exact arch matches across all platforms already created for (const auto &platform_sp : m_platforms) { @@ -1970,8 +2002,7 @@ PlatformSP PlatformList::GetOrCreate(const ArchSpec &arch, 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)) { @@ -1983,8 +2014,7 @@ PlatformSP PlatformList::GetOrCreate(const ArchSpec &arch, 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)) { @@ -1999,19 +2029,16 @@ PlatformSP PlatformList::GetOrCreate(const ArchSpec &arch, 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 archs, const ArchSpec &process_host_arch, - std::vector &candidates, - const ScriptedMetadata *metadata) { + std::vector &candidates) { candidates.clear(); candidates.reserve(archs.size()); @@ -2040,9 +2067,7 @@ PlatformSP PlatformList::GetOrCreate(llvm::ArrayRef archs, // 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); } @@ -2063,10 +2088,9 @@ PlatformSP PlatformList::GetOrCreate(llvm::ArrayRef archs, return nullptr; } -PlatformSP PlatformList::Create(llvm::StringRef name, - const ScriptedMetadata *metadata) { +PlatformSP PlatformList::Create(llvm::StringRef name) { std::lock_guard 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; } @@ -2080,8 +2104,7 @@ bool PlatformList::LoadPlatformBinaryAndSetup(Process *process, (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; diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index f30a8a0..e0cca05 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -2931,8 +2931,7 @@ void Process::CompleteAttach() { 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); diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 985f3f3..fd0cf0a 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -1503,9 +1503,8 @@ bool Target::SetArchitecture(const ArchSpec &arch_spec, bool set_platform, 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; diff --git a/lldb/source/Target/TargetList.cpp b/lldb/source/Target/TargetList.cpp index 665243b..8ce2ae8c 100644 --- a/lldb/source/Target/TargetList.cpp +++ b/lldb/source/Target/TargetList.cpp @@ -184,9 +184,8 @@ Status TargetList::CreateTargetInternal( std::vector 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"); @@ -219,9 +218,7 @@ Status TargetList::CreateTargetInternal( 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); } @@ -231,9 +228,8 @@ Status TargetList::CreateTargetInternal( 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); } @@ -264,9 +260,8 @@ Status TargetList::CreateTargetInternal(Debugger &debugger, 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) diff --git a/lldb/unittests/Core/DiagnosticEventTest.cpp b/lldb/unittests/Core/DiagnosticEventTest.cpp index 7531913..bca8f37 100644 --- a/lldb/unittests/Core/DiagnosticEventTest.cpp +++ b/lldb/unittests/Core/DiagnosticEventTest.cpp @@ -39,8 +39,7 @@ public: []() { 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(); diff --git a/lldb/unittests/Expression/DWARFExpressionTest.cpp b/lldb/unittests/Expression/DWARFExpressionTest.cpp index 88e1280..942426e 100644 --- a/lldb/unittests/Expression/DWARFExpressionTest.cpp +++ b/lldb/unittests/Expression/DWARFExpressionTest.cpp @@ -369,9 +369,8 @@ TEST_F(DWARFExpressionMockProcessTest, DW_OP_deref) { // 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; @@ -410,9 +409,7 @@ TEST_F(DWARFExpressionMockProcessTest, WASM_DW_OP_addr) { // 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(); @@ -491,9 +488,7 @@ DWARF: // 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(); diff --git a/lldb/unittests/Interpreter/TestCommandPaths.cpp b/lldb/unittests/Interpreter/TestCommandPaths.cpp index fd0c120..78948ae 100644 --- a/lldb/unittests/Interpreter/TestCommandPaths.cpp +++ b/lldb/unittests/Interpreter/TestCommandPaths.cpp @@ -104,10 +104,8 @@ void RunTest(CommandInterpreter &interp, const char *args, bool is_leaf, 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); diff --git a/lldb/unittests/Platform/PlatformAppleSimulatorTest.cpp b/lldb/unittests/Platform/PlatformAppleSimulatorTest.cpp index 3b51982..f30edfb 100644 --- a/lldb/unittests/Platform/PlatformAppleSimulatorTest.cpp +++ b/lldb/unittests/Platform/PlatformAppleSimulatorTest.cpp @@ -9,13 +9,10 @@ #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" @@ -23,36 +20,16 @@ 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 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; @@ -81,13 +58,12 @@ TEST_F(PlatformAppleSimulatorTest, TestHostPlatformToSim) { }; 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); } } @@ -102,10 +78,10 @@ TEST_F(PlatformAppleSimulatorTest, TestPlatformSelectionOrder) { 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; @@ -113,9 +89,7 @@ TEST_F(PlatformAppleSimulatorTest, TestPlatformSelectionOrder) { 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")); } diff --git a/lldb/unittests/Platform/PlatformSiginfoTest.cpp b/lldb/unittests/Platform/PlatformSiginfoTest.cpp index 071f58f..54dbcb4 100644 --- a/lldb/unittests/Platform/PlatformSiginfoTest.cpp +++ b/lldb/unittests/Platform/PlatformSiginfoTest.cpp @@ -82,19 +82,15 @@ public: 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"); diff --git a/lldb/unittests/Platform/PlatformTest.cpp b/lldb/unittests/Platform/PlatformTest.cpp index bd0341b..8ab223e 100644 --- a/lldb/unittests/Platform/PlatformTest.cpp +++ b/lldb/unittests/Platform/PlatformTest.cpp @@ -10,7 +10,6 @@ #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" @@ -19,8 +18,6 @@ using namespace lldb; using namespace lldb_private; -static std::once_flag debugger_initialize_flag; - class TestPlatform : public PlatformPOSIX { public: TestPlatform() : PlatformPOSIX(false) {} @@ -62,9 +59,7 @@ public: 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(); } @@ -81,21 +76,12 @@ class PlatformTest : public ::testing::Test { SubsystemRAII 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); } }; @@ -107,8 +93,7 @@ TEST_F(PlatformTest, GetPlatformForArchitecturesHost) { std::vector 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()); } @@ -121,14 +106,13 @@ TEST_F(PlatformTest, GetPlatformForArchitecturesSelected) { std::vector 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(); - 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); } @@ -141,16 +125,15 @@ TEST_F(PlatformTest, GetPlatformForArchitecturesSelectedOverHost) { std::vector 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(); - 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); } @@ -161,15 +144,14 @@ TEST_F(PlatformTest, GetPlatformForArchitecturesCandidates) { SetHostPlatform(std::make_shared()); const PlatformSP selected_platform_sp = std::make_shared(); - list->Append(selected_platform_sp, /*set_selected=*/true); + list.Append(selected_platform_sp, /*set_selected=*/true); const std::vector archs = {ArchSpec("thumbv7-apple-ps4"), ArchSpec("thumbv7f-apple-ps4")}; std::vector 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"); diff --git a/lldb/unittests/Process/ProcessEventDataTest.cpp b/lldb/unittests/Process/ProcessEventDataTest.cpp index eed008e..dd15949 100644 --- a/lldb/unittests/Process/ProcessEventDataTest.cpp +++ b/lldb/unittests/Process/ProcessEventDataTest.cpp @@ -142,9 +142,7 @@ ThreadSP CreateThread(ProcessSP &process_sp, bool should_stop, 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); @@ -184,9 +182,7 @@ TEST_F(ProcessEventDataTest, DoOnRemoval) { 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); diff --git a/lldb/unittests/Target/ExecutionContextTest.cpp b/lldb/unittests/Target/ExecutionContextTest.cpp index 6b461b0..cba32c2 100644 --- a/lldb/unittests/Target/ExecutionContextTest.cpp +++ b/lldb/unittests/Target/ExecutionContextTest.cpp @@ -72,9 +72,8 @@ TEST_F(ExecutionContextTest, GetByteOrder) { 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); @@ -95,9 +94,8 @@ TEST_F(ExecutionContextTest, GetByteOrderTarget) { 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); diff --git a/lldb/unittests/Target/StackFrameRecognizerTest.cpp b/lldb/unittests/Target/StackFrameRecognizerTest.cpp index 6f03b3b..695f091 100644 --- a/lldb/unittests/Target/StackFrameRecognizerTest.cpp +++ b/lldb/unittests/Target/StackFrameRecognizerTest.cpp @@ -32,9 +32,8 @@ public: // 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 { diff --git a/lldb/unittests/Thread/ThreadTest.cpp b/lldb/unittests/Thread/ThreadTest.cpp index 57aa3d7..bd8cdce 100644 --- a/lldb/unittests/Thread/ThreadTest.cpp +++ b/lldb/unittests/Thread/ThreadTest.cpp @@ -91,9 +91,8 @@ TargetSP CreateTarget(DebuggerSP &debugger_sp, ArchSpec &arch) { 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); @@ -127,9 +126,8 @@ TEST_F(ThreadTest, SetStopInfo) { 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); -- 2.7.4