mirror of
https://github.com/torvalds/linux.git
synced 2024-09-29 19:33:13 +00:00
e6abf12a77
Currently, randconfig may set more than one symbol in a given choice. Given this config file: config A bool "A" if A choice bool "B/C/D" config B bool "B" config C bool "C" config D bool "D" endchoice endif # A Then randconfig generates such .config files (case where A is not set is not shown below for brevity), and where only the right-most .config is valid: CONFIG_A=y CONFIG_A=y CONFIG_A=y CONFIG_B=y CONFIG_B=y CONFIG_B=y CONFIG_C=y # CONFIG_C is not set # CONFIG_C is not set # CONFIG_D is not set CONFIG_D=y # CONFIG_D is not set That is, in a randomised choice, the first symbol is always selected, and at most one other symbol may be selected. This is due to symbol randomised in a choice not being properly flagged as having a value. Fix that by flagging those symbols adequately: have a user-defined value, and be not valid (to force recalculation of the symbol). Note: if the choice is not conditional, then the randomisation is properly done. Reported-by: Matthieu CASTET <matthieu.castet@parrot.com> Signed-off-by: Matthieu CASTET <matthieu.castet@parrot.com> [yann.morin.1998@free.fr: independently re-done the same patch as Matthieu, as pointed out by Sedat] Cc: Arnaud Lacombe <lacombar@gmail.com> Cc: Sedat Dilek <sedat.dilek@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> |
||
---|---|---|
.. | ||
lxdialog | ||
.gitignore | ||
check.sh | ||
conf.c | ||
confdata.c | ||
expr.c | ||
expr.h | ||
gconf.c | ||
gconf.glade | ||
images.c | ||
kxgettext.c | ||
list.h | ||
lkc_proto.h | ||
lkc.h | ||
Makefile | ||
mconf.c | ||
menu.c | ||
merge_config.sh | ||
nconf.c | ||
nconf.gui.c | ||
nconf.h | ||
POTFILES.in | ||
qconf.cc | ||
qconf.h | ||
streamline_config.pl | ||
symbol.c | ||
util.c | ||
zconf.gperf | ||
zconf.hash.c_shipped | ||
zconf.l | ||
zconf.lex.c_shipped | ||
zconf.tab.c_shipped | ||
zconf.y |