LLDB  mainline
ArchitectureMips.h
Go to the documentation of this file.
1 //===-- ArchitectureMips.h ---------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SOURCE_PLUGINS_ARCHITECTURE_MIPS_ARCHITECTUREMIPS_H
10 #define LLDB_SOURCE_PLUGINS_ARCHITECTURE_MIPS_ARCHITECTUREMIPS_H
11 
12 #include "lldb/Core/Architecture.h"
13 #include "lldb/Utility/ArchSpec.h"
14 
15 namespace lldb_private {
16 
18 public:
20  static void Initialize();
21  static void Terminate();
22 
23  llvm::StringRef GetPluginName() override {
25  }
26 
27  void OverrideStopInfo(Thread &thread) const override {}
28 
30  Target &) const override;
31 
33  AddressClass addr_class) const override;
34 
36  AddressClass addr_class) const override;
37 
38 private:
40  const Address &resolved_addr,
41  lldb::addr_t symbol_offset) const;
42 
43  static std::unique_ptr<Architecture> Create(const ArchSpec &arch);
44  ArchitectureMips(const ArchSpec &arch) : m_arch(arch) {}
45 
47 };
48 
49 } // namespace lldb_private
50 
51 #endif // LLDB_SOURCE_PLUGINS_ARCHITECTURE_MIPS_ARCHITECTUREMIPS_H
lldb_private::ArchitectureMips::GetBreakableLoadAddress
lldb::addr_t GetBreakableLoadAddress(lldb::addr_t addr, Target &) const override
Definition: ArchitectureMips.cpp:75
lldb_private::Architecture
Definition: Architecture.h:17
lldb_private::ArchSpec
Definition: ArchSpec.h:33
lldb_private::AddressClass
AddressClass
Definition: lldb-private-enumerations.h:48
lldb_private::ArchitectureMips::GetOpcodeLoadAddress
lldb::addr_t GetOpcodeLoadAddress(lldb::addr_t load_addr, AddressClass addr_class) const override
Get load_addr as an opcode for this target.
Definition: ArchitectureMips.cpp:64
lldb_private::ArchitectureMips::Initialize
static void Initialize()
Definition: ArchitectureMips.cpp:30
Architecture.h
lldb_private::Instruction
Definition: Disassembler.h:58
lldb::addr_t
uint64_t addr_t
Definition: lldb-types.h:83
lldb_private::ArchitectureMips::GetPluginName
llvm::StringRef GetPluginName() override
Definition: ArchitectureMips.h:23
lldb_private::Target
Definition: Target.h:450
lldb_private::ArchitectureMips
Definition: ArchitectureMips.h:17
lldb_private::ArchitectureMips::Create
static std::unique_ptr< Architecture > Create(const ArchSpec &arch)
Definition: ArchitectureMips.cpp:40
lldb_private::ConstString::GetStringRef
llvm::StringRef GetStringRef() const
Get the string value as a llvm::StringRef.
Definition: ConstString.h:202
lldb_private::Thread
Definition: Thread.h:60
lldb_private::ArchitectureMips::GetInstructionAtAddress
Instruction * GetInstructionAtAddress(Target &target, const Address &resolved_addr, lldb::addr_t symbol_offset) const
Definition: ArchitectureMips.cpp:135
lldb_private::ConstString
Definition: ConstString.h:40
lldb_private::ArchitectureMips::m_arch
ArchSpec m_arch
Definition: ArchitectureMips.h:46
lldb_private::ArchitectureMips::ArchitectureMips
ArchitectureMips(const ArchSpec &arch)
Definition: ArchitectureMips.h:44
lldb_private::Address
Definition: Address.h:59
lldb_private::ArchitectureMips::GetPluginNameStatic
static ConstString GetPluginNameStatic()
Definition: ArchitectureMips.cpp:26
ArchSpec.h
lldb_private::ArchitectureMips::Terminate
static void Terminate()
Definition: ArchitectureMips.cpp:36
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::ArchitectureMips::GetCallableLoadAddress
lldb::addr_t GetCallableLoadAddress(lldb::addr_t load_addr, AddressClass addr_class) const override
Get load_addr as a callable code load address for this target.
Definition: ArchitectureMips.cpp:45
lldb_private::ArchitectureMips::OverrideStopInfo
void OverrideStopInfo(Thread &thread) const override
This is currently intended to handle cases where a program stops at an instruction that won't get exe...
Definition: ArchitectureMips.h:27