On 29/07/25 18:18, Aristo Chen wrote: > Fix one binman test that has memory region overlap issue, the test case > needed to be updated to use non-overlapping memory layouts. > > * Tests fixed: > - testFitSplitElf > > * Changes made: > 1. ELF section layouts: added elf_sections_tee.lds with different > address for TEE to avoid overlap with ATF address defined in > elf_sections.lds > 2. Makefile to properly build elf_sections_tee binary > 3. Updat ftest.py to use separate ELF files for TEE vs ATF components > in split-elf operations. > > An upcoming commit will validate if the memory region is overlapped > > Signed-off-by: Aristo Chen <aristo.c...@canonical.com> > --- > tools/binman/ftest.py | 2 +- > tools/binman/test/Makefile | 6 ++++- > tools/binman/test/elf_sections_tee.c | 1 + > tools/binman/test/elf_sections_tee.lds | 31 ++++++++++++++++++++++++++ > 4 files changed, 38 insertions(+), 2 deletions(-) > create mode 120000 tools/binman/test/elf_sections_tee.c > create mode 100644 tools/binman/test/elf_sections_tee.lds > > diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py > index a90db3c9351..f0c0487300d 100644 > --- a/tools/binman/ftest.py > +++ b/tools/binman/ftest.py > @@ -252,7 +252,7 @@ class TestFunctional(unittest.TestCase): > TestFunctional._MakeInputFile('bl31.elf', > tools.read_file(cls.ElfTestFile('elf_sections'))) > TestFunctional.tee_elf_path = > TestFunctional._MakeInputFile('tee.elf', > - tools.read_file(cls.ElfTestFile('elf_sections'))) > + tools.read_file(cls.ElfTestFile('elf_sections_tee'))) > > # Newer OP_TEE file in v1 binary format > cls.make_tee_bin('tee.bin') > diff --git a/tools/binman/test/Makefile b/tools/binman/test/Makefile > index 4d152eee9c0..66279e0e207 100644 > --- a/tools/binman/test/Makefile > +++ b/tools/binman/test/Makefile > @@ -30,12 +30,13 @@ LDS_BINMAN_BAD := -T $(SRC)u_boot_binman_syms_bad.lds > LDS_BINMAN_X86 := -T $(SRC)u_boot_binman_syms_x86.lds > LDS_BINMAN_EMBED := -T $(SRC)u_boot_binman_embed.lds > LDS_EFL_SECTIONS := -T $(SRC)elf_sections.lds > +LDS_EFL_SECTIONS_TEE := -T $(SRC)elf_sections_tee.lds > LDS_BLOB := -T $(SRC)blob_syms.lds > > TARGETS = u_boot_ucode_ptr u_boot_no_ucode_ptr bss_data bss_data_zero \ > u_boot_binman_syms u_boot_binman_syms.bin u_boot_binman_syms_bad \ > u_boot_binman_syms_size u_boot_binman_syms_x86 embed_data \ > - u_boot_binman_embed u_boot_binman_embed_sm elf_sections blob_syms.bin > + u_boot_binman_embed u_boot_binman_embed_sm elf_sections > elf_sections_tee blob_syms.bin > > all: $(TARGETS) > > @@ -84,6 +85,9 @@ blob_syms: blob_syms.c > elf_sections: CFLAGS += $(LDS_EFL_SECTIONS) > elf_sections: elf_sections.c > > +elf_sections_tee: CFLAGS += $(LDS_EFL_SECTIONS_TEE) > +elf_sections_tee: elf_sections_tee.c > + > clean: > rm -f $(TARGETS) > > diff --git a/tools/binman/test/elf_sections_tee.c > b/tools/binman/test/elf_sections_tee.c > new file mode 120000 > index 00000000000..01b200a365e > --- /dev/null > +++ b/tools/binman/test/elf_sections_tee.c > @@ -0,0 +1 @@ > +elf_sections.c > \ No newline at end of file > diff --git a/tools/binman/test/elf_sections_tee.lds > b/tools/binman/test/elf_sections_tee.lds > new file mode 100644 > index 00000000000..501d85a1f68 > --- /dev/null > +++ b/tools/binman/test/elf_sections_tee.lds > @@ -0,0 +1,31 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Copyright (c) 2016 Google, Inc
Copyright year 2025 > + */ > + > +OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") > +OUTPUT_ARCH(i386) > +ENTRY(_start) > + > +SECTIONS > +{ > + . = 0x00100010; > + _start = .; > + > + . = ALIGN(4); > + .text : > + { > + *(.text*) > + } > + > + . = 0x00101000; > + .sram : > + { > + *(.sram*) > + } > + > + /DISCARD/ : { > + *(.comment) > + *(.dyn*) > + } > +} Reviewed-by: Neha Malcom Francis <n-fran...@ti.com> -- Thanking You Neha Malcom Francis