summaryrefslogtreecommitdiff
path: root/kernel/module
diff options
context:
space:
mode:
authorMatthew Maurer <mmaurer@google.com>2025-01-03 17:37:02 +0000
committerMasahiro Yamada <masahiroy@kernel.org>2025-01-11 01:25:26 +0900
commitfc7d5e3210ae083a29ce224ffce18eaf3d1c645a (patch)
tree16aade42a63f4224836ee96c4721db1447d2a6d0 /kernel/module
parent54ac1ac8edeb74ff87fc880d1ee58785bdcbe323 (diff)
modpost: Produce extended MODVERSIONS information
Generate both the existing modversions format and the new extended one when running modpost. Presence of this metadata in the final .ko is guarded by CONFIG_EXTENDED_MODVERSIONS. We no longer generate an error on long symbols in modpost if CONFIG_EXTENDED_MODVERSIONS is set, as they can now be appropriately encoded in the extended section. These symbols will be skipped in the previous encoding. An error will still be generated if CONFIG_EXTENDED_MODVERSIONS is not set. Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Matthew Maurer <mmaurer@google.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'kernel/module')
-rw-r--r--kernel/module/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/module/Kconfig b/kernel/module/Kconfig
index d443fc504ffc..9568b629a03c 100644
--- a/kernel/module/Kconfig
+++ b/kernel/module/Kconfig
@@ -207,6 +207,16 @@ config ASM_MODVERSIONS
assembly. This can be enabled only when the target architecture
supports it.
+config EXTENDED_MODVERSIONS
+ bool "Extended Module Versioning Support"
+ depends on MODVERSIONS
+ help
+ This enables extended MODVERSIONs support, allowing long symbol
+ names to be versioned.
+
+ The most likely reason you would enable this is to enable Rust
+ support. If unsure, say N.
+
config MODULE_SRCVERSION_ALL
bool "Source checksum for all modules"
help