mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Legacy Fishtank <garzik@havoc.gtf.org>,
	linux-kernel@vger.kernel.org, Larry McVoy <lm@bitmover.com>,
	"Eric S. Raymond" <esr@thyrsus.com>, Dave Jones <davej@suse.de>,
	Marcelo Tosatti <marcelo@conectiva.com.br>,
	kbuild-devel@lists.sourceforge.net
Subject: Re: State of the new config & build system
Date: Sat, 29 Dec 2001 12:27:24 +1100	[thread overview]
Message-ID: <7861.1009589244@ocs3.intra.ocs.com.au> (raw)
In-Reply-To: Your message of "Fri, 28 Dec 2001 14:17:24 -0800." <Pine.LNX.4.33.0112281416290.23445-100000@penguin.transmeta.com>

On Fri, 28 Dec 2001 14:17:24 -0800 (PST), 
Linus Torvalds <torvalds@transmeta.com> wrote:
>
>On Fri, 28 Dec 2001, Legacy Fishtank wrote:
>>
>> I think one thing to note is that dependencies is that if you are smart
>> about it, dependencies -really- do not even change when your .config
>> changes.
>
>Absolutely. I detest "gcc -MD", exactly because it doesn't get this part
>right. "mkdep.c" gets this _right_.

Sorry, it does not.  Everybody is attacking little bits of the
dependency problem, any solution that does not fix _all_ 9 problems in
http://prdownloads.sourceforge.net/kbuild/kbuild-2.5-history.tar.bz2,
makefile-2.5_make_dep.html is not a complete fix.

Yes, some of the problems with mkdep can be fixed in the current design
but there is one problem that is inherently unfixable.  make dep is a
manual process so it relies on users knowing when they have to rerun
make dep AND THEY DON'T DO IT!  Please do not say "I always run make
dep" after a change, I guarantee that you are the exception.  Users
apply patches and do not run make dep, then wonder why their kernel is
broken.

Dependencies _do_ change when your .config changes, the list of files
that are included varies.  gcc -MD gets this exactly right, gcc knows
which files it read.  mkdep does an incorrect approximation, see tyhe
bug list in makefile-2.5_make_dep.html.

The errors in mkdep were acceptable as long as only kernel hackers
built their own kernels, they could be relied upon to manually run
commands when necessary.  The target population has changed, more and
more beginners are building kernels and too many are getting it wrong.
I am aiming at the entire population, not that small subset who have
been building kernels since the year dot.

Any build system that silently fails when users forget to run a command
is a broken system.  kbuild 2.5 fixes _all_ 9 problems with mkdep, it
also positions us for correct modversion handling.  kbuild 2.4 is
faster, inaccurate and manual, kbuild 2.5 is slower, accurate and
totally automatic.

I know how to speed up 2.5.  What I don't have is time to rewrite the
code for speed, I am too busy tracking kernel changes because kbuild
2.5 is not in the kernel yet.

Linus, you have a choice between a known broken build system and a
clean and reliable system, which is slightly slower in mark 1.  Please
add kbuild 2.5 to the kernel, then I will have time to rewrite the core
programs for speed.  Mark 2 of the core code will be significantly
faster.

ps. I don't want mail discussing individual bug fixes to mkdep.  Code
    that does not fix _all_ 9 bugs listed in makefile-2.5_make_dep.html
    is pointless.


  parent reply	other threads:[~2001-12-29  1:28 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-12-28  0:24 Eric S. Raymond
2001-12-28  0:54 ` Dave Jones
2001-12-28  0:57   ` Eric S. Raymond
2001-12-28  1:15     ` Larry McVoy
2001-12-28  1:35       ` Keith Owens
2001-12-28  1:37         ` Larry McVoy
2001-12-28  1:41           ` Keith Owens
2001-12-28  1:47             ` Larry McVoy
2001-12-28  1:57               ` Keith Owens
2001-12-28  2:01                 ` Larry McVoy
2001-12-28 14:14                   ` Alan Cox
2001-12-28 14:16                     ` Keith Owens
2001-12-28 17:14                     ` Christer Weinigel
2001-12-28 17:39                       ` Alan Cox
2001-12-29  1:44                         ` Keith Owens
2001-12-29  4:09                           ` Legacy Fishtank
2001-12-30  3:34                             ` Viktor Rosenfeld
2001-12-30  4:24                               ` Dave Jones
2001-12-30 14:37                                 ` Viktor Rosenfeld
2001-12-29 17:11                           ` Christer Weinigel
2001-12-28 17:43                     ` Larry McVoy
2001-12-28 18:17                       ` Alan Cox
2001-12-28 20:54                       ` Larry McVoy
2001-12-29  9:24                       ` Anton Blanchard
2001-12-29 16:28                         ` Larry McVoy
2002-01-01  4:03                 ` Mike Touloumtzis
2002-01-01  8:26                   ` Keith Owens
2002-01-06  8:55                     ` [kbuild-devel] " Martin Mares
2002-01-06 22:19                       ` Keith Owens
2002-01-09 17:16                         ` Martin Mares
2002-01-01  8:55                   ` Peter Samuelson
2001-12-28 22:31               ` Martin Dalecki
2001-12-28 23:02                 ` Eric S. Raymond
2001-12-28 14:24             ` Alan Cox
2001-12-28 20:56         ` Kai Germaschewski
2001-12-28 21:16           ` Legacy Fishtank
2001-12-28 22:17             ` Linus Torvalds
2001-12-28 23:44               ` Kai Germaschewski
2001-12-30 12:05                 ` [kbuild-devel] " Christoph Hellwig
2001-12-29  1:27               ` Keith Owens [this message]
2001-12-29  1:53                 ` Alan Cox
2001-12-29  1:57                   ` Keith Owens
2001-12-29  2:10                     ` Alan Cox
2001-12-29  4:06                 ` Legacy Fishtank
2001-12-29 13:32                 ` Rik van Riel
2001-12-29 20:23                 ` Linus Torvalds
2001-12-29  1:26             ` Keith Owens
2001-12-29  3:58               ` Legacy Fishtank
2001-12-29  4:21                 ` Mike Castle
2001-12-29  4:44                   ` Keith Owens
2001-12-29  4:52                     ` Arnaldo Carvalho de Melo
2001-12-29 11:10                       ` PORTUGUês EM?? Astinus
2001-12-29  6:59                     ` State of the new config & build system Nicholas Knight
2001-12-29  7:41                     ` Legacy Fishtank
2001-12-29  8:13                       ` Andrew Morton
2001-12-29  9:40                         ` Daniel Phillips
2002-01-03 10:46                           ` Pavel Machek
2002-01-03 20:29                             ` Dave Jones
2002-01-03 20:35                               ` Alexander Viro
2002-01-03 20:46                                 ` Keith Owens
2002-01-03 21:30                                   ` Alexander Viro
2002-01-03 21:50                                     ` Keith Owens
2002-01-03 22:11                                       ` Alexander Viro
2002-01-03 22:44                                         ` Keith Owens
2002-01-04  1:49                                       ` Andreas Bombe
2002-01-04  2:31                                         ` Keith Owens
2002-01-04 21:40                                           ` Andreas Bombe
2001-12-29  7:42                     ` Miles Lane
2001-12-29  8:02                       ` Nicholas Knight
2001-12-29  8:11                         ` Mike Castle
2001-12-28 22:51           ` Larry McVoy
2001-12-29  2:54             ` Keith Owens
2001-12-29 12:43               ` Kai Germaschewski
2001-12-28  1:22     ` Dave Jones
2001-12-28  1:36       ` [kbuild-devel] " Tom Rini
2001-12-28  1:36         ` Eric S. Raymond
2001-12-28  1:38       ` Keith Owens
2001-12-28  1:30   ` [kbuild-devel] " Keith Owens
2001-12-28  9:26   ` Legacy Fishtank
2001-12-28  9:42     ` Keith Owens
2001-12-28 16:34       ` Alan Cox
2001-12-28 20:01       ` Larry McVoy
2001-12-29  0:50         ` Keith Owens
2001-12-29  0:55           ` Larry McVoy
2001-12-28 20:38       ` Richard Gooch
2001-12-28 18:02     ` Linus Torvalds
2001-12-28 18:24       ` Alan Cox
2001-12-28 22:06         ` Linus Torvalds
2001-12-28 22:08           ` [kbuild-devel] " Eric S. Raymond
2001-12-28 22:29             ` Larry McVoy
2001-12-28 22:29             ` Linus Torvalds
2001-12-28 22:58               ` Eric S. Raymond
2001-12-29  9:18                 ` Giacomo A. Catenazzi
2001-12-31 22:51         ` Horst von Brand
2001-12-31 22:55           ` Arnaldo Carvalho de Melo
2002-01-01  1:21             ` Peter Samuelson
2001-12-28 19:08       ` Riley Williams
2001-12-28 19:12       ` Eric S. Raymond
2001-12-28 20:26         ` Alexander Viro
2001-12-28 20:39           ` Eric S. Raymond
2001-12-30 13:58             ` [kbuild-devel] " Christoph Hellwig
2001-12-30 17:50               ` Jeff Garzik
2001-12-30 20:53                 ` Hartmut Holz
2001-12-30 20:15               ` Adrian Bunk
2002-01-01  4:29               ` Horst von Brand
2001-12-31 23:32             ` Horst von Brand
2001-12-28 23:20           ` Alan Cox
2001-12-30 11:42             ` [kbuild-devel] " Kai Henningsen
2001-12-31  8:24             ` GOTO Masanori
2001-12-31  6:50           ` GOTO Masanori
2001-12-28 22:11         ` Linus Torvalds
2001-12-28 22:31           ` Eric S. Raymond
2001-12-29 21:24             ` [kbuild-devel] " Tom Rini
2001-12-29 22:43               ` Eric S. Raymond
2001-12-29 23:12                 ` Tom Rini
2001-12-30  0:22                 ` Russell King
2001-12-30  0:11                   ` Eric S. Raymond
2001-12-30  5:39                 ` Rob Landley
2001-12-30 13:59                   ` Alan Cox
2001-12-30 17:14             ` David Woodhouse
2001-12-30 17:32               ` Tom Rini
2001-12-30 17:44               ` Russell King
2001-12-28 20:39       ` Legacy Fishtank
2001-12-28 20:41       ` Legacy Fishtank
2001-12-28 20:45         ` Eric S. Raymond
2001-12-28 21:19           ` Legacy Fishtank
2001-12-28 21:12             ` Eric S. Raymond
2001-12-28 22:27               ` Linus Torvalds
2001-12-28 23:05                 ` Benjamin LaHaise
2001-12-29  0:59                   ` Legacy Fishtank
2001-12-29 19:12                     ` Linus Torvalds
2001-12-29  3:21                 ` [kbuild-devel] " Keith Owens
2001-12-28 23:13           ` Alan Cox
2001-12-28 23:04             ` Eric S. Raymond
2001-12-28 23:10             ` Linus Torvalds
2001-12-28 23:12               ` Martin Dalecki
2001-12-29 13:01               ` Rik van Riel
2001-12-28 22:47       ` Martin Dalecki
2001-12-28 23:25 Stewart Smith
2001-12-29 12:01 Wayne.Brown

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=7861.1009589244@ocs3.intra.ocs.com.au \
    --to=kaos@ocs.com.au \
    --cc=davej@suse.de \
    --cc=esr@thyrsus.com \
    --cc=garzik@havoc.gtf.org \
    --cc=kbuild-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm@bitmover.com \
    --cc=marcelo@conectiva.com.br \
    --cc=torvalds@transmeta.com \
    /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

all inboxes | Powered by JetHome®