[AArch64] Unwinding support for return address signing
authorLuke Cheeseman <luke.cheeseman@arm.com>
Mon, 24 Sep 2018 15:55:35 +0000 (15:55 +0000)
committerLuke Cheeseman <luke.cheeseman@arm.com>
Mon, 24 Sep 2018 15:55:35 +0000 (15:55 +0000)
commit8284b19c76a7bafdf4e53b3deb6cd35fcd370e92
tree591a63cfc1252ed5c2339baf8b95aedf85097350
parent3cb18346d776cc61da0bc5ea41e4678c1851db68
[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

llvm-svn: 342895
libunwind/include/libunwind.h
libunwind/src/DwarfInstructions.hpp
libunwind/src/DwarfParser.hpp
libunwind/src/Registers.hpp
libunwind/src/dwarf2.h