Aarch64: Detect FP regs in signal frame
authorAlan Hayward <alan.hayward@arm.com>
Fri, 24 Aug 2018 08:53:57 +0000 (09:53 +0100)
committerAlan Hayward <alan.hayward@arm.com>
Mon, 1 Oct 2018 13:21:38 +0000 (14:21 +0100)
commit05c71722fc5d9407d712b58b80eaf469ffbc406f
treefd0c75ac5ea417c210e43019ef8f5290c0c225b6
parentc74e7cb96ffc525b0218cd329c292aacb16f94f8
Aarch64: Detect FP regs in signal frame

Both the VFP and SVE registers may be contained within the reserved space of
the sigcontext and can be found by seraching for MAGIC values. Detect these
and add the registers (including pseudos) to the trad frame cache.

gdb/
* aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add
define.
(AARCH64_EXTRA_MAGIC): Likewise.
(AARCH64_FPSIMD_MAGIC): Likewise.
(AARCH64_SVE_MAGIC): Likewise.
(AARCH64_EXTRA_DATAP_OFFSET): Likewise.
(AARCH64_FPSIMD_FPSR_OFFSET): Likewise.
(AARCH64_FPSIMD_FPCR_OFFSET): Likewise.
(AARCH64_FPSIMD_V0_OFFSET): Likewise.
(AARCH64_FPSIMD_VREG_SIZE): Likewise.
(AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise.
(AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise.
(AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise.
(AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise.
(AARCH64_SVE_CONTEXT_SIZE): Likewise.
(read_aarch64_ctx): Add function.
(aarch64_linux_sigframe_init): Detect FP registers.
gdb/ChangeLog
gdb/aarch64-linux-tdep.c