These structs are used for on-storage data layouts. They should be not affected by different integer precisions and alignment optimizations of 32bit or 64bit machines. Using the architecture independent integer data types, like uint32_t, achieves the former, using the packet attribute the later. Signed-off-by: Stefan Lengfeld <s.lengfeld@xxxxxxxxx> --- common/state/backend_bucket_circular.c | 2 +- common/state/backend_bucket_direct.c | 2 +- common/state/backend_format_raw.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/state/backend_bucket_circular.c b/common/state/backend_bucket_circular.c index 72e165e..d8504e0 100644 --- a/common/state/backend_bucket_circular.c +++ b/common/state/backend_bucket_circular.c @@ -47,7 +47,7 @@ struct state_backend_storage_bucket_circular { struct device_d *dev; }; -struct state_backend_storage_bucket_circular_meta { +struct __attribute__((__packed__)) state_backend_storage_bucket_circular_meta { uint32_t magic; uint32_t written_length; }; diff --git a/common/state/backend_bucket_direct.c b/common/state/backend_bucket_direct.c index 08892f0..5225433 100644 --- a/common/state/backend_bucket_direct.c +++ b/common/state/backend_bucket_direct.c @@ -32,7 +32,7 @@ struct state_backend_storage_bucket_direct { struct device_d *dev; }; -struct state_backend_storage_bucket_direct_meta { +struct __attribute__((__packed__)) state_backend_storage_bucket_direct_meta { uint32_t magic; uint32_t written_length; }; diff --git a/common/state/backend_format_raw.c b/common/state/backend_format_raw.c index 4209424..e028ea6 100644 --- a/common/state/backend_format_raw.c +++ b/common/state/backend_format_raw.c @@ -37,7 +37,7 @@ struct state_backend_format_raw { struct device_d *dev; }; -struct backend_raw_header { +struct __attribute__((__packed__)) backend_raw_header { uint32_t magic; uint16_t reserved; uint16_t data_len; -- 1.9.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox