[RFC PATCH 14/16] tools/fdtgrep: Include __symbols__ table

Simon Glass sjg at chromium.org
Wed Dec 20 05:45:48 CET 2023


Hi,

On Tue, 19 Dec 2023 at 03:13, MD Danish Anwar <danishanwar at ti.com> wrote:
>
> This is required for overlays to work at SPL.
>
> Loading of symbol table depends on DT Overlay support in SPL
> so make it compile-time dependent. Without this SPL fails to
> boot some platforms where this feature is not enabled
> (e.g. dra71-evm.)
>
> Without including the <linux/kconfig.h> file, the symbol
> CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY will not be visible and
> we will never include the symbol table.
>
> So include <linux/kconfig.h>
>
> Due to some reason it needs to be included after
> [#include "fdt_host.h"] otherwise it causes a build error.
>
> Signed-off-by: MD Danish Anwar <danishanwar at ti.com>
> ---
>  tools/fdtgrep.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/tools/fdtgrep.c b/tools/fdtgrep.c
> index 7eabcab439..706b4a35f4 100644
> --- a/tools/fdtgrep.c
> +++ b/tools/fdtgrep.c
> @@ -22,6 +22,8 @@
>  #include "fdt_host.h"
>  #include "libfdt_internal.h"
>
> +#include <linux/kconfig.h>
> +
>  /* Define DEBUG to get some debugging output on stderr */
>  #ifdef DEBUG
>  #define debug(a, b...) fprintf(stderr, a, ## b)
> @@ -1234,6 +1236,12 @@ int main(int argc, char *argv[])
>                 disp.fout = stdout;
>         }
>
> +       if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY)) {
> +               /* include symbol table */
> +               if (value_add(&disp, &disp.value_head, FDT_IS_NODE, 1, "/__symbols__"))
> +                       usage("Cannot add __symbols__ value");
> +       }

This will need to be a new fdtgrep flag as we cannot build different
versions of fdtgrep.

Also, can we not update Makefile.lib to pass something like '-n __symbols__' ?

> +
>         /* Run the grep and output the results */
>         ret = do_fdtgrep(&disp, filename);
>         if (disp.output_fname)
> --
> 2.34.1
>

Regards,
Simon


More information about the U-Boot mailing list