Wind River Support Network


LIN6-10989 : Bug in kconf_check (kernel)

Created: Mar 9, 2016    Updated: Dec 3, 2018
Resolved Date: Mar 13, 2016
Previous ID: LIN7-5762
Found In Version:
Fix Version:
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Kernel
Host OS: Linux Ubuntu
Architecture: All


This defect affects  WRL6, and WRL7 and probably on WRL8 too

The kconf_check tool fails to find certains valid kernel options. 

It contains this part: 
for i in `cat $KCONF_DIR/all.kcf` ; do 
cat $LINUX_SRC/$i | grep '^[ ]*\(menu\)*config ' | \ 
awk '{print "CONFIG_"$2}' >> $KCONF_DIR/all.cfg done 

I.e. it assumes a config keyword is followed by a space. That is not always true. 
Many Kconfig files contain a tab character after the config keyword. 
That causes the kconf_check script to fail to find a number of config options and if any of those options are in the users "config-input", will cause the option to be mistakenly reported in the "invalid.cfg" file. 

Steps to Reproduce

* Makefile:
Simple makefile to show how I run configure.

* meta-foo
A simple layer with an addition kernel configuration.
It adds:

* out_save
I saved the files mentioned below from my build.

* How to run
$ make configure
$ make bbs
  $ bitbake -f -c compile linux-windriver

* Files to check:
- out/build/build/linux-windriver/temp/do_kernel_configcheck/log.do_kernel_configcheck.*
  Will have an entry with:
  [invalid (1)]: .meta/cfg/standard/lsi-axm55xx/invalid.cfg
      This BSP sets config options that are not offered anywhere within this kernel

- out/build/build/linux-windriver/linux/.meta/cfg/standard/lsi-axm55xx/all.cfg
  This file should contain all valid config options in the kernel source.
  Due to this bug it will miss those with "config<tab>".
  (E.g. it does not have an entry for CONFIG_DAVINCI_CLKINIT)

- out/build/build/linux-windriver/linux/.meta/cfg/standard/lsi-axm55xx/invalid.cfg
  Will have an entry for CONFIG_DAVINCI_CLKINIT. (Due to all.cfg not having it.)

Other Downloads

Live chat