mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-07 21:33:54 +00:00
![]() load_mbr_header() casts an unaligned pointer to (mbr_entry_t *) then dereferences struct members with non-trivial alignment requirements. This causes a bl2 with BOOT_DEVICE=emmc to hang when compiled with clang 18.1.5, although it works when compiled with gcc 14.1.0. Presumably gcc's -mstrict-align papers over the undefined behaviour whereas clang's doesn't. Replace the unaligned cast with a safe memcpy() into an mbr_entry_t. Signed-off-by: Chris Webb <chris@arachsys.com> Change-Id: Iefd4dac7e390ddf369b8dacdbaf14e599118f91d |
||
---|---|---|
.. | ||
gpt.c | ||
partition.c |