From: Jim Cromie <jim.cromie@gmail.com>
To: "Arnd Bergmann" <arnd@arndb.de>,
"Jason Baron" <jbaron@akamai.com>,
"Luis Chamberlain" <mcgrof@kernel.org>,
"Petr Pavlu" <petr.pavlu@suse.com>,
"Daniel Gomez" <da.gomez@kernel.org>,
"Sami Tolvanen" <samitolvanen@google.com>,
"Aaron Tomlin" <atomlin@atomlin.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Jonathan Corbet" <corbet@lwn.net>,
"Shuah Khan" <skhan@linuxfoundation.org>,
"Shuah Khan" <shuah@kernel.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Jani Nikula" <jani.nikula@linux.intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Tvrtko Ursulin" <tursulin@ursulin.net>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Dmitry Osipenko" <dmitry.osipenko@collabora.com>,
"Gurchetan Singh" <gurchetansingh@chromium.org>,
"Chia-I Wu" <olvaffe@gmail.com>,
"Matthew Brost" <matthew.brost@intel.com>,
"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
"Lyude Paul" <lyude@redhat.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Patrik Jakobsson" <patrik.r.jakobsson@gmail.com>,
"Zack Rusin" <zack.rusin@broadcom.com>,
"Broadcom internal kernel review list"
<bcm-kernel-feedback-list@broadcom.com>,
"Louis Chauvet" <louis.chauvet@bootlin.com>,
"Haneen Mohammed" <hamohammed.sa@gmail.com>,
"Melissa Wen" <melissa.srw@gmail.com>,
"Sean Paul" <sean@poorly.run>,
"Jocelyn Falempe" <jfalempe@redhat.com>,
"Ruben Wauters" <rubenru09@aol.com>,
"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
"Maíra Canal" <mcanal@igalia.com>,
"Raspberry Pi Kernel Maintenance" <kernel-list@raspberrypi.com>,
"Rob Clark" <robin.clark@oss.qualcomm.com>,
"Dmitry Baryshkov" <lumag@kernel.org>,
"Abhinav Kumar" <abhinav.kumar@linux.dev>,
"Jessica Zhang" <jesszhan0024@gmail.com>,
"Marijn Suijten" <marijn.suijten@somainline.org>,
"Xinliang Liu" <xinliang.liu@linaro.org>,
"Tian Tao" <tiantao6@hisilicon.com>,
"Xinwei Kong" <kong.kongxinwei@hisilicon.com>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Yongqin Liu" <yongqin.liu@linaro.org>,
"John Stultz" <jstultz@google.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Frank Li" <Frank.Li@nxp.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Chun-Kuang Hu" <chunkuang.hu@kernel.org>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Alain Volmat" <alain.volmat@foss.st.com>,
"Raphael Gallais-Pou" <rgallaispou@gmail.com>,
"Yannick Fertre" <yannick.fertre@foss.st.com>,
"Raphael Gallais-Pou" <raphael.gallais-pou@foss.st.com>,
"Philippe Cornu" <philippe.cornu@foss.st.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Oded Gabbay" <ogabbay@kernel.org>,
"Maciej Falkowski" <maciej.falkowski@linux.intel.com>,
"Karol Wachowski" <karol.wachowski@linux.intel.com>,
"Rob Herring (Arm)" <robh@kernel.org>,
"Tomeu Vizoso" <tomeu@tomeuvizoso.net>,
"Liviu Dudau" <liviu.dudau@arm.com>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Liu Ying" <victor.liu@nxp.com>,
"Laurentiu Palcu" <laurentiu.palcu@oss.nxp.com>,
"Lucas Stach" <l.stach@pengutronix.de>,
"Paul Kocialkowski" <paulk@sys-base.io>,
"Jianmin Lv" <lvjianmin@loongson.cn>,
"Qianhai Wu" <wuqianhai@loongson.cn>,
"Huacai Chen" <chenhuacai@kernel.org>,
"Mingcong Bai" <jeffbai@aosc.io>,
"Xi Ruoyao" <xry111@xry111.site>,
"Icenowy Zheng" <zhengxingda@iscas.ac.cn>,
"Laurent Pinchart" <laurent.pinchart+renesas@ideasonboard.com>,
"Tomi Valkeinen" <tomi.valkeinen+renesas@ideasonboard.com>,
"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Magnus Damm" <magnus.damm@gmail.com>,
"Javier Martinez Canillas" <javierm@redhat.com>,
"Huang Rui" <ray.huang@amd.com>,
"Matthew Auld" <matthew.auld@intel.com>,
"Jani Nikula" <jani.nikula@intel.com>,
"Luca Coelho" <luciano.coelho@intel.com>,
"Russell King" <linux+etnaviv@armlinux.org.uk>,
"Christian Gmeiner" <christian.gmeiner@gmail.com>
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-modules@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kselftest@vger.kernel.org,
dri-devel@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
virtualization@lists.linux.dev, intel-xe@lists.freedesktop.org,
nouveau@lists.freedesktop.org,
spice-devel@lists.freedesktop.org,
linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-renesas-soc@vger.kernel.org,
etnaviv@lists.freedesktop.org, Jim Cromie <jim.cromie@gmail.com>
Subject: [PATCH v14 03/92] dyndbg.lds.S: fix lost dyndbg sections in modules
Date: Thu, 23 Apr 2026 14:53:44 -0600 [thread overview]
Message-ID: <20260423-submit-dyndbg-classmap-foundation-v14-3-2b809a8019d0@gmail.com> (raw)
In-Reply-To: <20260423-submit-dyndbg-classmap-foundation-v14-0-2b809a8019d0@gmail.com>
In an (unused) experimental variation of this series, I had trouble
with __dyndbg* sections getting lost in drm drivers. While it didn't
happen in this series, it exposed a non-obvious weakness. So fix it,
by following the model demonstrated in codetag.lds.h.
Introduce include/asm-generic/dyndbg.lds.h, with 2 macros:
DYNDBG_SECTIONS() gets the 2 BOUNDED_SECTION_BY(__yndbg*) calls from
vmlinux.lds.h DATA_DATA, which now includes the new file and calls the
new macro.
MOD_DYNDBG_SECTIONS also has 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.
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 <arnd@arndb.de>
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
MAINTAINERS | 1 +
include/asm-generic/dyndbg.lds.h | 19 +++++++++++++++++++
include/asm-generic/vmlinux.lds.h | 6 ++----
scripts/module.lds.S | 2 ++
4 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 5fcb7b991776..5c75109d2ee3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9069,6 +9069,7 @@ DYNAMIC DEBUG
M: Jason Baron <jbaron@akamai.com>
M: Jim Cromie <jim.cromie@gmail.com>
S: Maintained
+F: include/asm-generic/dyndbg.lds.h
F: include/linux/dynamic_debug.h
F: lib/dynamic_debug.c
F: lib/test_dynamic_debug.c
diff --git a/include/asm-generic/dyndbg.lds.h b/include/asm-generic/dyndbg.lds.h
new file mode 100644
index 000000000000..f95683aa16b6
--- /dev/null
+++ b/include/asm-generic/dyndbg.lds.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_DYNDBG_LDS_H
+#define __ASM_GENERIC_DYNDBG_LDS_H
+
+#include <asm-generic/bounded_sections.lds.h>
+#define DYNDBG_SECTIONS() \
+ . = ALIGN(8); \
+ BOUNDED_SECTION_BY(__dyndbg, ___dyndbg) \
+ BOUNDED_SECTION_BY(__dyndbg_classes, ___dyndbg_classes)
+
+#define MOD_DYNDBG_SECTIONS() \
+ __dyndbg : { \
+ BOUNDED_SECTION_BY(__dyndbg, ___dyndbg) \
+ } \
+ __dyndbg_classes : { \
+ BOUNDED_SECTION_BY(__dyndbg_classes, ___dyndbg_classes) \
+ }
+
+#endif /* __ASM_GENERIC_DYNDBG_LDS_H */
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index acb4aadd74da..9324066aab51 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -340,6 +340,7 @@
/*
* .data section
*/
+#include <asm-generic/dyndbg.lds.h>
#define DATA_DATA \
*(.xiptext) \
*(DATA_MAIN) \
@@ -353,10 +354,7 @@
*(.data..do_once) \
STRUCT_ALIGN(); \
*(__tracepoints) \
- /* implement dynamic printk debug */ \
- . = ALIGN(8); \
- BOUNDED_SECTION_BY(__dyndbg_classes, ___dyndbg_classes) \
- BOUNDED_SECTION_BY(__dyndbg, ___dyndbg) \
+ DYNDBG_SECTIONS() \
CODETAG_SECTIONS() \
LIKELY_PROFILE() \
BRANCH_PROFILE() \
diff --git a/scripts/module.lds.S b/scripts/module.lds.S
index 2dc4c8c3e667..027c5c286ea0 100644
--- a/scripts/module.lds.S
+++ b/scripts/module.lds.S
@@ -10,6 +10,7 @@
#endif
#include <asm-generic/codetag.lds.h>
+#include <asm-generic/dyndbg.lds.h>
SECTIONS {
/DISCARD/ : {
@@ -59,6 +60,7 @@ SECTIONS {
*(.rodata..L*)
}
+ MOD_DYNDBG_SECTIONS()
MOD_SEPARATE_CODETAG_SECTIONS()
}
--
2.53.0
next prev parent reply other threads:[~2026-04-23 20:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-23 20:53 [PATCH v14 00/92] dyndbg: enable 0-off-cost for all of __drm_debug Jim Cromie
2026-04-23 20:53 ` [PATCH v14 01/92] dyndbg: fix NULL ptr on i386 due to section mis-alignment Jim Cromie
2026-04-23 20:53 ` [PATCH v14 02/92] vmlinux.lds.h: move BOUNDED_SECTION_* macros to reuse later Jim Cromie
2026-04-23 20:53 ` Jim Cromie [this message]
2026-04-23 20:53 ` [PATCH v14 04/92] vmlinux.lds.h: drop unused HEADERED_SECTION* macros Jim Cromie
2026-04-23 20:53 ` [PATCH v14 05/92] dyndbg: factor ddebug_match_desc out from ddebug_change Jim Cromie
2026-04-23 20:53 ` [PATCH v14 06/92] dyndbg: add stub macro for DECLARE_DYNDBG_CLASSMAP Jim Cromie
2026-04-23 20:53 ` [PATCH v14 07/92] docs/dyndbg: update examples \012 to \n Jim Cromie
2026-04-23 20:53 ` [PATCH v14 08/92] docs/dyndbg: explain flags parse 1st Jim Cromie
2026-04-23 20:53 ` [PATCH v14 09/92] test-dyndbg: fixup CLASSMAP usage error Jim Cromie
2026-04-23 20:53 ` [PATCH v14 10/92] dyndbg: reword "class unknown," to "class:_UNKNOWN_" Jim Cromie
2026-04-23 20:53 ` [PATCH v14 11/92] dyndbg: make ddebug_class_param union members same size Jim Cromie
2026-04-23 20:53 ` [PATCH v14 12/92] dyndbg: drop NUM_TYPE_ARRAY Jim Cromie
2026-04-23 20:53 ` [PATCH v14 13/92] dyndbg: tweak pr_fmt to avoid expansion conflicts Jim Cromie
2026-04-23 20:53 ` [PATCH v14 14/92] dyndbg: reduce verbose/debug clutter Jim Cromie
2026-04-23 20:53 ` [PATCH v14 15/92] dyndbg: refactor param_set_dyndbg_classes and below Jim Cromie
2026-04-23 20:53 ` [PATCH v14 16/92] dyndbg: tighten fn-sig of ddebug_apply_class_bitmap Jim Cromie
2026-04-23 20:53 ` [PATCH v14 17/92] dyndbg: replace classmap list with a vector Jim Cromie
2026-04-23 20:53 ` [PATCH v14 18/92] dyndbg: macrofy a 2-index for-loop pattern Jim Cromie
2026-04-23 20:54 ` [PATCH v14 19/92] dyndbg,module: make proper substructs in _ddebug_info Jim Cromie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260423-submit-dyndbg-classmap-foundation-v14-3-2b809a8019d0@gmail.com \
--to=jim.cromie@gmail.com \
--cc=Frank.Li@nxp.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=abhinav.kumar@linux.dev \
--cc=airlied@gmail.com \
--cc=airlied@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=alain.volmat@foss.st.com \
--cc=alexander.deucher@amd.com \
--cc=alexandre.torgue@foss.st.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andrzej.hajda@intel.com \
--cc=andy.yan@rock-chips.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=arnd@arndb.de \
--cc=atomlin@atomlin.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=chenhuacai@kernel.org \
--cc=christian.gmeiner@gmail.com \
--cc=christian.koenig@amd.com \
--cc=chunkuang.hu@kernel.org \
--cc=corbet@lwn.net \
--cc=da.gomez@kernel.org \
--cc=dakr@kernel.org \
--cc=dave.stevenson@raspberrypi.com \
--cc=dmitry.osipenko@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=etnaviv@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=freedreno@lists.freedesktop.org \
--cc=geert+renesas@glider.be \
--cc=gregkh@linuxfoundation.org \
--cc=gurchetansingh@chromium.org \
--cc=hamohammed.sa@gmail.com \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=imx@lists.linux.dev \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=jani.nikula@linux.intel.com \
--cc=javierm@redhat.com \
--cc=jbaron@akamai.com \
--cc=jeffbai@aosc.io \
--cc=jernej.skrabec@gmail.com \
--cc=jesszhan0024@gmail.com \
--cc=jfalempe@redhat.com \
--cc=jonas@kwiboo.se \
--cc=joonas.lahtinen@linux.intel.com \
--cc=jstultz@google.com \
--cc=karol.wachowski@linux.intel.com \
--cc=kernel-list@raspberrypi.com \
--cc=kernel@pengutronix.de \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=kong.kongxinwei@hisilicon.com \
--cc=kraxel@redhat.com \
--cc=l.stach@pengutronix.de \
--cc=laurent.pinchart+renesas@ideasonboard.com \
--cc=laurentiu.palcu@oss.nxp.com \
--cc=linux+etnaviv@armlinux.org.uk \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-modules@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=liviu.dudau@arm.com \
--cc=louis.chauvet@bootlin.com \
--cc=luciano.coelho@intel.com \
--cc=lumag@kernel.org \
--cc=lvjianmin@loongson.cn \
--cc=lyude@redhat.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=maciej.falkowski@linux.intel.com \
--cc=magnus.damm@gmail.com \
--cc=marijn.suijten@somainline.org \
--cc=matthew.auld@intel.com \
--cc=matthew.brost@intel.com \
--cc=matthias.bgg@gmail.com \
--cc=mcanal@igalia.com \
--cc=mcgrof@kernel.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=melissa.srw@gmail.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=nouveau@lists.freedesktop.org \
--cc=ogabbay@kernel.org \
--cc=olvaffe@gmail.com \
--cc=p.zabel@pengutronix.de \
--cc=patrik.r.jakobsson@gmail.com \
--cc=paulk@sys-base.io \
--cc=petr.pavlu@suse.com \
--cc=philippe.cornu@foss.st.com \
--cc=raphael.gallais-pou@foss.st.com \
--cc=ray.huang@amd.com \
--cc=rfoss@kernel.org \
--cc=rgallaispou@gmail.com \
--cc=robh@kernel.org \
--cc=robin.clark@oss.qualcomm.com \
--cc=rodrigo.vivi@intel.com \
--cc=rubenru09@aol.com \
--cc=s.hauer@pengutronix.de \
--cc=samitolvanen@google.com \
--cc=sean@poorly.run \
--cc=shuah@kernel.org \
--cc=simona@ffwll.ch \
--cc=skhan@linuxfoundation.org \
--cc=spice-devel@lists.freedesktop.org \
--cc=sumit.semwal@linaro.org \
--cc=thomas.hellstrom@linux.intel.com \
--cc=tiantao6@hisilicon.com \
--cc=tomeu@tomeuvizoso.net \
--cc=tomi.valkeinen+renesas@ideasonboard.com \
--cc=tursulin@ursulin.net \
--cc=tzimmermann@suse.de \
--cc=victor.liu@nxp.com \
--cc=virtualization@lists.linux.dev \
--cc=wuqianhai@loongson.cn \
--cc=xinliang.liu@linaro.org \
--cc=xry111@xry111.site \
--cc=yannick.fertre@foss.st.com \
--cc=yongqin.liu@linaro.org \
--cc=zack.rusin@broadcom.com \
--cc=zhengxingda@iscas.ac.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox