003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/source/Plugins/ABI/AArch64
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
source
/
Plugins
/
ABI
/
AArch64
/
📁
..
📄
ABIAArch64.cpp
(1.85 KB)
📄
ABIAArch64.h
(942 B)
📄
ABIMacOSX_arm64.cpp
(27.77 KB)
📄
ABIMacOSX_arm64.h
(3.27 KB)
📄
ABISysV_arm64.cpp
(27.03 KB)
📄
ABISysV_arm64.h
(3.24 KB)
Editing: ABIAArch64.cpp
//===-- AArch66.h ---------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "ABIAArch64.h" #ifdef LLDB_ENABLE_ALL #include "ABIMacOSX_arm64.h" #endif // LLDB_ENABLE_ALL #include "ABISysV_arm64.h" #include "Utility/ARM64_DWARF_Registers.h" #include "lldb/Core/PluginManager.h" LLDB_PLUGIN_DEFINE(ABIAArch64) void ABIAArch64::Initialize() { ABISysV_arm64::Initialize(); #ifdef LLDB_ENABLE_ALL ABIMacOSX_arm64::Initialize(); #endif // LLDB_ENABLE_ALL } void ABIAArch64::Terminate() { ABISysV_arm64::Terminate(); #ifdef LLDB_ENABLE_ALL ABIMacOSX_arm64::Terminate(); #endif // LLDB_ENABLE_ALL } std::pair<uint32_t, uint32_t> ABIAArch64::GetEHAndDWARFNums(llvm::StringRef name) { if (name == "pc") return {LLDB_INVALID_REGNUM, arm64_dwarf::pc}; if (name == "cpsr") return {LLDB_INVALID_REGNUM, arm64_dwarf::cpsr}; return MCBasedABI::GetEHAndDWARFNums(name); } uint32_t ABIAArch64::GetGenericNum(llvm::StringRef name) { return llvm::StringSwitch<uint32_t>(name) .Case("pc", LLDB_REGNUM_GENERIC_PC) .Case("lr", LLDB_REGNUM_GENERIC_RA) .Case("sp", LLDB_REGNUM_GENERIC_SP) .Case("fp", LLDB_REGNUM_GENERIC_FP) .Case("cpsr", LLDB_REGNUM_GENERIC_FLAGS) .Case("x0", LLDB_REGNUM_GENERIC_ARG1) .Case("x1", LLDB_REGNUM_GENERIC_ARG2) .Case("x2", LLDB_REGNUM_GENERIC_ARG3) .Case("x3", LLDB_REGNUM_GENERIC_ARG4) .Case("x4", LLDB_REGNUM_GENERIC_ARG5) .Case("x5", LLDB_REGNUM_GENERIC_ARG6) .Case("x6", LLDB_REGNUM_GENERIC_ARG7) .Case("x7", LLDB_REGNUM_GENERIC_ARG8) .Default(LLDB_INVALID_REGNUM); }
Upload File
Create Folder