On Thu, Feb 06, 2025 at 02:18:02AM +0900, Masahiro Yamada wrote: > Since commit 9564a8cf422d ("Kbuild: fix # escaping in .cmd files for > future Make"), '#' in the build command is replaced with $(pound) rather > than '\#'. > > Calling .replace(r'\#', '#') is only necessary when this tool is used > to parse .*.cmd files generated by Linux 4.16 or earlier, which is > unlikely happen. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > > scripts/clang-tools/gen_compile_commands.py | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-tools/gen_compile_commands.py > index e4fb686dfaa9..96e6e46ad1a7 100755 > --- a/scripts/clang-tools/gen_compile_commands.py > +++ b/scripts/clang-tools/gen_compile_commands.py > @@ -167,10 +167,10 @@ def process_line(root_directory, command_prefix, file_path): > root_directory or file_directory. > """ > # The .cmd files are intended to be included directly by Make, so they > - # escape the pound sign '#', either as '\#' or '$(pound)' (depending on the > - # kernel version). The compile_commands.json file is not interepreted > - # by Make, so this code replaces the escaped version with '#'. > - prefix = command_prefix.replace(r'\#', '#').replace('$(pound)', '#') > + # escape the pound sign '#' as '$(pound)'. The compile_commands.json file > + # is not interepreted by Make, so this code replaces the escaped version > + # with '#'. > + prefix = command_prefix.replace('$(pound)', '#') > > # Return the canonical path, eliminating any symbolic links encountered in the path. > abs_path = os.path.realpath(os.path.join(root_directory, file_path)) > -- > 2.43.0 >