public inbox for linux-arch@vger.kernel.org
 help / color / mirror / Atom feed
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


  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