From: Peter Maydell Date: Thu, 28 Jul 2016 11:57:59 +0000 (+0100) Subject: linux-user: Use correct alignment for long long on i386 guests X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d9fe91d8689b078acfd27bc7c4a4e1efd5bbcf65;p=qemu.git linux-user: Use correct alignment for long long on i386 guests For i386, the ABI specifies that 'long long' (8 byte values) need only be 4 aligned, but we were requiring them to be 8-aligned. This meant we were laying out the target_epoll_event structure wrongly. Add a suitable ifdef to abitypes.h to specify the i386-specific alignment requirement. Reported-by: Icenowy Zheng Signed-off-by: Peter Maydell Reviewed-by: Laurent Vivier Signed-off-by: Riku Voipio --- diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h index a09d6c64ff..ba188608c2 100644 --- a/include/exec/user/abitypes.h +++ b/include/exec/user/abitypes.h @@ -15,6 +15,10 @@ #define ABI_LLONG_ALIGNMENT 2 #endif +#if defined(TARGET_I386) && !defined(TARGET_X86_64) +#define ABI_LLONG_ALIGNMENT 4 +#endif + #ifndef ABI_SHORT_ALIGNMENT #define ABI_SHORT_ALIGNMENT 2 #endif