• Linus Torvalds's avatar
    Kbuild: disable TRIM_UNUSED_KSYMS option · 5cf0fd59
    Linus Torvalds authored
    The removal of EXPORT_UNUSED_SYMBOL() in commit 36794822 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: 36794822 ("module: remove EXPORT_UNUSED_SYMBOL*")
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5cf0fd59
Kconfig 75.1 KB