aboutsummaryrefslogtreecommitdiff
path: root/gdb/rust-lang.c
diff options
context:
space:
mode:
authorIndu Bhagat <indu.bhagat@oracle.com>2022-12-16 22:01:40 -0800
committerIndu Bhagat <indu.bhagat@oracle.com>2022-12-16 22:01:40 -0800
commit4604c7294166199f89a0122ee35095d7e0cd2d07 (patch)
treef45f3b7040d11693c15c3c153018ba23a3f06af8 /gdb/rust-lang.c
parent1c57b841ac1f06db523db720affc9f056a4ee76c (diff)
downloadbinutils-4604c7294166199f89a0122ee35095d7e0cd2d07.zip
binutils-4604c7294166199f89a0122ee35095d7e0cd2d07.tar.gz
binutils-4604c7294166199f89a0122ee35095d7e0cd2d07.tar.bz2
sframe.h: add support for .cfi_negate_ra_state
Use the last remaining bit in the 'SFrame FRE info' word to store whether the RA is signed/unsigned with PAC authorization code: this bit is named as the "mangled RA" bit. This bit is still unused for x86-64. The behaviour of the mangled-RA info bit in SFrame format closely follows the behaviour of DW_CFA_AARCH64_negate_ra_state in DWARF. During unwinding, whenever an SFrame FRE with non-zero "mangled RA" bit is encountered, it means the upper bits of the return address contain Pointer Authentication code. The unwinder, hence, must use appropriate means to restore LR correctly in such cases. include/ChangeLog: * sframe.h (SFRAME_V1_FRE_INFO_UPDATE_MANGLED_RA_P): New macro. (SFRAME_V1_FRE_MANGLED_RA_P): Likewise.
Diffstat (limited to 'gdb/rust-lang.c')
0 files changed, 0 insertions, 0 deletions