LLDB  mainline
ArchitectureArm.h
Go to the documentation of this file.
1 //===-- ArchitectureArm.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_ARM_ARCHITECTUREARM_H
10 #define LLDB_SOURCE_PLUGINS_ARCHITECTURE_ARM_ARCHITECTUREARM_H
11 
12 #include "lldb/Core/Architecture.h"
13 
14 namespace lldb_private {
15 
16 class ArchitectureArm : public Architecture {
17 public:
19  static void Initialize();
20  static void Terminate();
21 
22  ConstString GetPluginName() override;
23 
24  void OverrideStopInfo(Thread &thread) const override;
25 
27  AddressClass addr_class) const override;
28 
30  AddressClass addr_class) const override;
31 
32 private:
33  static std::unique_ptr<Architecture> Create(const ArchSpec &arch);
34  ArchitectureArm() = default;
35 };
36 
37 } // namespace lldb_private
38 
39 #endif // LLDB_SOURCE_PLUGINS_ARCHITECTURE_ARM_ARCHITECTUREARM_H
lldb_private::Architecture
Definition: Architecture.h:17
lldb_private::ArchSpec
Definition: ArchSpec.h:33
lldb_private::ArchitectureArm::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: ArchitectureArm.cpp:44
lldb_private::AddressClass
AddressClass
Definition: lldb-private-enumerations.h:48
lldb_private::ArchitectureArm::Initialize
static void Initialize()
Definition: ArchitectureArm.cpp:26
Architecture.h
lldb_private::ArchitectureArm::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: ArchitectureArm.cpp:130
lldb::addr_t
uint64_t addr_t
Definition: lldb-types.h:83
lldb_private::Thread
Definition: Thread.h:60
lldb_private::ArchitectureArm
Definition: ArchitectureArm.h:16
lldb_private::ConstString
Definition: ConstString.h:40
lldb_private::ArchitectureArm::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: ArchitectureArm.cpp:149
lldb_private::ArchitectureArm::ArchitectureArm
ArchitectureArm()=default
lldb_private::ArchitectureArm::Create
static std::unique_ptr< Architecture > Create(const ArchSpec &arch)
Definition: ArchitectureArm.cpp:36
lldb_private::ArchitectureArm::GetPluginNameStatic
static ConstString GetPluginNameStatic()
Definition: ArchitectureArm.cpp:22
lldb_private::ArchitectureArm::GetPluginName
ConstString GetPluginName() override
Definition: ArchitectureArm.cpp:42
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::ArchitectureArm::Terminate
static void Terminate()
Definition: ArchitectureArm.cpp:32