[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/7] Add new macro QEMU_PACKED for packed C stru
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH 1/7] Add new macro QEMU_PACKED for packed C structures |
Date: |
Tue, 30 Aug 2011 17:57:44 +0000 |
On Sun, Aug 28, 2011 at 8:43 PM, Stefan Weil <address@hidden> wrote:
> A packed struct needs different gcc attributes for compilations
> with MinGW compilers because glib-2.0 adds compiler flag
> -mms-bitfields which modifies the packing algorithm.
>
> Attribute gcc_struct reverses the negative effects of -mms-bitfields.
> QEMU_PACKED sets this attribute and must be used for any packed
> struct which is affected by -mms-bitfields.
>
> Signed-off-by: Stefan Weil <address@hidden>
> ---
> compiler.h | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/compiler.h b/compiler.h
> index 9af5dc6..a2d5959 100644
> --- a/compiler.h
> +++ b/compiler.h
> @@ -12,6 +12,12 @@
> #define QEMU_WARN_UNUSED_RESULT
> #endif
>
> +#if defined(_WIN32)
> +# define QEMU_PACKED __attribute__((gcc_struct, packed))
Maybe we could also use gcc_struct also for non-win32?
> +#else
> +# define QEMU_PACKED __attribute__((packed))
> +#endif
> +
> #define QEMU_BUILD_BUG_ON(x) \
> typedef char qemu_build_bug_on__##__LINE__[(x)?-1:1];
>
> --
> 1.7.0.4
>
>
>
- [Qemu-devel] [PATCH 0/7] Fix packing for MinGW with -mms-bitfields, Stefan Weil, 2011/08/28
- [Qemu-devel] [PATCH 6/7] virtio: Fix packing for w32, Stefan Weil, 2011/08/28
- [Qemu-devel] [PATCH 4/7] hpet: Fix packing for w32, Stefan Weil, 2011/08/28
- [Qemu-devel] [PATCH 3/7] acpi: Fix packing for w32, Stefan Weil, 2011/08/28
- [Qemu-devel] [PATCH 5/7] usb: Fix packing for w32, Stefan Weil, 2011/08/28
- [Qemu-devel] [PATCH 7/7] slirp: Fix packing for w32, Stefan Weil, 2011/08/28