LLDB  mainline
ArchitecturePPC64.h
Go to the documentation of this file.
1 //===-- ArchitecturePPC64.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_PPC64_ARCHITECTUREPPC64_H
10 #define LLDB_SOURCE_PLUGINS_ARCHITECTURE_PPC64_ARCHITECTUREPPC64_H
11 
12 #include "lldb/Core/Architecture.h"
13 
14 namespace lldb_private {
15 
17 public:
19  static void Initialize();
20  static void Terminate();
21 
22  llvm::StringRef GetPluginName() override {
24  }
25 
26  void OverrideStopInfo(Thread &thread) const override {}
27 
28  /// This method compares current address with current function's
29  /// local entry point, returning the bytes to skip if they match.
30  size_t GetBytesToSkip(Symbol &func, const Address &curr_addr) const override;
31 
32  void AdjustBreakpointAddress(const Symbol &func,
33  Address &addr) const override;
34 
35 private:
36  static std::unique_ptr<Architecture> Create(const ArchSpec &arch);
37  ArchitecturePPC64() = default;
38 };
39 
40 } // namespace lldb_private
41 
42 #endif // LLDB_SOURCE_PLUGINS_ARCHITECTURE_PPC64_ARCHITECTUREPPC64_H
lldb_private::ArchitecturePPC64::GetPluginNameStatic
static ConstString GetPluginNameStatic()
Definition: ArchitecturePPC64.cpp:25
lldb_private::Architecture
Definition: Architecture.h:17
lldb_private::ArchSpec
Definition: ArchSpec.h:33
lldb_private::Symbol
Definition: Symbol.h:20
lldb_private::ArchitecturePPC64::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: ArchitecturePPC64.h:26
Architecture.h
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::ArchitecturePPC64::GetBytesToSkip
size_t GetBytesToSkip(Symbol &func, const Address &curr_addr) const override
This method compares current address with current function's local entry point, returning the bytes t...
Definition: ArchitecturePPC64.cpp:51
lldb_private::ConstString
Definition: ConstString.h:40
lldb_private::ArchitecturePPC64::AdjustBreakpointAddress
void AdjustBreakpointAddress(const Symbol &func, Address &addr) const override
Adjust function breakpoint address, if needed.
Definition: ArchitecturePPC64.cpp:59
lldb_private::ArchitecturePPC64::Terminate
static void Terminate()
Definition: ArchitecturePPC64.cpp:35
lldb_private::ArchitecturePPC64::ArchitecturePPC64
ArchitecturePPC64()=default
lldb_private::ArchitecturePPC64::Initialize
static void Initialize()
Definition: ArchitecturePPC64.cpp:29
lldb_private::Address
Definition: Address.h:59
lldb_private::ArchitecturePPC64
Definition: ArchitecturePPC64.h:16
lldb_private::ArchitecturePPC64::GetPluginName
llvm::StringRef GetPluginName() override
Definition: ArchitecturePPC64.h:22
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::ArchitecturePPC64::Create
static std::unique_ptr< Architecture > Create(const ArchSpec &arch)
Definition: ArchitecturePPC64.cpp:39