diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2020-11-05 21:23:12 +0000 |
|---|---|---|
| committer | Laurent Vivier <laurent@vivier.eu> | 2020-11-10 07:52:55 +0100 |
| commit | b8ae597f0e6df9d1d80e07083fabf763fcb46013 (patch) | |
| tree | 13060470e8c9398d0a68e4c721f0ba4124a986a9 /hw/arm/stm32f205_soc.c | |
| parent | 43afbbd9fea1b255cc81f5f4bfd0b6a88826c735 (diff) | |
| download | focaccia-qemu-b8ae597f0e6df9d1d80e07083fabf763fcb46013.tar.gz focaccia-qemu-b8ae597f0e6df9d1d80e07083fabf763fcb46013.zip | |
linux-user/sparc: Fix errors in target_ucontext structures
The various structs that make up the SPARC target_ucontext had some errors: * target structures must not include fields which are host pointers, which might be the wrong size. These should be abi_ulong instead * because we don't have the 'long double' part of the mcfpu_fregs union in our version of the target_mc_fpu struct, we need to manually force it to be 16-aligned In particular, the lack of 16-alignment caused sparc64_get_context() and sparc64_set_context() to read and write all the registers at the wrong offset, which triggered a guest glibc stack check in siglongjmp: *** longjmp causes uninitialized stack frame ***: terminated when trying to run bash. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20201105212314.9628-2-peter.maydell@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'hw/arm/stm32f205_soc.c')
0 files changed, 0 insertions, 0 deletions