diff --git a/lldb/include/lldb/Core/Architecture.h b/lldb/include/lldb/Core/Architecture.h index 8f163fd0c9da..3a5a9789223d 100644 --- a/lldb/include/lldb/Core/Architecture.h +++ b/lldb/include/lldb/Core/Architecture.h @@ -31,7 +31,7 @@ public: /// stopped at the current PC. The code is generic and applies to all /// ARM CPUs. //------------------------------------------------------------------ - virtual void OverrideStopInfo(Thread &thread) = 0; + virtual void OverrideStopInfo(Thread &thread) const = 0; //------------------------------------------------------------------ /// This method is used to get the number of bytes that should be diff --git a/lldb/include/lldb/Target/Target.h b/lldb/include/lldb/Target/Target.h index 49bee578bd38..75af8e80d2e5 100644 --- a/lldb/include/lldb/Target/Target.h +++ b/lldb/include/lldb/Target/Target.h @@ -938,7 +938,7 @@ public: bool MergeArchitecture(const ArchSpec &arch_spec); - Architecture *GetArchitecturePlugin() { return m_arch.GetPlugin(); } + Architecture *GetArchitecturePlugin() const { return m_arch.GetPlugin(); } Debugger &GetDebugger() { return m_debugger; } diff --git a/lldb/source/Breakpoint/BreakpointResolverName.cpp b/lldb/source/Breakpoint/BreakpointResolverName.cpp index 23c1eef2e18b..ba277ae2655e 100644 --- a/lldb/source/Breakpoint/BreakpointResolverName.cpp +++ b/lldb/source/Breakpoint/BreakpointResolverName.cpp @@ -367,7 +367,7 @@ BreakpointResolverName::SearchCallback(SearchFilter &filter, if (prologue_byte_size) break_addr.SetOffset(break_addr.GetOffset() + prologue_byte_size); else { - Architecture *arch = + const Architecture *arch = m_breakpoint->GetTarget().GetArchitecturePlugin(); if (arch) arch->AdjustBreakpointAddress(*sc.symbol, break_addr); diff --git a/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp b/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp index 95d4b88d9a6c..1b7ecc88c35e 100644 --- a/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp +++ b/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp @@ -41,7 +41,7 @@ std::unique_ptr ArchitectureArm::Create(const ArchSpec &arch) { ConstString ArchitectureArm::GetPluginName() { return GetPluginNameStatic(); } uint32_t ArchitectureArm::GetPluginVersion() { return 1; } -void ArchitectureArm::OverrideStopInfo(Thread &thread) { +void ArchitectureArm::OverrideStopInfo(Thread &thread) const { // We need to check if we are stopped in Thumb mode in a IT instruction and // detect if the condition doesn't pass. If this is the case it means we // won't actually execute this instruction. If this happens we need to clear diff --git a/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h b/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h index 9ce6c69ef271..484c4a52fcc6 100644 --- a/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h +++ b/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h @@ -23,7 +23,7 @@ public: ConstString GetPluginName() override; uint32_t GetPluginVersion() override; - void OverrideStopInfo(Thread &thread) override; + void OverrideStopInfo(Thread &thread) const override; private: static std::unique_ptr Create(const ArchSpec &arch); diff --git a/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.h b/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.h index 6c87471b5481..95638853ad3d 100644 --- a/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.h +++ b/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.h @@ -23,7 +23,7 @@ public: ConstString GetPluginName() override; uint32_t GetPluginVersion() override; - void OverrideStopInfo(Thread &thread) override {} + void OverrideStopInfo(Thread &thread) const override {} //------------------------------------------------------------------ /// This method compares current address with current function's diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp index 6bf6d42a87a6..5ac1de7ae01b 100644 --- a/lldb/source/Target/Thread.cpp +++ b/lldb/source/Target/Thread.cpp @@ -439,7 +439,7 @@ lldb::StopInfoSP Thread::GetPrivateStopInfo() { if (m_stop_info_override_stop_id != process_stop_id) { m_stop_info_override_stop_id = process_stop_id; if (m_stop_info_sp) { - if (Architecture *arch = + if (const Architecture *arch = process_sp->GetTarget().GetArchitecturePlugin()) arch->OverrideStopInfo(*this); } diff --git a/lldb/source/Target/ThreadPlanStepInRange.cpp b/lldb/source/Target/ThreadPlanStepInRange.cpp index 5810e9d91815..6405c135a33e 100644 --- a/lldb/source/Target/ThreadPlanStepInRange.cpp +++ b/lldb/source/Target/ThreadPlanStepInRange.cpp @@ -272,7 +272,7 @@ bool ThreadPlanStepInRange::ShouldStop(Event *event_ptr) { if (bytes_to_skip == 0 && sc.symbol) { TargetSP target = m_thread.CalculateTarget(); - Architecture *arch = target->GetArchitecturePlugin(); + const Architecture *arch = target->GetArchitecturePlugin(); if (arch) { Address curr_sec_addr; target->GetSectionLoadList().ResolveLoadAddress(curr_addr,