Author: oxygene Date: Tue Jan 18 13:12:47 2011 New Revision: 6266 URL: https://tracker.coreboot.org/trac/coreboot/changeset/6266
Log: Eliminate strict aliasing related warnings. Signed-off-by: Patrick Georgi <[email protected]> Acked-by: Stefan Reinauer <[email protected]> Modified: trunk/util/nvramtool/coreboot_tables.h trunk/util/nvramtool/lbtable.c Modified: trunk/util/nvramtool/coreboot_tables.h ============================================================================== --- trunk/util/nvramtool/coreboot_tables.h Tue Jan 18 10:36:44 2011 (r6265) +++ trunk/util/nvramtool/coreboot_tables.h Tue Jan 18 13:12:47 2011 (r6266) @@ -74,7 +74,10 @@ } struct lb_header { - uint8_t signature[4]; /* LBIO */ + union { + uint8_t signature[4]; /* LBIO */ + uint32_t signature32; + }; uint32_t header_bytes; uint32_t header_checksum; uint32_t table_bytes; Modified: trunk/util/nvramtool/lbtable.c ============================================================================== --- trunk/util/nvramtool/lbtable.c Tue Jan 18 10:36:44 2011 (r6265) +++ trunk/util/nvramtool/lbtable.c Tue Jan 18 13:12:47 2011 (r6266) @@ -360,7 +360,7 @@ " table_bytes: 0x%x (decimal: %d)\n" " table_checksum: 0x%x (decimal: %d)\n" " table_entries: 0x%x (decimal: %d)\n\n", - vtophys(lbtable), *((uint32_t *) lbtable->signature), + vtophys(lbtable), lbtable->signature32, lbtable->signature[0], lbtable->signature[1], lbtable->signature[2], lbtable->signature[3], lbtable->header_bytes, lbtable->header_bytes, @@ -483,14 +483,14 @@ int *bad_header_count, int *bad_table_count) { - static const char signature[] = { 'L', 'B', 'I', 'O' }; + static const char signature[4] = { 'L', 'B', 'I', 'O' }; const struct lb_header *table; const struct lb_forward *forward; const uint32_t *p; uint32_t sig; assert(end >= start); - sig = (*((const uint32_t *)signature)); + memcpy(&sig, signature, sizeof(sig)); table = NULL; *bad_header_count = 0; *bad_table_count = 0; -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

