]> git.baikalelectronics.ru Git - kernel.git/commit
kbuild: Add a space after `!` to prevent parsing as file pattern
authorMichael Forney <mforney@mforney.org>
Thu, 16 Aug 2018 00:13:50 +0000 (17:13 -0700)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 22 Aug 2018 14:21:40 +0000 (23:21 +0900)
commitc01738627750b18d9a0068de68ab031813080623
tree4df230f7f4489495f289af7bfcda7c07ff140272
parentf10c652e57474007a5568400dac9efcdc800c61f
kbuild: Add a space after `!` to prevent parsing as file pattern

Some shells use !(pattern|...|pattern) to match file names not
containing the specified patterns. This may result in output like

  $ ./scripts/clang-version.sh gcc
  ./scripts/clang-version.sh[18]: COPYING: not found
  printf: %d __clang_major__: conversion error
  printf: %d __clang_minor__: conversion error
  printf: %d __clang_patchlevel__: conversion error
  00000
  $

and set CONFIG_CLANG_VERSION to the invalid value '00000'.

POSIX says[0]

  If the pipeline begins with the reserved word ! and command1 is a
  subshell command, the application shall ensure that the ( operator at
  the beginning of command1 is separated from the ! by one or more
  <blank> characters. The behavior of the reserved word ! immediately
  followed by the ( operator is unspecified.

So, just add a <blank> to prevent this.

[0] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_02

Signed-off-by: Michael Forney <mforney@mforney.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/clang-version.sh