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;