LLDB  mainline
ABIAArch64.h
Go to the documentation of this file.
1 //===-- AArch64.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_ABI_AARCH64_ABIAARCH64_H
10 #define LLDB_SOURCE_PLUGINS_ABI_AARCH64_ABIAARCH64_H
11 
12 #include "lldb/Target/ABI.h"
13 
15 public:
16  static void Initialize();
17  static void Terminate();
18 
19  virtual lldb::addr_t FixCodeAddress(lldb::addr_t pc) override;
20  virtual lldb::addr_t FixDataAddress(lldb::addr_t pc) override;
21 
22 protected:
24  return pc;
25  }
26 
27  std::pair<uint32_t, uint32_t>
28  GetEHAndDWARFNums(llvm::StringRef name) override;
29 
30  std::string GetMCName(std::string reg) override;
31 
32  uint32_t GetGenericNum(llvm::StringRef name) override;
33 
35  std::vector<lldb_private::DynamicRegisterInfo::Register> &regs) override;
36 
37  using lldb_private::MCBasedABI::MCBasedABI;
38 };
39 #endif
ABIAArch64::Initialize
static void Initialize()
Definition: ABIAArch64.cpp:20
lldb_private::MCBasedABI
Definition: ABI.h:175
ABIAArch64::Terminate
static void Terminate()
Definition: ABIAArch64.cpp:25
ABIAArch64::GetMCName
std::string GetMCName(std::string reg) override
For the given (capitalized) lldb register name, return the name of this register in the MCRegisterInf...
Definition: ABIAArch64.cpp:51
ABIAArch64::FixDataAddress
virtual lldb::addr_t FixDataAddress(lldb::addr_t pc) override
Definition: ABIAArch64.cpp:36
lldb::addr_t
uint64_t addr_t
Definition: lldb-types.h:83
pc
@ pc
Definition: CompactUnwindInfo.cpp:1250
ABI.h
ABIAArch64::AugmentRegisterInfo
void AugmentRegisterInfo(std::vector< lldb_private::DynamicRegisterInfo::Register > &regs) override
Definition: ABIAArch64.cpp:106
ABIAArch64::GetGenericNum
uint32_t GetGenericNum(llvm::StringRef name) override
Return the generic number of the given register.
Definition: ABIAArch64.cpp:58
string
string(SUBSTRING ${p} 10 -1 pStripped) if($
Definition: Plugins/CMakeLists.txt:40
ABIAArch64
Definition: ABIAArch64.h:14
uint32_t
ABIAArch64::FixCodeAddress
virtual lldb::addr_t FixCodeAddress(lldb::addr_t pc) override
Some targets might use bits in a code address to indicate a mode switch.
Definition: ABIAArch64.cpp:30
ABIAArch64::FixAddress
virtual lldb::addr_t FixAddress(lldb::addr_t pc, lldb::addr_t mask)
Definition: ABIAArch64.h:23
ABIAArch64::GetEHAndDWARFNums
std::pair< uint32_t, uint32_t > GetEHAndDWARFNums(llvm::StringRef name) override
Return eh_frame and dwarf numbers for the given register.
Definition: ABIAArch64.cpp:43