On 11/5/20 1:23 PM, Peter Maydell wrote: > 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.
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > +} __attribute__((aligned(16))); Hmph, 96 uses of the attribute directly, 20 uses of QEMU_ALIGNED. I suppose we should just remove the wrapper... r~