UPSTREAM: HobLib: Don't break GCC strict aliasing

Change-Id: I1bd33e423b0fcb69597e001b61c6ea916f5fe44a
Original-Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Original-Reviewed-on: https://review.coreboot.org/14622
Original-Reviewed-by: Leroy P Leahy <leroy.p.leahy@intel.com>
(cherry-picked from commit 1eaf58be2c)
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/346467
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Commit-Queue: Stefan Reinauer <reinauer@google.com>
Tested-by: Stefan Reinauer <reinauer@google.com>
This commit is contained in:
Stefan Reinauer 2016-05-04 17:57:52 -07:00 committed by ChromeOS Commit Bot
commit 5e748eb8f6

View file

@ -431,7 +431,7 @@ BuildMemoryAllocationHob (
**/
#define GET_HOB_TYPE(HobStart) \
((*(EFI_HOB_GENERIC_HEADER **)&(HobStart))->HobType)
(((EFI_HOB_GENERIC_HEADER *)HobStart)->HobType)
/**
Returns the length, in bytes, of a HOB.
@ -445,7 +445,7 @@ BuildMemoryAllocationHob (
**/
#define GET_HOB_LENGTH(HobStart) \
((*(EFI_HOB_GENERIC_HEADER **)&(HobStart))->HobLength)
(((EFI_HOB_GENERIC_HEADER *)HobStart)->HobLength)
/**
Returns a pointer to the next HOB in the HOB list.
@ -459,7 +459,7 @@ BuildMemoryAllocationHob (
**/
#define GET_NEXT_HOB(HobStart) \
(VOID *)(*(UINT8 **)&(HobStart) + GET_HOB_LENGTH (HobStart))
(VOID *)((UINT8 *)(HobStart) + GET_HOB_LENGTH(HobStart))
/**
Determines if a HOB is the last HOB in the HOB list.
@ -488,7 +488,7 @@ BuildMemoryAllocationHob (
**/
#define GET_GUID_HOB_DATA(HobStart) \
(VOID *)(*(UINT8 **)&(HobStart) + sizeof (EFI_HOB_GUID_TYPE))
(VOID *)((UINT8 *)(HobStart) + sizeof(EFI_HOB_GUID_TYPE))
/**
Returns the size of the data buffer from a HOB of type EFI_HOB_TYPE_GUID_EXTENSION.
@ -501,6 +501,6 @@ BuildMemoryAllocationHob (
@return The size of the data buffer.
**/
#define GET_GUID_HOB_DATA_SIZE(HobStart) \
(UINT16)(GET_HOB_LENGTH (HobStart) - sizeof (EFI_HOB_GUID_TYPE))
(UINT16)(GET_HOB_LENGTH(HobStart) - sizeof(EFI_HOB_GUID_TYPE))
#endif