Index: lldb/include/lldb/Target/Process.h =================================================================== --- lldb/include/lldb/Target/Process.h +++ lldb/include/lldb/Target/Process.h @@ -696,6 +696,9 @@ virtual JITLoaderList &GetJITLoaders(); public: + /// Get the system architecture for this process. + virtual ArchSpec GetSystemArchitecture() { return {}; } + /// Get the system runtime plug-in for this process. /// /// \return Index: lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h =================================================================== --- lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h +++ lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h @@ -72,6 +72,8 @@ lldb::addr_t GetSharedLibraryInfoAddress() override; + ArchSpec Process::GetSystemArchitecture() override; + bool IsAlive() const override; size_t UpdateThreads() override; Index: lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp =================================================================== --- lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp +++ lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp @@ -232,6 +232,10 @@ lldb::addr_t NativeProcessWindows::GetSharedLibraryInfoAddress() { return 0; } +ArchSpec NativeProcessWindows::GetSystemArchitecture() override; +return HostInfo::GetArchitecture(); +} + bool NativeProcessWindows::IsAlive() const { StateType state = GetState(); switch (state) { Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h =================================================================== --- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h +++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h @@ -70,6 +70,8 @@ static std::chrono::seconds GetPacketTimeout(); + ArchSpec GetSystemArchitecture() override; + // Check if a given Process bool CanDebug(lldb::TargetSP target_sp, bool plugin_specified_by_name) override; Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -208,6 +208,10 @@ return std::chrono::seconds(GetGlobalPluginProperties().GetPacketTimeout()); } +ArchSpec ProcessGDBRemote::GetSystemArchitecture() { + return m_gdb_comm.GetHostArchitecture(); +} + bool ProcessGDBRemote::CanDebug(lldb::TargetSP target_sp, bool plugin_specified_by_name) { if (plugin_specified_by_name)