[PATCH] linker_lists: set LINKER_LIST_ALIGN to 8 if 64BIT
Jerome Forissier
jerome.forissier at linaro.org
Mon Oct 7 11:42:06 CEST 2024
CPU_MIPS64 needs 8-byte alignment on the linker lists, otherwise an
exception may occur. In fact all 64BIT architectures should default
to 8; that's what this patch does.
Fixes an issue found on malta64 with QEMU:
Breakpoint 1, lists_driver_lookup_name (name=0xffffffffbe043578 "root_driver") at /home/uboot/u-boot/drivers/core/lists.c:31
31 if (!strcmp(name, entry->name))
[...]
ld a1,0(s0)
(gdb) p/x &entry->name
0xffffffffbe04b0d4
(gdb) p/x $s0
0xffffffffbe04b0d4
$ grep __u_boot_list /tmp/malta64/u-boot.objdump
4 __u_boot_list 000018e0 ffffffffbe04a4d4 ffffffffbe04a4d4 0004a584 2**2
Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
---
arch/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index 8f1f4667012..72bf4029251 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -45,7 +45,7 @@ config SYS_CACHELINE_SIZE
config LINKER_LIST_ALIGN
int
default 32 if SANDBOX
- default 8 if ARM64 || X86
+ default 8 if 64BIT
default 4
help
Force the each linker list to be aligned to this boundary. This
--
2.40.1
More information about the U-Boot
mailing list