[Lldb-commits] [PATCH] D99947: [LLDB] AArch64 Linux PAC unwinder support

Muhammad Omair Javaid via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Apr 6 04:58:05 PDT 2021


omjavaid created this revision.
omjavaid added reviewers: labath, DavidSpickett.
Herald added subscribers: danielkiss, kristof.beyls.
omjavaid requested review of this revision.

This patch adds support to detect and set address bits in use by the current
AArch64 process. We are going to utilize AArch64SVEReconfigure function
for this purpose which was added to GDBRemoteRegisterContext for
supporting vector length update of SVE registers. This function gets called
on every stop to check for vector length changes and will serve as the
configuration area for address bits in use on first stop.

Default value of used address bits will be set to 52 which is maximum
possible AArch64 virtual address width. Addition logic has been added to
AArch64SVEReconfigure to detect pointer authentication feature for the
current process. If PAC is enabled, address bits in use are configured based on
PAC code/data mask.

This patch also includes a test case to demonstrate successful backtrace
calculation in presence of pointer authentication feature.


https://reviews.llvm.org/D99947

Files:
  lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
  lldb/test/API/functionalities/unwind/aarch64_unwind_pac/Makefile
  lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
  lldb/test/API/functionalities/unwind/aarch64_unwind_pac/main.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99947.335484.patch
Type: text/x-patch
Size: 4912 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210406/41c010ab/attachment.bin>


More information about the lldb-commits mailing list