LLDB  mainline
ArchitectureAArch64.h
Go to the documentation of this file.
1 //===-- ArchitectureAArch64.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_AARCH64_ARCHITECTUREAARCH64_H
10 #define LLDB_SOURCE_PLUGINS_ARCHITECTURE_AARCH64_ARCHITECTUREAARCH64_H
11 
13 #include "lldb/Core/Architecture.h"
14 
15 namespace lldb_private {
16 
18 public:
19  static llvm::StringRef GetPluginNameStatic() { return "aarch64"; }
20  static void Initialize();
21  static void Terminate();
22 
23  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
24 
25  void OverrideStopInfo(Thread &thread) const override{};
26 
27  const MemoryTagManager *GetMemoryTagManager() const override {
28  return &m_memory_tag_manager;
29  }
30 
31 private:
32  static std::unique_ptr<Architecture> Create(const ArchSpec &arch);
33  ArchitectureAArch64() = default;
35 };
36 
37 } // namespace lldb_private
38 
39 #endif // LLDB_SOURCE_PLUGINS_ARCHITECTURE_AARCH64_ARCHITECTUREAARCH64_H
lldb_private::Architecture
Definition: Architecture.h:17
lldb_private::ArchSpec
Definition: ArchSpec.h:33
lldb_private::ArchitectureAArch64
Definition: ArchitectureAArch64.h:17
Architecture.h
lldb_private::MemoryTagManager
Definition: MemoryTagManager.h:28
lldb_private::ArchitectureAArch64::GetPluginName
llvm::StringRef GetPluginName() override
Definition: ArchitectureAArch64.h:23
lldb_private::Thread
Definition: Thread.h:60
lldb_private::ArchitectureAArch64::Initialize
static void Initialize()
Definition: ArchitectureAArch64.cpp:18
lldb_private::ArchitectureAArch64::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: ArchitectureAArch64.h:25
lldb_private::ArchitectureAArch64::m_memory_tag_manager
MemoryTagManagerAArch64MTE m_memory_tag_manager
Definition: ArchitectureAArch64.h:34
MemoryTagManagerAArch64MTE.h
lldb_private::ArchitectureAArch64::Terminate
static void Terminate()
Definition: ArchitectureAArch64.cpp:24
lldb_private::ArchitectureAArch64::GetPluginNameStatic
static llvm::StringRef GetPluginNameStatic()
Definition: ArchitectureAArch64.h:19
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::ArchitectureAArch64::Create
static std::unique_ptr< Architecture > Create(const ArchSpec &arch)
Definition: ArchitectureAArch64.cpp:29
lldb_private::MemoryTagManagerAArch64MTE
Definition: MemoryTagManagerAArch64MTE.h:16
lldb_private::ArchitectureAArch64::ArchitectureAArch64
ArchitectureAArch64()=default
lldb_private::ArchitectureAArch64::GetMemoryTagManager
const MemoryTagManager * GetMemoryTagManager() const override
Definition: ArchitectureAArch64.h:27