diff --git a/arch/mips/cpu/u-boot-spl.lds b/arch/mips/cpu/u-boot-spl.lds index 310a5c5053b..ea2deed34f1 100644 --- a/arch/mips/cpu/u-boot-spl.lds +++ b/arch/mips/cpu/u-boot-spl.lds @@ -27,16 +27,17 @@ SECTIONS .data : { *(SORT_BY_ALIGNMENT(.data*)) *(SORT_BY_ALIGNMENT(.sdata*)) + . = ALIGN(8); } > .spl_mem #if defined(CONFIG_SPL_DM) || defined(CONFIG_SPL_LOADER_SUPPORT) . = ALIGN(4); __u_boot_list : { KEEP(*(SORT(__u_boot_list*))); + . = ALIGN(8); } > .spl_mem #endif - . = ALIGN(4); __image_copy_end = .; __image_copy_len = __image_copy_end - __text_start; @@ -123,3 +124,6 @@ SECTIONS *(.eh_frame) } } + +ASSERT(_image_binary_end % 8 == 0, \ + "_image_binary_end must be 8-byte aligned for device tree"); diff --git a/arch/mips/cpu/u-boot.lds b/arch/mips/cpu/u-boot.lds index 133ea05df3d..d59a48b7ef8 100644 --- a/arch/mips/cpu/u-boot.lds +++ b/arch/mips/cpu/u-boot.lds @@ -54,9 +54,9 @@ SECTIONS LONG(0xFFFFFFFF); FILL(0); . += CONFIG_MIPS_RELOCATION_TABLE_SIZE - 4; + . = ALIGN(8); } - . = ALIGN(8); _end = .; .bss __rel_start (OVERLAY) : { @@ -140,3 +140,5 @@ SECTIONS *(.eh_frame) } } + +ASSERT(_end % 8 == 0, "_end must be 8-byte aligned for device tree");