diff options
author | John Hubbard <jhubbard@nvidia.com> | 2022-06-28 03:23:53 +0200 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2022-06-29 04:43:13 +0200 |
commit | a4ab14e1d8fe83cc1ed8910b788117ec2ed25179 (patch) | |
tree | c9dbfeb46dfd1cd5466bcba27b442fc380251773 /scripts/Makefile.modinst | |
parent | Linux 5.19-rc4 (diff) | |
download | linux-a4ab14e1d8fe83cc1ed8910b788117ec2ed25179.tar.xz linux-a4ab14e1d8fe83cc1ed8910b788117ec2ed25179.zip |
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>
Diffstat (limited to 'scripts/Makefile.modinst')
0 files changed, 0 insertions, 0 deletions