[coreboot] [commit] r6266 - trunk/util/nvramtool
repository service
svn at coreboot.org
Tue Jan 18 13:12:48 CET 2011
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 <patrick.georgi at secunet.com>
Acked-by: Stefan Reinauer <stepan at coreboot.org>
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;
More information about the coreboot
mailing list