On Fri, Feb 2, 2024 at 9:34 PM Igor Opaniuk <igor.opan...@foundries.io> wrote: > > On Fri, Feb 2, 2024 at 5:04 PM Fabio Estevam <feste...@gmail.com> wrote: > > > > From: Fabio Estevam <feste...@denx.de> > > > > U-Boot binary has grown in such a way that it goes beyond the reserved > > area for the environment variables. > > > > Running "saveenv" and rebooting the board causes U-Boot to hang because > > of this overlap. > > > > Fix this problem by selecting CONFIG_LTO so that the U-Boot proper > > size can be reduced. > > > > Also, to prevent this same problem to happen in the future, use > > CONFIG_BOARD_SIZE_LIMIT, which can detect the overlap in build-time. > > > > CONFIG_BOARD_SIZE_LIMIT is calculated as follows: > > > > CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot-img.dtb offset > > CONFIG_BOARD_SIZE_LIMIT = 0xc000 - 69 * 1024 > > CONFIG_BOARD_SIZE_LIMIT = 715766 > > > > Signed-off-by: Fabio Estevam <feste...@denx.de> > > --- > > Changes since v1: > > - Select LTO. (Tom) > > > > configs/mx6sabresd_defconfig | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig > > index a90efe4a7786..d4fb55622cf1 100644 > > --- a/configs/mx6sabresd_defconfig > > +++ b/configs/mx6sabresd_defconfig > > @@ -21,6 +21,9 @@ CONFIG_SPL_SERIAL=y > > CONFIG_SPL=y > > CONFIG_SPL_LIBDISK_SUPPORT=y > > CONFIG_PCI=y > > +CONFIG_LTO=y > > +CONFIG_HAS_BOARD_SIZE_LIMIT=y > > +CONFIG_BOARD_SIZE_LIMIT=715766 > > CONFIG_FIT=y > > CONFIG_SPL_FIT_PRINT=y > > CONFIG_SPL_LOAD_FIT=y > > -- > > 2.34.1 > > > Reviewed-by: Igor Opaniuk <igor.opan...@foundries.io> > > btw, from my experience, the same issue will probably occur again in future, > especially when the current U-Boot size is already close to the defined limit > (yes, with this patch it will be reported during compile time, but still). > > Have you considered adjusting the boot image layout instead > (moving CONFIG_ENV_OFFSET, so unlikely > U-Boot image will overlap again) to tackle feature problems? I've just checked the previous patch version, where you addressed that exactly with CONFIG_ENV_OFFSET change and following suggestions/objections from Tom, so sorry for the noise :)
> > -- > Best regards - Freundliche Grüsse - Meilleures salutations > > Igor Opaniuk > Senior Software Engineer, Embedded & Security > E: igor.opan...@foundries.io > W: www.foundries.io -- Best regards - Freundliche Grüsse - Meilleures salutations Igor Opaniuk Senior Software Engineer, Embedded & Security E: igor.opan...@foundries.io W: www.foundries.io