]> www.infradead.org Git - users/jedix/linux-maple.git/commit
kbuild: add mod(name,file)_flags to assembler flags for module objects
authorKris Van Hees <kris.van.hees@oracle.com>
Fri, 6 Sep 2024 14:45:02 +0000 (10:45 -0400)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 10 Sep 2024 09:36:10 +0000 (18:36 +0900)
commit23d93aa4b3b90b6e3dc8e6b6bb36580c1068bc07
tree1fcbfc36388fe7aa26860b6cf09bebe7808fbdcb
parent8a62d44588451095fd6645d6ed7ff8761edf62aa
kbuild: add mod(name,file)_flags to assembler flags for module objects

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_cflags), 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 source files.  While KBUILD_MODFILE is sufficient to generate
the modules ranges data, KBUILD_MODNAME is passed as well for consistency
with the C source code case.

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Tested-by: Sam James <sam@gentoo.org>
Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Tested-by: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/Makefile.lib