Fix compiler error : strict-aliasing

Signed-off-by: John Chung <john.chung@arm.com>
Change-Id: Iae4d7962a7ffca20633b3a49c8c2cbc763a5f22d
diff --git a/sections/cper-section-arm.c b/sections/cper-section-arm.c
index e0f7cb5..988a5c9 100644
--- a/sections/cper-section-arm.c
+++ b/sections/cper-section-arm.c
@@ -203,7 +203,7 @@
 		json_object_object_add(
 			error_subinfo, "data",
 			json_object_new_uint64(
-				*((UINT64 *)&error_info->ErrorInformation)));
+				error_info->ErrorInformation.Value));
 		break;
 	}
 	json_object_object_add(error_info_ir, "errorInformation",
@@ -615,9 +615,8 @@
 
 	default:
 		//Unknown error information type.
-		*((UINT64 *)&error_info_cper.ErrorInformation) =
-			json_object_get_uint64(json_object_object_get(
-				error_info_information, "data"));
+		error_info_cper.ErrorInformation.Value = json_object_get_uint64(
+			json_object_object_get(error_info_information, "data"));
 		break;
 	}
 
diff --git a/sections/cper-section-arm.h b/sections/cper-section-arm.h
index 5ee18d8..e865434 100644
--- a/sections/cper-section-arm.h
+++ b/sections/cper-section-arm.h
@@ -251,6 +251,7 @@
 } EFI_ARM_BUS_ERROR_STRUCTURE;
 
 typedef union {
+	UINT64 Value;
 	EFI_ARM_CACHE_ERROR_STRUCTURE CacheError;
 	EFI_ARM_TLB_ERROR_STRUCTURE TlbError;
 	EFI_ARM_BUS_ERROR_STRUCTURE BusError;