[PATCH] env: another attempt at fixing SPL build failures
Tom Rini
trini at konsulko.com
Thu Jan 23 22:58:08 CET 2020
On Sun, Dec 15, 2019 at 10:29:39PM +0000, Rasmus Villemoes wrote:
> I'm also seeing the build failure that commit
>
> 7d4776545b env: solve compilation error in SPL
>
> tried to fix, namely that the reference to env_flags_validate from
> env_htab cannot be satisfied when flags.o is not built in. However,
> that commit got reverted by
>
> d90fc9c3de Revert "env: solve compilation error in SPL"
>
> Necessary, but not sufficient conditions to see this are
>
> CONFIG_SPL=y (obviously)
> CONFIG_SPL_ENV_SUPPORT=n (so flags.o does not get compiled)
> CONFIG_SPL_LIBCOMMON_SUPPORT=y (so env/built-in.o is part of the SPL link)
>
> Now, these are satisfied for e.g. imx6q_logic_defconfig. But that
> builds just fine, and spl/u-boot-spl.map lists .data.env_htab among
> the discarded (garbage collected) sections. Yet, on our
> mpc8309-derived board, we do see the build failure, so perhaps the
> linker works a bit differently on ppc than on ARM, or there's yet some
> other configuration option needed to observe the break.
>
> This is another attempt at solving it, which also cleans up
> env/Makefile a bit: Introduce a def_bool y symbol CONFIG_ENV_SUPPORT
> which complements CONFIG_(SPL/TPL)_SUPPORT. Then use
> CONFIG_$(SPL_TPL_)ENV_SUPPORT to decide whether to include the five
> basic env/*.o files. For attr.o, flags.o and callback.o, this
> shouldn't change anything. Also, common.o and env.o still get
> unconditionally built for U-boot proper. But for TPL/SPL, those two
> are only included if CONFIG_(SPL/TPL)_SUPPORT is set.
>
> Having that symbol should also allow simplifying conditionals such as
>
> #if !defined(CONFIG_SPL_BUILD) || CONFIG_IS_ENABLED(ENV_SUPPORT)
>
> found in drivers/reset/reset-socfpga.c to just
> CONFIG_IS_ENABLED(ENV_SUPPORT).
>
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200123/dcca0aa8/attachment.sig>
More information about the U-Boot
mailing list