diff options
author | Luis Machado <luis.machado@arm.com> | 2023-02-20 09:56:19 +0000 |
---|---|---|
committer | Luis Machado <luis.machado@arm.com> | 2023-10-04 16:23:40 +0100 |
commit | 1bb099a2449347510e164e253aea14a186fef0b1 (patch) | |
tree | cc6501250c4bff11f5a99808092d6d5b8ac44ae7 /gdb/arch-utils.c | |
parent | b816042e88583f280ad186ff124ab84d31fb592b (diff) | |
download | gdb-1bb099a2449347510e164e253aea14a186fef0b1.zip gdb-1bb099a2449347510e164e253aea14a186fef0b1.tar.gz gdb-1bb099a2449347510e164e253aea14a186fef0b1.tar.bz2 |
sve: Fix signal frame z/v register restore
While doing some SME work, I ran into the situation where the Z register
contents restored from a signal frame are incorrect if the signal frame
only contains fpsimd state and no sve state.
This happens because we only restore the v register values in that case,
and don't do anything for the z registers.
Fix this by initializing the z registers to 0 and then copying over the
overlapping part of the v registers to the z registers.
While at it, refactor the code a bit to simplify it and make it smaller.
Regression-tested on aarch64-linux Ubuntu 22.04/20.04.
Reviewed-by: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
Diffstat (limited to 'gdb/arch-utils.c')
0 files changed, 0 insertions, 0 deletions