diff --git a/lldb/source/Plugins/ABI/AArch64/ABIAArch64.h b/lldb/source/Plugins/ABI/AArch64/ABIAArch64.h --- a/lldb/source/Plugins/ABI/AArch64/ABIAArch64.h +++ b/lldb/source/Plugins/ABI/AArch64/ABIAArch64.h @@ -24,6 +24,8 @@ uint32_t GetGenericNum(llvm::StringRef name) override; + lldb::addr_t FixCodeAddress(lldb::addr_t pc) override; + using lldb_private::MCBasedABI::MCBasedABI; }; #endif diff --git a/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp b/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp --- a/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp +++ b/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp @@ -56,3 +56,9 @@ .Case("x7", LLDB_REGNUM_GENERIC_ARG8) .Default(LLDB_INVALID_REGNUM); } + +lldb::addr_t ABIAArch64::FixCodeAddress(lldb::addr_t pc) { + // Short term workaround to remove any pointer authentication codes. This + // should be removed once full PAC support is added. + return pc & 0x0000000FFFFFFFFF; +}