https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104689
Bug ID: 104689
Summary: aarch64: libgcc: DW_CFA_val_expression is not
supported for RA_SIGN_SATE register
Product: gcc
Version: 10.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: nsz at gcc dot gnu.org
Target Milestone: ---
gcc emits DW_CFA_AARCH64_negate_ra_state (DW_CFA_window_save) for pac-ret
but it's valid to set the RA_SIGN_STATE pseudo register via other dwarf
instructions.
currently libgcc unwinder can crash if DW_CFA_val_expression is used to
set the register value directly.
(reportedly the cranelift compiler can generate such code.)