• Masahiro Yamada's avatar
    kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 · 29500f15
    Masahiro Yamada authored
    Stephen Rothwell reported a build error on ppc64 when
    CONFIG_TRIM_UNUSED_KSYMS is enabled.
    
    Jessica Yu pointed out the cause of the error with the reference to the
    ppc64 ELF ABI:
      "Symbol names with a dot (.) prefix are reserved for holding entry
       point addresses. The value of a symbol named ".FN", if it exists,
       is the entry point of the function "FN".
    
    As it turned out, CONFIG_TRIM_UNUSED_KSYMS has never worked for ppc64,
    but this issue has been unnoticed until recently because this option
    depends on !UNUSED_SYMBOLS hence is disabled by all{mod,yes}config.
    (Then, it was uncovered by another patch removing UNUSED_SYMBOLS.)
    
    Removing the dot prefix in scripts/gen_autoksyms.sh fixes the issue.
    Please note it must be done before 'sort -u' because modules have
    both ._mcount and _mcount undefined when CONFIG_FUNCTION_TRACER=y.
    
    Link: https://lore.kernel.org/lkml/20210209210843.3af66662@canb.auug.org.au/Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    Tested-by: default avatarJessica Yu <jeyu@kernel.org>
    29500f15
gen_autoksyms.sh 1.41 KB