linux-mips
[Top] [All Lists]

Re: [PATCH] MIPS: Kconfig: Set default value for the "Kernel code model"

To: Markos Chandras <markos.chandras@imgtec.com>
Subject: Re: [PATCH] MIPS: Kconfig: Set default value for the "Kernel code model"
From: Ralf Baechle <ralf@linux-mips.org>
Date: Wed, 12 Jun 2013 13:20:09 +0200
Cc: linux-mips@linux-mips.org, Michal Marek <mmarek@suse.cz>, linux-kbuild@vger.kernel.org
In-reply-to: <20130611154129.GD13126@linux-mips.org>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1370944336-13703-1-git-send-email-markos.chandras@imgtec.com> <20130611154129.GD13126@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.21 (2010-09-15)
Here's a simplified test case:

< --------- bite here --------- >
choice
        prompt "choice 1"

config FOO1
        bool "foo 1"

config FOO2
        bool "foo 2"
endchoice

choice
        prompt "frob"

config BAR
        bool "bar"
        depends on FOO2

endchoice
< --------- bite here --------- >

Save this to a file, then run:

  scripts/kconfig/conf --randconfig /tmp/xxx && cat .config

There will be two possible variants for generated .config files:

< --------- Variant 1 --------- >
CONFIG_FOO1=y
# CONFIG_FOO2 is not set
< --------- Variant 2 --------- >
# CONFIG_FOO1 is not set
# CONFIG_FOO2 is not set
< --------- End       --------- >

The intended third outcome which would be
< --------- doesn't happen ---- >
# CONFIG_FOO1 is not set
CONFIG_FOO2=y
< --------- End --------------- >

never gets generated.

Pretty much any tempering with this test case will change the behaviour.
For example removing the "depends on FOO2" line will result in the
behaviour of either CONFIG_FOO1 or CONFIG_FOO2 being set to y but never
none or both.  Other minor changes might result in both symbols getting
set.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>