diff options
author | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-09-24 15:55:35 +0000 |
---|---|---|
committer | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-09-24 15:55:35 +0000 |
commit | 389c9bb3745fc270bdaacaedfaa6e9339200866f (patch) | |
tree | f28865b0ca782c0127fbe1da444305ad879ecd94 /src/dwarf2.h | |
parent | f3eb7f52f1d78bf0977f416cb5efbde4e676456f (diff) | |
download | libunwind_llvm-389c9bb3745fc270bdaacaedfaa6e9339200866f.tar.gz |
[AArch64] Unwinding support for return address signing
- When return address signing is enabled, the LR may be signed on function entry
- When an exception is thrown the return address is inspected used to unwind the call stack
- Before this happens, the return address must be correctly authenticated to avoid causing an abort by dereferencing the signed pointer
Differential Revision: https://reviews.llvm.org/D51432
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@342895 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'src/dwarf2.h')
-rw-r--r-- | src/dwarf2.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dwarf2.h b/src/dwarf2.h index 0dcd2ca..58525ee 100644 --- a/src/dwarf2.h +++ b/src/dwarf2.h @@ -49,7 +49,10 @@ enum { // GNU extensions DW_CFA_GNU_window_save = 0x2D, DW_CFA_GNU_args_size = 0x2E, - DW_CFA_GNU_negative_offset_extended = 0x2F + DW_CFA_GNU_negative_offset_extended = 0x2F, + + // AARCH64 extensions + DW_CFA_AARCH64_negate_ra_state = 0x2D }; |