[PATCH v2 24/24] dyndbg: improve section names
From: Jim Cromie <jim.cromie@gmail.com>
Date: 2026-05-23 07:15:44
Also in:
linux-arch, linux-doc, linux-kselftest, lkml
Subsystem:
dynamic debug, generic include/asm header files, library code, module support, the rest · Maintainers:
Jason Baron, Jim Cromie, Arnd Bergmann, Andrew Morton, Luis Chamberlain, Petr Pavlu, Daniel Gomez, Sami Tolvanen, Linus Torvalds
change __dyndbg to __dyndbg_descs change __dyndbg_classes to __dyndbg_class_maps this sets up for adding __dyndbg_class_users Signed-off-by: Jim Cromie <jim.cromie@gmail.com> --- include/asm-generic/dyndbg.lds.h | 14 +++++++------- include/linux/dynamic_debug.h | 4 ++-- kernel/module/main.c | 2 +- lib/dynamic_debug.c | 24 ++++++++++++------------ 4 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/include/asm-generic/dyndbg.lds.h b/include/asm-generic/dyndbg.lds.h
index 9d8951bef688..ec661f9f3793 100644
--- a/include/asm-generic/dyndbg.lds.h
+++ b/include/asm-generic/dyndbg.lds.h@@ -3,16 +3,16 @@ #define __ASM_GENERIC_DYNDBG_LDS_H #include <asm-generic/bounded_sections.lds.h> -#define DYNDBG_SECTIONS() \ - BOUNDED_SECTION_BY(__dyndbg, ___dyndbg) \ - BOUNDED_SECTION_BY(__dyndbg_classes, ___dyndbg_classes) +#define DYNDBG_SECTIONS() \ + BOUNDED_SECTION_BY(__dyndbg_descs, ___dyndbg_descs) \ + BOUNDED_SECTION_BY(__dyndbg_class_maps, ___dyndbg_class_maps) #define MOD_DYNDBG_SECTIONS() \ - __dyndbg 0 : ALIGN(8) { \ - KEEP(*(__dyndbg)) \ + __dyndbg_descs 0 : ALIGN(8) { \ + KEEP(*(__dyndbg_descs)) \ } \ - __dyndbg_classes 0 : ALIGN(8) { \ - KEEP(*(__dyndbg_classes)) \ + __dyndbg_class_maps 0 : ALIGN(8) { \ + KEEP(*(__dyndbg_class_maps)) \ } #endif /* __ASM_GENERIC_DYNDBG_LDS_H */
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
index fe73aa27b350..206337af71e9 100644
--- a/include/linux/dynamic_debug.h
+++ b/include/linux/dynamic_debug.h@@ -128,7 +128,7 @@ struct _ddebug_class_param { #define DECLARE_DYNDBG_CLASSMAP(_var, _maptype, _base, ...) \ static const char *_var##_classnames[] = { __VA_ARGS__ }; \ static struct _ddebug_class_map __aligned(8) __used \ - __section("__dyndbg_classes") _var = { \ + __section("__dyndbg_class_maps") _var = { \ .mod = THIS_MODULE, \ .mod_name = KBUILD_MODNAME, \ .base = _base, \
@@ -168,7 +168,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, #define DEFINE_DYNAMIC_DEBUG_METADATA_CLS(name, cls, fmt) \ static struct _ddebug __aligned(8) \ - __section("__dyndbg") name = { \ + __section("__dyndbg_descs") name = { \ .modname = KBUILD_MODNAME, \ .function = __func__, \ .filename = __FILE__, \
diff --git a/kernel/module/main.c b/kernel/module/main.c
index c2b6e70f2e77..bd7899a91755 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c@@ -2774,7 +2774,7 @@ static int find_module_sections(struct module *mod, struct load_info *info) pr_warn("%s: Ignoring obsolete parameters\n", mod->name); #ifdef CONFIG_DYNAMIC_DEBUG_CORE - mod->dyndbg_info.descs.start = section_objs(info, "__dyndbg_descriptors", + mod->dyndbg_info.descs.start = section_objs(info, "__dyndbg_descs", sizeof(*mod->dyndbg_info.descs.start), &mod->dyndbg_info.descs.len); mod->dyndbg_info.maps.start = section_objs(info, "__dyndbg_class_maps",
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index b877f4c6d778..ce70cfee50c5 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c@@ -40,10 +40,10 @@ #include <rdma/ib_verbs.h> -extern struct _ddebug __start___dyndbg[]; -extern struct _ddebug __stop___dyndbg[]; -extern struct _ddebug_class_map __start___dyndbg_classes[]; -extern struct _ddebug_class_map __stop___dyndbg_classes[]; +extern struct _ddebug __start___dyndbg_descs[]; +extern struct _ddebug __stop___dyndbg_descs[]; +extern struct _ddebug_class_map __start___dyndbg_class_maps[]; +extern struct _ddebug_class_map __stop___dyndbg_class_maps[]; struct ddebug_table { struct list_head link;
@@ -1379,10 +1379,10 @@ static int __init dynamic_debug_init(void) char *cmdline; struct _ddebug_info di = { - .descs.start = __start___dyndbg, - .maps.start = __start___dyndbg_classes, - .descs.len = __stop___dyndbg - __start___dyndbg, - .maps.len = __stop___dyndbg_classes - __start___dyndbg_classes, + .descs.start = __start___dyndbg_descs, + .maps.start = __start___dyndbg_class_maps, + .descs.len = __stop___dyndbg_descs - __start___dyndbg_descs, + .maps.len = __stop___dyndbg_class_maps - __start___dyndbg_class_maps, }; #ifdef CONFIG_MODULES
@@ -1393,7 +1393,7 @@ static int __init dynamic_debug_init(void) } #endif /* CONFIG_MODULES */ - if (&__start___dyndbg == &__stop___dyndbg) { + if (&__start___dyndbg_descs == &__stop___dyndbg_descs) { if (IS_ENABLED(CONFIG_DYNAMIC_DEBUG)) { pr_warn("_ddebug table is empty in a CONFIG_DYNAMIC_DEBUG build\n"); return 1;
@@ -1403,11 +1403,11 @@ static int __init dynamic_debug_init(void) return 0; } - iter = iter_mod_start = __start___dyndbg; + iter = iter_mod_start = __start___dyndbg_descs; modname = iter->modname; i = mod_sites = mod_ct = 0; - for (; iter < __stop___dyndbg; iter++, i++, mod_sites++) { + for (; iter < __stop___dyndbg_descs; iter++, i++, mod_sites++) { if (strcmp(modname, iter->modname)) { mod_ct++;
@@ -1431,7 +1431,7 @@ static int __init dynamic_debug_init(void) goto out_err; ddebug_init_success = 1; - vpr_info("%d prdebugs in %d modules, %d KiB in ddebug tables, %d kiB in __dyndbg section\n", + vpr_info("%d prdebugs in %d modules, %d KiB in ddebug tables, %d kiB in __dyndbg_descs section\n", i, mod_ct, (int)((mod_ct * sizeof(struct ddebug_table)) >> 10), (int)((i * sizeof(struct _ddebug)) >> 10));
--
2.54.0