Eliminate strict aliasing related warnings.

Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Acked-by: Stefan Reinauer <stepan@coreboot.org>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6266 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/nvramtool/lbtable.c b/util/nvramtool/lbtable.c
index 88d7f9c..0a502a47 100644
--- a/util/nvramtool/lbtable.c
+++ b/util/nvramtool/lbtable.c
@@ -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;