public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Banks <gnb@alphalink.com.au>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [MOAN] CONFIG_SERIAL_CONSOLE
Date: Sun, 28 Jul 2002 21:22:21 +1000	[thread overview]
Message-ID: <3D43D3ED.32D803BB@alphalink.com.au> (raw)

G'day,

Russell King wrote:
> Since ppc also include{s,d} drivers/char/Config.in, this means there was
> a define_bool _and_ bool for the same configuration variable.  This sounds
> contary to the shell-nature of the configure scripts, and therefore illegal,
> and as such gets broken when changes happen.

Thanks to Russell for pointing out a problem I had not been aware of.

There are quite a few similar errors in the CML1 corpus, where a query and a
define for the same symbol exist with conditions that can overlap.  A synthetic
example of the problem is

bool 'foo' CONFIG_FOO

if [ "$CONFIG_FOO" = "y" ]; then
    define_bool CONFIG_BAR y
fi

bool 'bar' CONFIG_BAR

There are at least eight variants of this problem, depending on the order
of the query and the define, which is conditional, and whether they're in
the same menu.  All break at least one of the configurators.  The symptoms
vary in severity (mildest first)

*  .config has two copies of the correct value: BAR=y BAR=y
*  .config has two different values, correct one last: BAR=n BAR=y
*  .config has two different values, incorrect one last: BAR=y BAR=n
*  configurator incorrectly displays query and correctly prevents
   user from entering anything except the one valid value
*  configurator incorrectly does not allow user to set a valid value
*  configurator accepts a valid value from the user and saves a
   different value to the .config file.

Also it is typical that different configurators will generate different
.config files in response to the same sequence of selections.

I'm modifying gcml2 to try and detect these problems.  In the meantime, here
are some examples of this problem from 2.5.26, found using a preliminary
version of the overlap detector.

    CONFIG_ACPI_BUS
	drivers/acpi/Config.in:52
	drivers/acpi/Config.in:73
    	
    CONFIG_ACPI_BUTTON
	drivers/acpi/Config.in:57
	drivers/acpi/Config.in:77
    	
    CONFIG_ACPI_FAN
	drivers/acpi/Config.in:58
	drivers/acpi/Config.in:78

    CONFIG_ACPI_INTERPRETER
    	arch/ia64/config.in:45
	drivers/acpi/Config.in:53
	drivers/acpi/Config.in:74
    	
    CONFIG_ACPI_PCI
	drivers/acpi/Config.in:54
	drivers/acpi/Config.in:68
    	
    CONFIG_ACPI_POWER
	drivers/acpi/Config.in:55
	drivers/acpi/Config.in:75
    	
    CONFIG_ACPI_PROCESSOR
	drivers/acpi/Config.in:59
	drivers/acpi/Config.in:79

    CONFIG_ACPI_SYSTEM
	drivers/acpi/Config.in:56
	drivers/acpi/Config.in:76

    CONFIG_ACPI_THERMAL
	drivers/acpi/Config.in:60
	drivers/acpi/Config.in:80
    	
    CONFIG_ALPHA_AVANTI
    	arch/alpha/config.in:16
	arch/alpha/config.in:218

    CONFIG_ALPHA_EB64P
    	arch/alpha/config.in:16
    	arch/alpha/config.in:89

    CONFIG_ALPHA_NONAME
    	arch/alpha/config.in:16
    	arch/alpha/config.in:73

    CONFIG_BUSMOUSE
    	drivers/char/Config.in:116
    	arch/ppc/config.in:384
    
    CONFIG_CD_NO_IDESCSI
    	arch/ppc64/config.in:137
        arch/ppc64/config.in:186

    CONFIG_CD_NO_IDESCSI
    	arch/ppc/config.in:469
    	arch/ppc/config.in:506

    CONFIG_DEBUG_SPINLOCK
    	arch/x86_64/config.in:225
    	arch/x86_64/config.in:228
    
    CONFIG_DEVFS_FS
    	arch/ia64/config.in:77
	fs/Config.in:78
    
    CONFIG_FB
    	drivers/video/Config.in:8
    	arch/ppc/config.in:382

    CONFIG_IDE
    	arch/cris/config.in:147
	arch/cris/drivers/Config.in:114,130

    CONFIG_PARPORT
    	arch/cris/drivers/Config.in:97,101
	drivers/parport/Config.in:11

    CONFIG_PARPORT_1284
    	arch/cris/drivers/Config.in:98
	drivers/parport/Config.in:68

    CONFIG_PC_KEYB (mx,ds,bc,dm)
    	arch/mips/config.in:188
    	arch/mips/config.in:53
	
    CONFIG_PRINTER
    	arch/cris/drivers/Config.in:99
	drivers/char/Config.in:103

    CONFIG_MTD
    	drivers/mtd/Config.in:7
	arch/cris/drivers/Config.in:139
    		
    CONFIG_MTD_AMDSTD
    	drivers/mtd/chips/Config.in:52
	arch/cris/drivers/Config.in:145
    		
    CONFIG_MTD_BLOCK
    	drivers/mtd/Config.in:23
	arch/cris/drivers/Config.in:148
    		
    CONFIG_MTD_CHAR
    	drivers/mtd/Config.in:22
	arch/cris/drivers/Config.in:147
    		
    CONFIG_MTD_CFI
    	drivers/mtd/chips/Config.in:9
	arch/cris/drivers/Config.in:141
    		
    CONFIG_MTD_CFI_AMDSTD
    	drivers/mtd/chips/Config.in:45
	arch/cris/drivers/Config.in:143
    		
    CONFIG_MTD_CFI_INTELEXT
    	drivers/mtd/chips/Config.in:44
	arch/cris/drivers/Config.in:142
    		
    CONFIG_MTD_PARTITIONS
    	drivers/mtd/Config.in:14
	arch/cris/drivers/Config.in:149
    		
    CONFIG_SOUND_CMPCI_FMIO
	sound/oss/Config.in:14
	sound/oss/Config.in:15
    	
    CONFIG_SYSCLK_100
    	arch/mips/config.in:140
    	arch/mips/config.in:24

    CONFIG_VIDEO_SELECT
	drivers/video/Config.in:101
	arch/i386/config.in:387

    CONFIG_VIDEO_SELECT
    	drivers/video/Config.in:101
    	arch/x86_64/config.in:196


Greg.
-- 
the price of civilisation today is a courageous willingness to prevail,
with force, if necessary, against whatever vicious and uncomprehending
enemies try to strike it down.	   - Roger Sandall, The Age, 28Sep2001.

             reply	other threads:[~2002-07-28 11:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-28 11:22 Greg Banks [this message]
2002-07-28 23:32 ` [MOAN] CONFIG_SERIAL_CONSOLE Tom Rini
  -- strict thread matches above, loose matches on Subject: below --
2002-07-22 16:17 Russell King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D43D3ED.32D803BB@alphalink.com.au \
    --to=gnb@alphalink.com.au \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox