<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/scripts, branch v4.16-rc2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://www.git.shady.money/linux/atom?h=v4.16-rc2</id>
<link rel='self' href='https://www.git.shady.money/linux/atom?h=v4.16-rc2'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/'/>
<updated>2018-02-10T03:32:41Z</updated>
<entry>
<title>Merge tag 'kbuild-v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild</title>
<updated>2018-02-10T03:32:41Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2018-02-10T03:32:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=9a61df9e5f7471fe5be3e02bd0bed726b2761a54'/>
<id>urn:sha1:9a61df9e5f7471fe5be3e02bd0bed726b2761a54</id>
<content type='text'>
Pull more Kbuild updates from Masahiro Yamada:
 "Makefile changes:
   - enable unused-variable warning that was wrongly disabled for clang

  Kconfig changes:
   - warn about blank 'help' and fix existing instances
   - fix 'choice' behavior to not write out invisible symbols
   - fix misc weirdness

  Coccinell changes:
   - fix false positive of free after managed memory alloc detection
   - improve performance of NULL dereference detection"

* tag 'kbuild-v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (21 commits)
  kconfig: remove const qualifier from sym_expand_string_value()
  kconfig: add xrealloc() helper
  kconfig: send error messages to stderr
  kconfig: echo stdin to stdout if either is redirected
  kconfig: remove check_stdin()
  kconfig: remove 'config*' pattern from .gitignnore
  kconfig: show '?' prompt even if no help text is available
  kconfig: do not write choice values when their dependency becomes n
  coccinelle: deref_null: avoid useless computation
  coccinelle: devm_free: reduce false positives
  kbuild: clang: disable unused variable warnings only when constant
  kconfig: Warn if help text is blank
  nios2: kconfig: Remove blank help text
  arm: vt8500: kconfig: Remove blank help text
  MIPS: kconfig: Remove blank help text
  MIPS: BCM63XX: kconfig: Remove blank help text
  lib/Kconfig.debug: Remove blank help text
  Staging: rtl8192e: kconfig: Remove blank help text
  Staging: rtl8192u: kconfig: Remove blank help text
  mmc: kconfig: Remove blank help text
  ...
</content>
</entry>
<entry>
<title>kconfig: remove const qualifier from sym_expand_string_value()</title>
<updated>2018-02-10T02:31:49Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-08T16:19:08Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=523ca58b7db2e30e3c185a7927dd80a30c1bc743'/>
<id>urn:sha1:523ca58b7db2e30e3c185a7927dd80a30c1bc743</id>
<content type='text'>
This function returns realloc'ed memory, so the returned pointer
must be passed to free() when done.  So, 'const' qualifier is odd.
It is allowed to modify the expanded string.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
</content>
</entry>
<entry>
<title>kconfig: add xrealloc() helper</title>
<updated>2018-02-10T02:26:04Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-08T16:19:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=d717f24d8c68081caae2374cf5ea6c4e62c490fc'/>
<id>urn:sha1:d717f24d8c68081caae2374cf5ea6c4e62c490fc</id>
<content type='text'>
We already have xmalloc(), xcalloc().  Add xrealloc() as well
to save tedious error handling.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'gcc-plugins-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux</title>
<updated>2018-02-08T22:37:32Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2018-02-08T22:37:32Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=4ed8244ef8847c8ad7414e1a12ba45fef7998721'/>
<id>urn:sha1:4ed8244ef8847c8ad7414e1a12ba45fef7998721</id>
<content type='text'>
Pull gcc plugins updates from Kees Cook:

 - update includes for gcc 8 (Valdis Kletnieks)

 - update initializers for gcc 8

* tag 'gcc-plugins-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  gcc-plugins: Use dynamic initializers
  gcc-plugins: Add include required by GCC release 8
</content>
</entry>
<entry>
<title>kconfig: send error messages to stderr</title>
<updated>2018-02-08T19:10:10Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-06T00:34:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=9e3e10c725360b9d07018cfcd5b7b6b7d325fae5'/>
<id>urn:sha1:9e3e10c725360b9d07018cfcd5b7b6b7d325fae5</id>
<content type='text'>
These messages should be directed to stderr.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Reviewed-by: Ulf Magnusson &lt;ulfalizer@gmail.com&gt;
</content>
</entry>
<entry>
<title>kconfig: echo stdin to stdout if either is redirected</title>
<updated>2018-02-08T19:10:10Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-08T05:56:40Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=f3ff6fb5db68bcd460e9880d5fb4902520dd645b'/>
<id>urn:sha1:f3ff6fb5db68bcd460e9880d5fb4902520dd645b</id>
<content type='text'>
If stdio is not tty, conf_askvalue() puts additional new line to
prevent prompts from being concatenated into a single line.  This
care is missing in conf_choice(), so a 'choice' prompt and the next
prompt are shown in the same line.

Move the code into xfgets() to cater to all cases.  To improve this
more, let's echo stdin to stdout.  This clarifies what keys were
input from stdio and the stdout looks like as if it were from tty.

I removed the isatty(2) check since stderr is unrelated here.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Reviewed-by: Ulf Magnusson &lt;ulfalizer@gmail.com&gt;
</content>
</entry>
<entry>
<title>kconfig: remove check_stdin()</title>
<updated>2018-02-08T19:10:10Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-08T05:56:39Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=d2a04648a5dbc3d1d043b35257364f0197d4d868'/>
<id>urn:sha1:d2a04648a5dbc3d1d043b35257364f0197d4d868</id>
<content type='text'>
Except silentoldconfig, valid_stdin is 1, so check_stdin() is no-op.

oldconfig and silentoldconfig work almost in the same way except that
the latter generates additional files under include/.  Both ask users
for input for new symbols.

I do not know why only silentoldconfig requires stdio be tty.

  $ rm -f .config; touch .config
  $ yes "" | make oldconfig &gt; stdout
  $ rm -f .config; touch .config
  $ yes "" | make silentoldconfig &gt; stdout
  make[1]: *** [silentoldconfig] Error 1
  make: *** [silentoldconfig] Error 2
  $ tail -n 4 stdout
  Console input/output is redirected. Run 'make oldconfig' to update configuration.

  scripts/kconfig/Makefile:40: recipe for target 'silentoldconfig' failed
  Makefile:507: recipe for target 'silentoldconfig' failed

Redirection is useful, for example, for testing where we want to give
particular key inputs from a test file, then check the result.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Reviewed-by: Ulf Magnusson &lt;ulfalizer@gmail.com&gt;
</content>
</entry>
<entry>
<title>kconfig: remove 'config*' pattern from .gitignnore</title>
<updated>2018-02-08T19:10:09Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-06T00:34:45Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=cd58a91def2accba1a07960889e89a63d372119a'/>
<id>urn:sha1:cd58a91def2accba1a07960889e89a63d372119a</id>
<content type='text'>
I could not figure out why this pattern should be ignored.
Checking commit 1e65174a3378 ("Add some basic .gitignore files")
did not help.

Let's remove this pattern, then see if it is really needed.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Reviewed-by: Ulf Magnusson &lt;ulfalizer@gmail.com&gt;
</content>
</entry>
<entry>
<title>kconfig: show '?' prompt even if no help text is available</title>
<updated>2018-02-08T19:10:09Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-06T00:34:43Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=4f208f392103e8d5bcc7558dba69348b27d8ce42'/>
<id>urn:sha1:4f208f392103e8d5bcc7558dba69348b27d8ce42</id>
<content type='text'>
'make config', 'make oldconfig', etc. always receive '?' as a valid
input and show useful information even if no help text is available.

------------------------&gt;8------------------------
foo (FOO) [N/y] (NEW) ?

There is no help available for this option.
Symbol: FOO [=n]
Type  : bool
Prompt: foo
  Defined at Kconfig:1
------------------------&gt;8------------------------

However, '?' is not shown in the prompt if its help text is missing.
Let's show '?' all the time so that the prompt and the behavior match.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Reviewed-by: Ulf Magnusson &lt;ulfalizer@gmail.com&gt;
</content>
</entry>
<entry>
<title>kconfig: do not write choice values when their dependency becomes n</title>
<updated>2018-02-08T19:08:05Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-02-06T00:34:42Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=cb67ab2cd2b8abd9650292c986c79901e3073a59'/>
<id>urn:sha1:cb67ab2cd2b8abd9650292c986c79901e3073a59</id>
<content type='text'>
"# CONFIG_... is not set" for choice values are wrongly written into
the .config file if they are once visible, then become invisible later.

  Test case
  ---------

---------------------------(Kconfig)----------------------------
config A
	bool "A"

choice
	prompt "Choice ?"
	depends on A

config CHOICE_B
	bool "Choice B"

config CHOICE_C
	bool "Choice C"

endchoice
----------------------------------------------------------------

---------------------------(.config)----------------------------
CONFIG_A=y
----------------------------------------------------------------

With the Kconfig and .config above,

  $ make config
  scripts/kconfig/conf  --oldaskconfig Kconfig
  *
  * Linux Kernel Configuration
  *
  A (A) [Y/n] n
  #
  # configuration written to .config
  #
  $ cat .config
  #
  # Automatically generated file; DO NOT EDIT.
  # Linux Kernel Configuration
  #
  # CONFIG_A is not set
  # CONFIG_CHOICE_B is not set
  # CONFIG_CHOICE_C is not set

Here,

  # CONFIG_CHOICE_B is not set
  # CONFIG_CHOICE_C is not set

should not be written into the .config file because their dependency
"depends on A" is unmet.

Currently, there is no code that clears SYMBOL_WRITE of choice values.

Clear SYMBOL_WRITE for all symbols in sym_calc_value(), then set it
again after calculating visibility.  To simplify the logic, set the
flag if they have non-n visibility, regardless of types, and regardless
of whether they are choice values or not.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Reviewed-by: Ulf Magnusson &lt;ulfalizer@gmail.com&gt;
</content>
</entry>
</feed>
