Re: [PATCH v3] gen_compile_commands: handle multiple lines per .mod file
From: Masahiro Yamada
Date: Tue Jun 28 2022 - 22:46:17 EST
On Wed, Jun 29, 2022 at 3:45 AM Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:
>
> On Mon, Jun 27, 2022 at 6:24 PM John Hubbard <jhubbard@xxxxxxxxxx> wrote:
> >
> > 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")
> > Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
>
> Thanks for the fix, John!
> Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
Applied to linux-kbuild/fixes with Nick's reviewed-by.
Thanks.
--
Best Regards
Masahiro Yamada