On Thu, Apr 16, 2020 at 11:15 PM Bin Meng <bmeng...@gmail.com> wrote: > > Hi Masahiro, > > On Thu, Apr 16, 2020 at 12:39 PM Masahiro Yamada <masahi...@kernel.org> wrote: > > > > Currently generic-asm-offsets.h and asm-offsets.h are generated based > > on U-Boot proper config options. The same asm-offsets headers are used > > for building U-Boot SPL/TPL, which causes potential offset mismatch if > > U-Boot proper has different config options from U-Boot SPL/TPL. > > > > Thank you very much for doing this. > > > This commit adds: > > spl/include/generated/(generic-)asm-offsets.h > > tpl/include/generated/(generic-)asm-offsets.h > > > > spl/include/generated/(generic-)asm-offsets.h is generated if > > CONFIG_SPL=y, and included when building SPL. > > > > tpl/include/generated/(generic-)asm-offsets.h is generated if > > CONFIG_TPL=y, and included when building TPL. > > > > They are created before Kbuild descends into SPL/TPL object directories > > and builds $(obj)/dts/dt-platdata.o because $(obj)/dts/dt-platdata.c > > includes a bunch of headers. > > > > Prepend -I$(obj)/include to $(UBOOTINCLUDE) so (generic-)asm-offsets.h > > is searched in {spl,tpl}/include/generated/. > > > > This patch does not apply on top of u-boot/master, unfortunately. > > > Requested-by: Bin Meng <bmeng...@gmail.com> > > Signed-off-by: Masahiro Yamada <masahi...@kernel.org> > > --- > > > > Kbuild | 4 ++-- > > scripts/Makefile.spl | 10 ++++++++-- > > 2 files changed, 10 insertions(+), 4 deletions(-) > > > > I manually applied the changes and had a test, but it failed to build. > See below: > > > diff --git a/Kbuild b/Kbuild > > index 6014f7c34a..1eac091594 100644 > > --- a/Kbuild > > +++ b/Kbuild > > @@ -10,7 +10,7 @@ generic-offsets-file := > > include/generated/generic-asm-offsets.h > > always := $(generic-offsets-file) > > targets := lib/asm-offsets.s > > > > -$(obj)/$(generic-offsets-file): lib/asm-offsets.s FORCE > > +$(obj)/$(generic-offsets-file): $(obj)/lib/asm-offsets.s FORCE > > CC spl/./lib/asm-offsets.s > cc1: fatal error: can't open 'spl/./lib/asm-offsets.s' for writing: No > such file or directory > compilation terminated. > scripts/Makefile.build:166: recipe for target 'spl/./lib/asm-offsets.s' failed > make[2]: *** [spl/./lib/asm-offsets.s] Error 1 > scripts/Makefile.spl:432: recipe for target 'prepare' failed > make[1]: *** [prepare] Error 2 > Makefile:1917: recipe for target 'spl/u-boot-spl' failed > make: *** [spl/u-boot-spl] Error 2 > > When I removed the changes for this line, and the line below, the > build could pass. > The spl/include/generated/(generic-)asm-offsets.h were generated, and > I verified the macro values are correct and different with the U-Boot > proper one. > > But since there is no $(obj) prepended to lib/asm-offsets.s, I believe > this is still not perfect.
This is because you remove the needed changes. -- Best Regards Masahiro Yamada