linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 1/4] kbuild: add mod(name,file)_flags to assembler flags for module objects
@ 2024-08-21  4:06 Kris Van Hees
  2024-08-21  4:06 ` [PATCH v7 2/4] kbuild: generate offset range data for builtin modules Kris Van Hees
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Kris Van Hees @ 2024-08-21  4:06 UTC (permalink / raw)
  To: linux-kernel, linux-kbuild, linux-modules, linux-trace-kernel
  Cc: Kris Van Hees, Steven Rostedt, Masahiro Yamada, Luis Chamberlain,
	Masami Hiramatsu, Nick Desaulniers, Jiri Olsa, Elena Zannoni

In order to create the file at build time, modules.builtin.ranges, that
contains the range of addresses for all built-in modules, there needs to
be a way to identify what code is compiled into modules.

To identify what code is compiled into modules during a kernel build,
one can look for the presence of the -DKBUILD_MODFILE and -DKBUILD_MODNAME
options in the compile command lines.  A simple grep in .*.cmd files for
those options is sufficient for this.

Unfortunately, these options are only passed when compiling C source files.
Various modules also include objects built from assembler source, and these
options are not passed in that case.

Adding $(modfile_flags) to modkern_aflags (similar to modkern_cflahs), and
adding $(modname_flags) to a_flags (similar to c_flags) makes it possible
to identify which objects are compiled into modules for both C and
assembler soure files.

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 scripts/Makefile.lib | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index fe3668dc4954..170f462537a8 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -238,7 +238,7 @@ modkern_rustflags =                                              \
 
 modkern_aflags = $(if $(part-of-module),				\
 			$(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE),	\
-			$(KBUILD_AFLAGS_KERNEL) $(AFLAGS_KERNEL))
+			$(KBUILD_AFLAGS_KERNEL) $(AFLAGS_KERNEL) $(modfile_flags))
 
 c_flags        = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE)     \
 		 -include $(srctree)/include/linux/compiler_types.h       \
@@ -248,7 +248,7 @@ c_flags        = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE)     \
 rust_flags     = $(_rust_flags) $(modkern_rustflags) @$(objtree)/include/generated/rustc_cfg
 
 a_flags        = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE)     \
-		 $(_a_flags) $(modkern_aflags)
+		 $(_a_flags) $(modkern_aflags) $(modname_flags)
 
 cpp_flags      = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE)     \
 		 $(_cpp_flags)
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-08-24 16:44 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-21  4:06 [PATCH v7 1/4] kbuild: add mod(name,file)_flags to assembler flags for module objects Kris Van Hees
2024-08-21  4:06 ` [PATCH v7 2/4] kbuild: generate offset range data for builtin modules Kris Van Hees
2024-08-22 17:34   ` Masahiro Yamada
2024-08-21  4:06 ` [PATCH v7 3/4] scripts: add verifier script for builtin module range data Kris Van Hees
2024-08-22 17:35   ` Masahiro Yamada
2024-08-21  4:07 ` [PATCH v7 4/4] module: add install target for modules.builtin.ranges Kris Van Hees
2024-08-21 14:40 ` [PATCH v7 0/4] Generate address range data for built-in modules Kris Van Hees
2024-08-22 18:19 ` [PATCH v8 " Kris Van Hees
2024-08-22 18:19   ` [PATCH v8 1/4] kbuild: add mod(name,file)_flags to assembler flags for module objects Kris Van Hees
2024-08-23 17:37     ` Masahiro Yamada
2024-08-22 18:19   ` [PATCH v8 2/4] kbuild: generate offset range data for builtin modules Kris Van Hees
2024-08-23 16:53     ` Sami Tolvanen
2024-08-23 17:06       ` Kris Van Hees
2024-08-23 17:23         ` Sami Tolvanen
2024-08-24 16:44           ` Miguel Ojeda
2024-08-22 18:19   ` [PATCH v8 3/4] scripts: add verifier script for builtin module range data Kris Van Hees
2024-08-22 18:19   ` [PATCH v8 4/4] module: add install target for modules.builtin.ranges Kris Van Hees

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).