[all-commits] [llvm/llvm-project] f6366e: [libunwind][AArch64] Add support for DWARF express...

Dani via All-commits all-commits at lists.llvm.org
Fri May 13 01:06:18 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f6366ef7f4f3cf1182fd70e0c50a9fa54374b612
      https://github.com/llvm/llvm-project/commit/f6366ef7f4f3cf1182fd70e0c50a9fa54374b612
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2022-05-13 (Fri, 13 May 2022)

  Changed paths:
    M libunwind/src/DwarfInstructions.hpp
    A libunwind/test/aarch64.ra_sign_state.pass.cpp

  Log Message:
  -----------
  [libunwind][AArch64] Add support for DWARF expression for RA_SIGN_STATE.

Program may set the RA_SIGN_STATE pseudo register by expressions.
Libunwind expected only the DW_CFA_AARCH64_negate_ra_state could change the value
of the register which leads to runtime errors on PAC enabled systems.
In the recent version of the aadwarf64[1] a limitation is added[2] to forbid the mixing the
DW_CFA_AARCH64_negate_ra_state with other DWARF Register Rule Instructions.

[1] https://github.com/ARM-software/abi-aa/releases/tag/2022Q1
[2] https://github.com/ARM-software/abi-aa/pull/129

Reviewed By: #libunwind, MaskRay

Differential Revision: https://reviews.llvm.org/D123692




More information about the All-commits mailing list