[PATCH v5 1/1] u-boot-initial-env: rework make target

Max Krummenacher max.oss.09 at gmail.com
Mon Dec 12 14:39:09 CET 2022


Hi Tom

On Thu, Dec 8, 2022 at 9:24 PM Tom Rini <trini at konsulko.com> wrote:
>
> On Mon, Nov 28, 2022 at 09:41:22AM +0100, Max Krummenacher wrote:
>
> > From: Max Krummenacher <max.krummenacher at toradex.com>
> >
> > With LTO enabled the U-Boot initial environment is no longer stored
> > in an easy accessible section in env/common.o. I.e. the section name
> > changes from build to build, its content maybe compressed and it is
> > annotated with additional data.
> >
> > Drop trying to read the initial env with elf tools from the compiler
> > specific object file in favour of adding and using a host tool with
> > the only functionality of printing the initial env to stdout.
> >
> > See also:
> > https://lore.kernel.org/all/927b122e-1f62-e790-f5ca-30bae4332c77@foss.st.com/
> >
> > Signed-off-by: Max Krummenacher <max.krummenacher at toradex.com>
> > Acked-by: Pali Rohár <pali at kernel.org>
> > Reviewed-by: Simon Glass <sjg at chromium.org>
>
> Applied to u-boot/next, thanks!

The commit not only fixes the use case on arm64 with LTO enabled, it also
fixes sandbox for x86-64. For me on Fedora with a `gcc (GCC) 11.3.1 20220421`
both `make sandbox_defconfig; make u-boot-initial-env` and
`make sandbox_defconfig; <unselect LTO>; make u-boot-initial-env` fail with
```
  GENENV  u-boot-initial-env
objcopy: env/common.o: can't dump section
'.rodata.default_environment' - it does not exist: file format not
recognized
sed: can't read u-boot-initial-env: No such file or directory
```

Wouldn't that merit applying the commit to master, i.e. include it in v2023.01?

Regards
Max

P.S.:
The test in [1] catches this failure, so [1] should go in after this commit
to have CI tests not failing.
[1] https://lore.kernel.org/all/20221209120956.2286619-1-max.oss.09@gmail.com/

>
> --
> Tom


More information about the U-Boot mailing list