[Spice-commits] spice/end-packed.h spice/start-packed.h

Marc-André Lureau elmarco at kemper.freedesktop.org
Sun Jan 2 13:24:43 PST 2011


 spice/end-packed.h   |    4 +---
 spice/start-packed.h |    4 ++++
 2 files changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 45f954aadb8e0eb49a33dffa56b220c65947e94a
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date:   Wed Dec 29 14:23:59 2010 +0100

    mingw32: specify packing alignment to 1 byte, to override -mms-bitfield
    
    Ex: G_STRUCT_OFFSET(SpiceLinkReply, num_channel_caps) is 172 bytes
    when compiled with -mms-bitfield, and 170 bytes without.
    
    GLib/Gtk are compiled with -mms-bitfield, and it is necessary to
    compile with the same option for compatibility. The pack pragma
    for MINGW32 corrects the structure alignement.
    
    We could use the pack pragma for GNUC unconditionally, that could help
    to ensure struct binary compatibility between different compiled
    flavours.

diff --git a/spice/end-packed.h b/spice/end-packed.h
index e191737..1acea18 100644
--- a/spice/end-packed.h
+++ b/spice/end-packed.h
@@ -33,8 +33,6 @@
 
 #undef SPICE_ATTR_PACKED
 
-#ifndef __GNUC__
-
+#if defined(__MINGW32__) || !defined(__GNUC__)
 #pragma pack(pop)
-
 #endif
diff --git a/spice/start-packed.h b/spice/start-packed.h
index 78ec7c7..ab3fa98 100644
--- a/spice/start-packed.h
+++ b/spice/start-packed.h
@@ -49,6 +49,10 @@
 
 #define SPICE_ATTR_PACKED __attribute__ ((__packed__))
 
+#ifdef __MINGW32__
+#pragma pack(push,1)
+#endif
+
 #else
 
 #pragma pack(push)


More information about the Spice-commits mailing list