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

Max Krummenacher max.oss.09 at gmail.com
Mon Nov 28 09:41:21 CET 2022


From: Max Krummenacher <max.krummenacher at toradex.com>


With CONFIG_LTO enabled the current way of extracting the
configured environment no longer works, i.e. the object file
content changes due to LTO.

Build a host tool which prints the configured environment instead
of using objcopy and friends to achive the same.

The code and Makefile changes were mostly stolen from tools/env/
i.e. the target userspace tools to access the environment.


Changes in v5:
- don't build the printinitialenv tool unconditionally but build it
  only as part of the u-boot-initial-env target.
  This no longer fails the 'make tools-only_defconfig tools-only'
  use-case which is reported by Tom Rini.
  Adding the $(env_h) dependencies to the tools target might give
  circular dependencies issues with some future tool.
- add Acked-by: Pali Rohár <pali at kernel.org>

Changes in v4:
- add '(objtree)/' when calling the tool. Suggested by Pali Rohár.
- renamed patch, as more than just the Makefile has changes

Changes in v3:
- moved the tool from scripts/ to tools/. Suggested by Tom Rini
- changed the dependencies to '$(env_h)' and 'tools'.
  Suggested by Tom Rini and Pali Rohár.
- removed the sed rule which replaces \x00 with \x0A as this is already
  done by the tool. Suggested by Pali Rohár.

Changes in v2:
- reworked to build a host tool which prints the configured
  environment as proposed by Pali Rohár
  https://lore.kernel.org/u-boot/20221018174827.1393211-1-max.oss.09@gmail.com/
- renamed patch, v1 used "Makefile: fix u-boot-initial-env target if lto is enabled"

Max Krummenacher (1):
  u-boot-initial-env: rework make target

 Makefile                | 10 ++++++----
 tools/.gitignore        |  1 +
 tools/Makefile          |  4 ++++
 tools/printinitialenv.c | 44 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 55 insertions(+), 4 deletions(-)
 create mode 100644 tools/printinitialenv.c

-- 
2.35.3



More information about the U-Boot mailing list