#include "lldb/lldb-types.h"
#include "ABIAArch64.h"
#include "ABIMacOSX_arm64.h"
#include "ABISysV_arm64.h"
#include "Utility/ARM64_DWARF_Registers.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Target/Process.h"
#include <bitset>
#include <optional>
usingnamespacelldb;
LLDB_PLUGIN_DEFINE(…)
void ABIAArch64::Initialize() { … }
void ABIAArch64::Terminate() { … }
lldb::addr_t ABIAArch64::FixCodeAddress(lldb::addr_t pc) { … }
lldb::addr_t ABIAArch64::FixDataAddress(lldb::addr_t pc) { … }
std::pair<uint32_t, uint32_t>
ABIAArch64::GetEHAndDWARFNums(llvm::StringRef name) { … }
std::string ABIAArch64::GetMCName(std::string reg) { … }
uint32_t ABIAArch64::GetGenericNum(llvm::StringRef name) { … }
static void addPartialRegisters(
std::vector<lldb_private::DynamicRegisterInfo::Register> ®s,
llvm::ArrayRef<std::optional<uint32_t>> full_reg_indices,
uint32_t full_reg_size, const char *partial_reg_format,
uint32_t partial_reg_size, lldb::Encoding encoding, lldb::Format format) { … }
void ABIAArch64::AugmentRegisterInfo(
std::vector<lldb_private::DynamicRegisterInfo::Register> ®s) { … }