mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-11 07:24:46 +00:00
envtools: make them build again
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 at3a9f642ca9
(crypto: nuvoton: npcm_sha: Support SHA 384/512) which clearly has nothing to do with this. But digging deeper, one eventually finds0f92fa4560
("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:0f92fa4560
("env: Remove <common.h> and add needed includes") Signed-off-by: Rasmus Villemoes <ravi@prevas.dk> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
This commit is contained in:
parent
a3709638ec
commit
6606a6adfa
1 changed files with 2 additions and 1 deletions
3
tools/env/fw_env.c
vendored
3
tools/env/fw_env.c
vendored
|
@ -9,6 +9,8 @@
|
|||
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#include "fw_env_private.h"
|
||||
|
||||
#include <compiler.h>
|
||||
#include <env.h>
|
||||
#include <errno.h>
|
||||
|
@ -39,7 +41,6 @@
|
|||
|
||||
#include <mtd/ubi-user.h>
|
||||
|
||||
#include "fw_env_private.h"
|
||||
#include "fw_env.h"
|
||||
|
||||
struct env_opts default_opts = {
|
||||
|
|
Loading…
Add table
Reference in a new issue