Centos-kernel-stream-9/scripts/clang-tools
Joel Slebodnick 5ac12bed5e gen_compile_commands: handle multiple lines per .mod file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2160559
Tested: Kernel booted on Orin board with no warnings using device tree

commit a4ab14e1d8fe83cc1ed8910b788117ec2ed25179
Author: John Hubbard <jhubbard@nvidia.com>
Date:   Mon Jun 27 18:23:53 2022 -0700

    gen_compile_commands: handle multiple lines per .mod file

    scripts/clang-tools/gen_compile_commands.py incorrectly assumes that
    each .mod file only contains one line. That assumption was correct when
    the script was originally created, but commit 9413e7640564 ("kbuild:
    split the second line of *.mod into *.usyms") changed the .mod file
    format so that there is one entry per line, and potentially many lines.

    The problem can be reproduced by using Kbuild to generate
    compile_commands.json, like this:

        make CC=clang compile_commands.json

    In many cases, the problem might be overlooked because many subsystems
    only have one line anyway. However, in some subsystems (Nouveau, with
    762 entries, is a notable example) it results in skipping most of the
    subsystem.

    Fix this by fully processing each .mod file.

    Fixes: 9413e7640564 ("kbuild: split the second line of *.mod into *.usyms")
    Signed-off-by: John Hubbard <jhubbard@nvidia.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    (cherry picked from commit a4ab14e1d8fe83cc1ed8910b788117ec2ed25179)

Signed-off-by: Joel Slebodnick <jslebodn@redhat.com>
2023-03-24 17:06:54 -04:00
..
gen_compile_commands.py gen_compile_commands: handle multiple lines per .mod file 2023-03-24 17:06:54 -04:00
run-clang-tools.py