On Friday 30 December 2022 09:49:08 Simon Glass wrote: > Hi Pali, > > On Fri, 30 Dec 2022 at 09:44, Pali Rohár <p...@kernel.org> wrote: > > > > On Friday 30 December 2022 10:41:47 Tom Rini wrote: > > > On Fri, Dec 30, 2022 at 04:24:43PM +0100, Pali Rohár wrote: > > > > On Friday 30 December 2022 10:21:04 Tom Rini wrote: > > > > > > In this case it would be better to build u-boot-dts.bin only by > > > > > > binman > > > > > > (for all platforms) instead of cat-ing rules in Makefile. > > > > > > > > > > This would also be an easier path forward perhaps for making sure that > > > > > the dtb is always 8 byte aligned? > > > > > > > > Well, no. With DTB the problem is that it is not put to the correct > > > > offset as can be specified in linker script. So moving this code from > > > > Makefile to binman also moves this problem to another location. > > > > 8 byte alignment is just subset of the "correct offset" problem. > > > > > > Right, the high level answer is binman is intended to be the tool to > > > assemble binaries, and has to deal with "make sure binary X is at offset > > > Y, which also has a linker symbol for run-time references". > > > > Ok, if this tool has access to ELF/linker symbols (or will have in > > future in case it does not have yet) then this problem could be solved > > here. > > It does have this access and already updates symbols in some cases. > See [1]. > [1] > https://u-boot.readthedocs.io/en/latest/develop/package/binman.html#access-to-binman-entry-offsets-at-run-time-symbols
I just do not see how to do it, but ok, maybe something more is needed. > I am a little nervous about a complete move to binman in this > area even for simple things like u-boot.bin, since it would set off > yet another migration. Yes, it sounds like a big change. > But perhaps most boards don't actually use u-boot.bin anyway? I think that most boards _use_ u-boot.bin. Or wrap u-boot.bin into some own container (by mkimage). > Part of me thinks we should solve this in the .lds files, since > otherwise we are blurring the line between building and packaging. Linker script files in any case would have to be adjusted / fixed to align _end symbol. Without it ELF symbol would not be correct and so obviously any solution depending on ELF symbols would not work... As I wrote recently, I proposed alternative solution without binman: https://lore.kernel.org/u-boot/20221217235913.w7ihsktbplbp2j7z@pali/ > Regards, > SImon >