[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[virt-tools-list] [osinfo PATCH] Mark the PrimaryVolumeDescriptor struct as packed



This tells gcc it shouldn't add some padding between the struct
members. which is important because we rely on this structure size
being exactly 2048. One of its members is guint8 ignored2[246]; (only
a 2 byte multiple) so all the fields of the struct won't be aligned
on a 8 byte boundary, so gcc could do some unexpected things on
some arch.
---
 osinfo/osinfo_media.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/osinfo/osinfo_media.c b/osinfo/osinfo_media.c
index 2366993..2a80205 100644
--- a/osinfo/osinfo_media.c
+++ b/osinfo/osinfo_media.c
@@ -44,7 +44,7 @@ struct _PrimaryVolumeDescriptor {
     guint8 ignored2[246];
     gchar  publisher[MAX_PUBLISHER]; /* Publisher ID */
     guint8 ignored3[1602];
-};
+} __attribute__ ((packed));;
 
 typedef struct _SupplementaryVolumeDescriptor SupplementaryVolumeDescriptor;
 
-- 
1.7.7.5


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]