From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:56429) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QxmCX-0002wd-3e for qemu-devel@nongnu.org; Sun, 28 Aug 2011 16:43:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QxmCW-00024d-FQ for qemu-devel@nongnu.org; Sun, 28 Aug 2011 16:43:29 -0400 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:37953) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QxmCW-000245-8t for qemu-devel@nongnu.org; Sun, 28 Aug 2011 16:43:28 -0400 From: Stefan Weil Date: Sun, 28 Aug 2011 22:43:14 +0200 Message-Id: <1314564200-6872-2-git-send-email-weil@mail.berlios.de> In-Reply-To: <1314564200-6872-1-git-send-email-weil@mail.berlios.de> References: <1314564200-6872-1-git-send-email-weil@mail.berlios.de> Subject: [Qemu-devel] [PATCH 1/7] Add new macro QEMU_PACKED for packed C structures List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers 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 --- 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)) +#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