[all-commits] [llvm/llvm-project] e8f998: AArch64 Linux and elf-core PAC stack unwinder support
Muhammad Omair Javaid via All-commits
all-commits at lists.llvm.org
Tue Jun 15 14:10:15 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e8f998c0c5edda3d6bad9b70e60975296df3d9fb
https://github.com/llvm/llvm-project/commit/e8f998c0c5edda3d6bad9b70e60975296df3d9fb
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2021-06-16 (Wed, 16 Jun 2021)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.out
A lldb/test/API/functionalities/unwind/aarch64_unwind_pac/Makefile
A lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
A lldb/test/API/functionalities/unwind/aarch64_unwind_pac/main.c
Log Message:
-----------
AArch64 Linux and elf-core PAC stack unwinder support
This patch builds on D100521 and other related patches to add support
for unwinding stack on AArch64 systems with pointer authentication
feature enabled.
We override FixCodeAddress and FixDataAddress function in ABISysV_arm64
class. We now try to calculate and set code and data masks after reading
data_mask and code_mask registers exposed by AArch64 targets running Linux.
This patch utilizes core file linux-aarch64-pac.core for testing that
LLDB can successfully unwind stack frames in the presence of signed
return address after masking off ignored bits.
This patch also includes a AArch64 Linux native test case to demonstrate
successful back trace calculation in presence of pointer authentication
feature.
Differential Revision: https://reviews.llvm.org/D99944
More information about the All-commits
mailing list