[PATCH 0/8] binman: Enhancements for symbol handling

Simon Glass sjg at chromium.org
Thu Jan 12 00:10:11 CET 2023


A recent U-Boot discussion[1] yielded a suggestion to allow an entry to be
positioned by an ELF symbol.

A similar need has come up in ChromiumOS' use of Zephyr[2], this time with
an additional offset added in.

This series adds support for this along with a few other things:

- Generic support for updating ELF symbols (such that it can be used by
  Zephyr)
- Support for 'null' entries which have no contents, but do appear in the
  fdtmap or FMAP
- Support for overlapping entries

[1] https://lore.kernel.org/all/20221230191238.6rcnia6rzoqcezx6@pali/
[2] https://issuetracker.google.com/264910598


Simon Glass (8):
  binman: Add a test for an inner section with a size
  binman: Clarify use of False when obtaining data
  binman: Add a null entry
  binman: Add a function to check for special section nodes
  binman: Support overlapping entries
  binman: Provide general support for updating ELF symbols
  dtoc: Add a way to read a phandle with params
  binman: Support positioning an entry by and ELF symbol

 tools/binman/binman.rst                   |  41 +++++++-
 tools/binman/elf.py                       |  31 +++++-
 tools/binman/entries.rst                  |  13 +++
 tools/binman/entry.py                     |  33 +++++-
 tools/binman/etype/blob.py                |   6 ++
 tools/binman/etype/fit.py                 |   3 +-
 tools/binman/etype/null.py                |  25 +++++
 tools/binman/etype/section.py             |  51 +++++++--
 tools/binman/etype/u_boot_spl.py          |   1 -
 tools/binman/ftest.py                     | 121 ++++++++++++++++++++++
 tools/binman/test/267_section_inner.dts   |  16 +++
 tools/binman/test/268_null.dts            |  19 ++++
 tools/binman/test/269_overlap.dts         |  21 ++++
 tools/binman/test/270_overlap_null.dts    |  24 +++++
 tools/binman/test/271_overlap_bad.dts     |  21 ++++
 tools/binman/test/272_overlap_no_size.dts |  19 ++++
 tools/binman/test/273_blob_symbol.dts     |  24 +++++
 tools/binman/test/274_offset_from_elf.dts |  30 ++++++
 tools/binman/test/Makefile                |   9 +-
 tools/binman/test/blob_syms.c             |  20 ++++
 tools/binman/test/blob_syms.lds           |  30 ++++++
 tools/dtoc/fdt_util.py                    |  28 +++++
 tools/dtoc/test/dtoc_test_phandle.dts     |   1 +
 tools/dtoc/test_fdt.py                    |  11 ++
 24 files changed, 577 insertions(+), 21 deletions(-)
 create mode 100644 tools/binman/etype/null.py
 create mode 100644 tools/binman/test/267_section_inner.dts
 create mode 100644 tools/binman/test/268_null.dts
 create mode 100644 tools/binman/test/269_overlap.dts
 create mode 100644 tools/binman/test/270_overlap_null.dts
 create mode 100644 tools/binman/test/271_overlap_bad.dts
 create mode 100644 tools/binman/test/272_overlap_no_size.dts
 create mode 100644 tools/binman/test/273_blob_symbol.dts
 create mode 100644 tools/binman/test/274_offset_from_elf.dts
 create mode 100644 tools/binman/test/blob_syms.c
 create mode 100644 tools/binman/test/blob_syms.lds

-- 
2.39.0.314.g84b9a713c41-goog



More information about the U-Boot mailing list