Re: [PATCH 05/11] vmlinux.lds.h: Preserve DTB sections from being discarded after init

From: Stephen Boyd
Date: Mon Sep 23 2024 - 14:14:02 EST


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? 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?

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?