lkml.org 
[lkml]   [2021]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 137/380] kbuild: Fix no symbols warning when CONFIG_TRIM_UNUSD_KSYMS=y
    Date
    From: Masahiro Yamada <masahiroy@kernel.org>

    [ Upstream commit 52d83df682c82055961531853c066f4f16e234ea ]

    When CONFIG_TRIM_UNUSED_KSYMS is enabled, I see some warnings like this:

    nm: arch/x86/entry/vdso/vdso32/note.o: no symbols

    $NM (both GNU nm and llvm-nm) warns when no symbol is found in the
    object. Suppress the stderr.

    Fangrui Song mentioned binutils>=2.37 `nm -q` can be used to suppress
    "no symbols" [1], and llvm-nm>=13.0.0 supports -q as well.

    We cannot use it for now, but note it as a TODO.

    [1]: https://sourceware.org/bugzilla/show_bug.cgi?id=27408

    Fixes: bbda5ec671d3 ("kbuild: simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS")
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Reviewed-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    scripts/gen_ksymdeps.sh | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    diff --git a/scripts/gen_ksymdeps.sh b/scripts/gen_ksymdeps.sh
    index 1324986e1362..725e8c9c1b53 100755
    --- a/scripts/gen_ksymdeps.sh
    +++ b/scripts/gen_ksymdeps.sh
    @@ -4,7 +4,13 @@
    set -e

    # List of exported symbols
    -ksyms=$($NM $1 | sed -n 's/.*__ksym_marker_\(.*\)/\1/p' | tr A-Z a-z)
    +#
    +# If the object has no symbol, $NM warns 'no symbols'.
    +# Suppress the stderr.
    +# TODO:
    +# Use -q instead of 2>/dev/null when we upgrade the minimum version of
    +# binutils to 2.37, llvm to 13.0.0.
    +ksyms=$($NM $1 2>/dev/null | sed -n 's/.*__ksym_marker_\(.*\)/\1/p' | tr A-Z a-z)

    if [ -z "$ksyms" ]; then
    exit 0
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-16 19:07    [W:4.068 / U:0.156 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site