public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Banks <gnb@alphalink.com.au>
To: Peter Samuelson <peter@cadcamlab.org>
Cc: Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>,
	linux-kernel@vger.kernel.org, kbuild-devel@lists.sourceforge.net
Subject: Re: [kbuild-devel] Re: [patch] config language dep_* enhancements
Date: Tue, 13 Aug 2002 13:23:19 +1000	[thread overview]
Message-ID: <3D587BA7.1D640926@alphalink.com.au> (raw)
In-Reply-To: 20020812154721.GA761@cadcamlab.org

Peter Samuelson wrote:
> 
> >
> >    [...]CONFIG_BLK_DEV_IDESCSI[...]
> >
> That one example is more than enough to convince me *not* to try
> changing the "ignore empty deps" rule for 2.4.  2.5 is a different
> matter, though..

Ah, good.

> This is like the Stanford checker stuff.  These are bugs.  You have
> the means to find them automatically, but not the time or desire to
> fix them.  

Actually I have got the desire to fix them, what I lack is the ability
to get patches into the kernel that are too non-trivial to go through Rusty.

> Post a list and perhaps others will pitch in.  Something
> like
> 
> drivers/ide/Config.in:17: In dep_tristate CONFIG_BLK_DEV_IDESCSI:
> drivers/ide/Config.in:17: CONFIG_SCSI not defined for i386, ppc, ...

Ok, but perhaps it's not clear how many problems there are.  The full
log file from a gcml2 run on 2.5.29 is 573 KiB.  Here's a summary:

977    missing-experimental-tag
113    spurious-experimental-tag
145    variant-experimental-tag
30     inconsistent-experimental-tag
13     missing-obsolete-tag
41     spurious-obsolete-tag
25     variant-obsolete-tag
5      spurious-dependencies
187    nonliteral-define
28     unset-statement		(ignore these)
25     different-banner
61     different-parent
36     overlapping-definitions
1      primitive-in-root
310    undeclared-symbol
73     forward-compared-to-n
287    forward-reference
1093   forward-dependancy
1      symbol-like-literal
103    constant-symbol-dependency
8      different-compound-type
3562   total

These numbers are aggregates over 17 arches, so you need to divide by
a number between 1 and 17.  Also some of these have been fixed in 2.5.30.
I can post the full list if people want, but it would be a bit overwhelming.

> In this case the fix would be to move CONFIG_BLK_DEV_IDESCSI to the
> SCSI subsystem, where in my opinion it belonged anyway.

Ok then.

> This would break down if there are any actual cycles - things which
> can't logically be moved to a place after the definitions of the
> facilities on which they depend.

I'm not able to detect anything like that.

> That we have to worry about this at all is an artifact of using a
> procedural langauge, rather than a declarative language like Prolog or
> CML2. 

Actually config language isn't really procedural, pseudo-procedural would
be more like it.

> I *really* don't want to go *there*, though. (:

Yep.

> > And "" != "n" in other contexts, like if [];then statements.
> 
> That is true.  But that should not affect the dep_* logic, should it?

Correct, I'm just pointing out that using orthogonality arguments with
the config language is not going to get you anywhere useful.

> The point here is that people who aren't hip-deep in config language
> code don't think about them being separate.  Ergo bugs.

Agreed.

> I've been thinking hard about a new sort of 'if' statement that
> doesn't look like a test command.  

Interesting, I'd like to hear more.

My favourite idea is a different form of choice which worked more
like a menu, so you could intersperse conditionals with the choice
items.  This would help with the several places in CML1 were the
same choice is mostly-duplicated in different conditionals, e.g.
'Kernel page size' in arch/ia64/config.in.  ESR worked out a sensible
set of semantics for how this should work.

> (Yes, it's my mission to eventually
> get rid of the '$'s in config language.  I think it can be done,
> piecemeal, over a long period of time.  

Sounds good to me.

> This is if we don't end up
> adopting a whole new language like CML2 or Roman's stuff.)

Or a new parser & frontends for the existing language.

I'm not convinced that a complete new language will ever succeed after
the CML2 debacle, machine translated or not.  This is why I gave up the
idea of automatically converting CML1 to CML2.

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-08-13  3:19 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200208062329.g76NTqP30962@devserv.devel.redhat.com.suse.lists.linux.kernel>
2002-08-07 10:01 ` Linux 2.4.20-pre1 Andi Kleen
2002-08-07 11:50   ` Alan Cox
2002-08-07 10:41     ` 64bit clean drivers was " Andi Kleen
2002-08-07 12:16       ` Alan Cox
2002-08-07 11:04         ` Andi Kleen
2002-08-07 11:10           ` Alan Cox
2002-08-07 11:18             ` Andi Kleen
2002-08-07 11:51               ` Alan Cox
2002-08-07 11:56                 ` Andi Kleen
2002-08-07 13:26                   ` Alan Cox
2002-08-07 16:28                     ` Jeff Garzik
2002-08-08 15:14         ` Peter Samuelson
2002-08-08 16:49           ` Kai Germaschewski
2002-08-08 16:47             ` Peter Samuelson
2002-08-09  4:15               ` [patch] config language dep_* enhancements Peter Samuelson
2002-08-09 14:43                 ` [kbuild-devel] " Greg Banks
2002-08-09 15:38                   ` Andreas Schwab
2002-08-12 10:38                     ` Greg Banks
2002-08-09 16:10                   ` Peter Samuelson
2002-08-12 11:04                     ` Greg Banks
2002-08-12 14:46                       ` Kai Germaschewski
2002-08-12 19:45                         ` Roman Zippel
2002-08-12 21:40                           ` [kbuild-devel] " Tom Rini
2002-08-12 22:13                             ` Roman Zippel
2002-08-12 22:15                               ` Tom Rini
2002-08-12 22:32                                 ` Roman Zippel
2002-08-12 22:47                                   ` Tom Rini
2002-08-12 23:17                                     ` Roman Zippel
2002-08-12 23:32                                       ` Tom Rini
2002-08-13  3:35                                       ` Greg Banks
2002-08-13  0:03                           ` Peter Samuelson
2002-08-13  7:54                             ` Roman Zippel
2002-08-13  3:33                           ` Greg Banks
2002-08-13  9:32                             ` Roman Zippel
2002-08-13 10:32                               ` [kbuild-devel] " Greg Banks
     [not found]                         ` <3D587483.1C459694@alphalink.com.au>
2002-08-13  3:39                           ` Peter Samuelson
2002-08-13  4:31                             ` Greg Banks
2002-08-13 14:00                             ` [kbuild-devel] " Greg Banks
2002-08-13 15:53                               ` Peter Samuelson
2002-08-13 18:48                                 ` Kai Germaschewski
2002-08-14  1:13                                 ` Greg Banks
2002-08-14  3:28                                   ` Peter Samuelson
2002-08-14  4:35                                     ` [patch] kernel config 3/N - move sound into drivers/media Peter Samuelson
2002-08-14  5:08                                       ` Kai Germaschewski
2002-08-14  5:49                                         ` Peter Samuelson
2002-08-14 10:56                                           ` [kbuild-devel] " Arnd Bergmann
2002-08-14 12:20                                             ` S390 vs S390x, was " Christoph Hellwig
2002-08-14 17:21                                               ` Arnd Bergmann
2002-08-14 18:16                                                 ` Christoph Hellwig
2002-08-14 21:18                                                   ` Arnd Bergmann
2002-08-14 19:22                                                     ` Christoph Hellwig
2002-08-14 22:52                                                       ` Arnd Bergmann
2002-08-14  6:14                                         ` Greg Banks
2002-08-14  6:31                                       ` Greg Banks
2002-08-14  8:16                                       ` Russell King
2002-08-14  6:01                                     ` [kbuild-devel] Re: [patch] config language dep_* enhancements Greg Banks
2002-08-14  8:18                                       ` Russell King
2002-08-14 14:22                                       ` Peter Samuelson
2002-08-15  1:28                                         ` Greg Banks
2002-08-15  2:33                                           ` Peter Samuelson
2002-08-15  3:27                                             ` Greg Banks
2002-08-13 18:43                           ` Kai Germaschewski
2002-08-13 20:48                             ` Peter Samuelson
2002-08-14  1:27                               ` Greg Banks
2002-08-14  1:42                                 ` Peter Samuelson
2002-08-14  2:27                                   ` Greg Banks
2002-08-14  2:57                                     ` Peter Samuelson
2002-08-14  4:39                                     ` Kai Germaschewski
2002-08-14  5:35                                       ` Greg Banks
2002-08-14 11:40                               ` Roman Zippel
2002-08-15  1:52                                 ` [kbuild-devel] " Greg Banks
2002-08-15  3:30                                   ` John Alvord
2002-08-16  2:24                                     ` Peter Samuelson
2002-08-15  9:46                                   ` Roman Zippel
2002-08-15 14:43                                     ` Kai Germaschewski
2002-08-15 20:12                                       ` Roman Zippel
2002-08-16  2:08                                     ` Greg Banks
2002-08-16 10:54                                       ` Roman Zippel
2002-08-19  9:27                                         ` Greg Banks
2002-08-19 10:20                                           ` Roman Zippel
2002-08-20 14:10                                             ` Greg Banks
2002-08-20 17:51                                               ` Roman Zippel
2002-08-19 20:30                                           ` Sam Ravnborg
2002-08-20 14:28                                             ` David Woodhouse
2002-08-23 15:18                                           ` Kai Germaschewski
2002-08-23 23:03                                             ` Roman Zippel
2002-08-24 12:43                                               ` Greg Banks
2002-08-14  1:19                             ` Greg Banks
2002-08-12 15:47                       ` Peter Samuelson
2002-08-13  3:23                         ` Greg Banks [this message]
2002-08-13 16:04                           ` Sam Ravnborg
2002-08-13 16:20                             ` [kbuild-devel] " Peter Samuelson
2002-08-14  0:22                             ` Greg Banks
2002-08-14 20:14                               ` Get rid of shell based Config.in parsers? Sam Ravnborg
2002-08-14 22:21                                 ` [kbuild-devel] " Peter Samuelson
2002-08-15 17:51                                 ` Linus Torvalds
2002-08-08 23:57             ` 64bit clean drivers was Re: Linux 2.4.20-pre1 Thunder from the hill
2002-08-08 19:23           ` Roman Zippel
2002-08-08 20:03             ` Andi Kleen
2002-08-08 20:19               ` Roman Zippel
2002-08-08 17:42                 ` Peter Samuelson
2002-08-09 10:21                   ` Roman Zippel
2002-08-09 11:47                     ` Peter Samuelson
2002-08-09 12:07                       ` Russell King
2002-08-09 12:49                         ` Peter Samuelson
2002-08-09 14:53                           ` [kbuild-devel] " Greg Banks
2002-08-09 22:37                             ` Thunder from the hill
2002-08-08 20:37                 ` Andi Kleen
2002-08-08 20:51                   ` Roman Zippel
2002-08-07 17:31       ` Thunder from the hill

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=3D587BA7.1D640926@alphalink.com.au \
    --to=gnb@alphalink.com.au \
    --cc=kai@tp1.ruhr-uni-bochum.de \
    --cc=kbuild-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peter@cadcamlab.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