[PATCH] envtools: make them build again

Tom Rini trini at konsulko.com
Wed Oct 16 17:56:21 CEST 2024


On Wed, Oct 16, 2024 at 05:10:35PM +0200, Rasmus Villemoes wrote:

> In v2024.10, "make envtools" is broken for at least these defconfigs:
> 
>    am335x_evm_defconfig
>    rpi_3_defconfig
>    rpi_4_defconfig
>    mx7dsabresd_defconfig
>    wandboard_defconfig
>    imx8mp_evk_defconfig
> 
> The only defconfig we use for which it is not broken is
> stm32mp13_defconfig. They all work just fine in v2024.07.
> 
> The symptoms are slightly different, but all related to the fact that
> some transitively included header uses IS_ENABLED or CONFIG_IS_ENABLED
> without linux/kconfig.h having already been included.
> 
> A simple git bisect doesn't produce anything sensible, it ends up at
> 3a9f642ca94 (crypto: nuvoton: npcm_sha: Support SHA 384/512) which
> clearly has nothing to do with this. But digging deeper, one
> eventually finds 0f92fa45603 ("env: Remove <common.h> and add needed
> includes").
> 
> So at first I tried adding "#include <linux/kconfig.h>" in
> include/env_default.h and include/env_flags.h. That fixes it for some,
> but not all, of the above. For example rpi_3_defconfig still fails,
> then in log.h complaining about BIT() and u8 not being defined. At
> least BIT() is should have gotten from bitops.h, except that that's
> behind ifdef __KERNEL__, so not set for the envtools build.
> 
> It turns out that the envtools source code in fw_env_private.h already
> has some hackery to deal with all this, in the form of the __ASSEMBLY__
> games it plays before including config.h. It seems that if we just
> make sure to do that include early enough, so that config.h is indeed
> parsed with that __ASSEMBLY__ hackery in place, everything builds
> fine.
> 
> Fixes: 0f92fa45603 ("env: Remove <common.h> and add needed includes")
> Signed-off-by: Rasmus Villemoes <ravi at prevas.dk>

Oh wow, good work.

Reviewed-by: Tom Rini <trini at konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20241016/968df948/attachment.sig>


More information about the U-Boot mailing list