[PATCH 0/5] Enable PAC support in elfutils
Steve Capper
steve.capper@arm.com
Fri Jun 14 14:47:14 GMT 2024
Hello,
This series enables Pointer Authentication (PAC) support in elfutils.
The first four patches were originally posted by German Gomez. I've
rebased to the latest elfutils and added an extra patch that was
required to debug core dumps from PAC enabled applications.
These patches were tested on Debian Testing and Fedora 40 running on an
Apple M1 MacBook Pro (the CFLAG -mbranch-protection=standard needs to be
supplied to the build).
Without this series applied, the following tests failed:
* run-backtrace-native.sh
* run-backtrace-dwarf.sh
* run-backtrace-native-core.sh
* run-deleted.sh
I am happy to chop/change bits as necessary.
A guide to pointer authentication can be found here:
https://developer.arm.com/-/media/Arm%20Developer%20Community/PDF/Learn%20the%20Architecture/Providing%20protection%20for%20complex%20software.pdf
Cheers,
--
Steve
German Gomez (4):
aarch64: Create definitions for AARCH64_RA_SIGN_STATE register
libdw, aarch64: Implement DW_CFA_AARCH64_negate_ra_state CFI
instruction
libdwfl, aarch64: Demangle return addresses using a PAC mask
libdwfl, eu-stack, aarch64: Add API for setting AARCH64 PAC mask.
Steve Capper (1):
libdwfl, aarch64: Read PAC mask from core
backends/aarch64_corenote.c | 15 ++++++++++++++-
backends/aarch64_init.c | 6 +++---
backends/aarch64_initreg.c | 2 ++
backends/aarch64_regs.c | 5 ++++-
libdw/cfi.c | 14 +++++++++++++-
libdw/dwarf.h | 5 +++++
libdw/libdw.map | 1 +
libdwfl/dwfl_frame.c | 3 +++
libdwfl/dwfl_frame_regs.c | 10 ++++++++++
libdwfl/frame_unwind.c | 14 +++++++++++++-
libdwfl/libdwfl.h | 6 ++++++
libdwfl/libdwflP.h | 7 +++++++
libdwfl/linux-core-attach.c | 34 ++++++++++++++++++++++++++++++++++
libdwfl/linux-pid-attach.c | 34 ++++++++++++++++++++++++++++++++--
tests/run-addrcfi.sh | 1 +
tests/run-allregs.sh | 1 +
16 files changed, 149 insertions(+), 9 deletions(-)
--
2.39.2
More information about the Elfutils-devel
mailing list