On Tue, Sep 24, 2024 at 3:13 AM Stephen Boyd <sboyd@xxxxxxxxxx> wrote: > > Quoting Masahiro Yamada (2024-09-22 01:14:12) > > > > Rather, I'd modify my patch as follows: > > > > --- a/scripts/Makefile.dtbs > > +++ b/scripts/Makefile.dtbs > > @@ -34,12 +34,14 @@ $(obj)/dtbs-list: $(dtb-y) FORCE > > # Assembly file to wrap dtb(o) > > # --------------------------------------------------------------------------- > > > > +builtin-dtb-section = $(if $(filter arch/%, $(obj)),.dtb.init.rodata,.rodata) > > I think we want to free the empty root dtb that's always builtin. That > is in drivers/of/ right? drivers/of/empty_root.dts is really small. That is not a big deal even if empty_root.dtb remains in the .rodata section. > And I worry that an overlay could be in arch/ > and then this breaks again. That's why it feels more correct to treat > dtbo.o vs. dtb.o differently. Perhaps we can check $(obj) for dtbo vs > dtb? This is not a problem either. Checking $(obj)/ is temporary. See this later patch: https://lore.kernel.org/linux-kbuild/20240904234803.698424-16-masahiroy@xxxxxxxxxx/T/#u After my work is completed, DTB and DTBO will go to the .rodata section unconditionally. > Also, modpost code looks for .init* named sections and treats them as > initdata already. Can we rename .dtb.init.rodata to .init.dtb.rodata so > that modpost can find that? My previous patch checked .dtb.init.rodata. I do not mind renaming it to .init.dtb.rodata. -- Best Regards Masahiro Yamada