Skip to content

Commit 5cf0fd5

Browse files
committed
Kbuild: disable TRIM_UNUSED_KSYMS option
The removal of EXPORT_UNUSED_SYMBOL() in commit 3679482 looks like (and was sold as) a no-op, but it actually had a rather serious and subtle side effect: the UNUSED_SYMBOLS option not only enabled the removed (unused) functionality, it also _disabled_ the TRIM_UNUSED_KSYMS functionality. And it turns out that TRIM_UNUSED_KSYMS is a huge time waste, and takes up a third of the kernel build time for me. For no actual upside, since no distro is likely to ever be able to enable it (because they all support external kernel modules). Rather than re-enable EXPORT_UNUSED_SYMBOL, this just disables the TRIM_UNUSED_KSYMS option by marking it broken. I'm tempted to just remove the support entirely, but maybe somebody has a use-case and can fix the behavior of it. I could have just disabled it for COMPILE_TEST, but it really smells like the TRIM_UNUSED_KSYMS option is badly done and not really useful, so this takes the more direct approach - let's see if anybody ever actually notices or complains. Cc: Miroslav Benes <mbenes@suse.cz> Cc: Emil Velikov <emil.l.velikov@gmail.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Jessica Yu <jeyu@kernel.org> Fixes: 3679482 ("module: remove EXPORT_UNUSED_SYMBOL*") Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 21a6ab2 commit 5cf0fd5

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

init/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2274,6 +2274,7 @@ config MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
22742274

22752275
config TRIM_UNUSED_KSYMS
22762276
bool "Trim unused exported kernel symbols"
2277+
depends on BROKEN
22772278
help
22782279
The kernel and some modules make many symbols available for
22792280
other modules to use via EXPORT_SYMBOL() and variants. Depending

0 commit comments

Comments
 (0)