On 5/7/26 10:40 PM, Jim Cromie wrote: > With CONFIG_DRM_USE_DYNAMIC_DEBUG=y, several build configs had > problems with __dyndbg* sections getting lost in drm drivers. Fix > this by following the model demonstrated in codetag.lds.h. > > Introduce include/asm-generic/dyndbg.lds.h, to bundle dynamic-debug's > multiple sections together, into 2 macros: > > vmlinux.lds.h DATA_DATA: move the 2 BOUNDED_SECTION_BY(__dyndbg*) > calls into dyndbg.lds.h DYNDBG_SECTIONS(). vmlinux.lds.h now includes > the new file and calls the new macro. > > MOD_DYNDBG_SECTIONS declares the 2 BOUNDED_SECTION_BY calls, but wraps > them with output section syntax to keep them as known and separate ELF > sections in the module.ko. The KEEP fixes the lost section. > > dyndbg.lds.h includes (reuses) bounded-section.lds.h > > scripts/module.lds.S: now calls MOD_DYNDBG_SECTIONS right before the > CODETAG macro (consistent with their placements in vmlinux.lds.h), and > also includes dyndbg.lds.h > > This isolates vmlinux.lds.h from further __dyndbg section additions. > > CC: Arnd Bergmann <[email protected]> > Signed-off-by: Jim Cromie <[email protected]> > --- > [...] > diff --git a/include/asm-generic/vmlinux.lds.h > b/include/asm-generic/vmlinux.lds.h > index d9d2eb708355..54897d742c6c 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -332,6 +332,7 @@ > /* > * .data section > */ > +#include <asm-generic/dyndbg.lds.h> > #define DATA_DATA \ > *(.xiptext) \ > *(DATA_MAIN)
Nit: I suggest placing the dyndbg.lds.h include at the top of the file, as is usual, together with the codetag.lds.h include. Otherwise, this looks ok to me. Feel free to add: Reviewed-by: Petr Pavlu <[email protected]> -- Thanks, Petr

