From: Keith Owens <kaos@ocs.com.au>
To: linux-kernel@vger.kernel.org
Subject: Re: kbuild 2.5 is ready for inclusion in the 2.5 kernel
Date: Fri, 03 May 2002 09:40:34 +1000 [thread overview]
Message-ID: <802.1020382834@ocs3.intra.ocs.com.au> (raw)
In-Reply-To: Your message of "Thu, 02 May 2002 10:40:49 EST." <Pine.LNX.4.44.0205021027340.32217-100000@chaos.physics.uiowa.edu>
On Thu, 2 May 2002 10:40:49 -0500 (CDT),
Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> wrote:
>Well Keith's statement (as I read it) is: modversions are broken, I don't
>support them. My statement is: modversions work 95% of the time, why throw
>them out?
Build a complete kernel with modversions. Apply a patch or change a
config option that changes a structure size. make bzImage, reboot.
modversions are _not_ rebuilt. The kernel and modules were built using
different ABIs but modversions claims that they are identical.
Third party code is built using a copy of .config and modversions.h.
This assumes that modversions.h was generated using the same .config,
but it is not checked. The module _may_ have used a different config
but asserts it was built using the same ABI as the kernel (same
modversions). Result is a module that appears to match the kernel,
when really all you know is that the user claims it matches the kernel.
People think that modversions gives a strong check on ABI compatibility
for third party modules. Wrong! What it really gives is a weak
assumption that the user copied two files that are in sync.
Modversions only detect ABI changes if you make mrproper after any
change that affects the symbol versions. That has to be done manually,
it cannot be automated. Generation of new symbol versions requires a
recompile of everything marked export-objs after any source or config
change. But there is no way of telling where the versioned symbols are
consumed, so any change to any versioned symbol requires a complete
kernel rebuild to ensure that every consumer picks up the new version.
Make any change, make mrproper, rebuild from scratch, it is the only
way to ensure that modversions are correct. Modversions are fine for
distributors, a pain in the neck for everybody else.
95% working? More like 95% broken!
I know how to do ABI versioning right. But there is no chance of me
starting work on the correct method of ABI versioning until kbuild 2.5
is in.
>If Keith went like fixing issues one at a time, he wouldn't have that huge
>patch now, which replaces everything and is hard to keep up-to-date.
>There's a lot of orthogonal issues with kbuild which can be solved one at
>a time, e.g. correct dependency generation, cleaning up Makefiles (like
>getting rid of the explicit list-multi link rules), spurious rebuilds,
>building built-in and modular objects in one pass, non-recursive make, ...
I have been waiting for somebody to raise the "why not do one bit a
time" argument for kbuild. That is exactly what I have done!
Modversions are completely broken but are not required for a
development kernel, they will be done later. There are 89 'FIXME'
comments in the Makefile.in files where changes to source code should
be done to clean up the include mess, those changes will be done later.
Changing from a recursive to non-recursive make is the big change in
kbuild 2.5. If you think that you can do non-recursive make without
significant changes to the Makefiles, show me the code.
If you think that you can fix all the problems listed in
http://prdownloads.sourceforge.net/kbuild/kbuild-2.5-history.tar.bz2
without making significant changes to the entire kbuild system, show me
the code.
I have no patience with people who pick the small problems out of
kbuild and fiddle with the Makefiles without considering the entire
problem list. That is a classic case of ignoring the big problem and
concentrating on the little problem that you know how to fix.
kbuild 2.5 fixes _all_ the problems listed in the history file, except
for modversions which will be done later. Once you decide to fix the
big problems, you will realise that fiddling with the old system to fix
the little problems is a waste of time and effort.
next prev parent reply other threads:[~2002-05-02 23:40 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-01 14:23 kbuild 2.5 is ready for inclusion in the 2.5 kernel Keith Owens
2002-05-02 15:17 ` Denis Vlasenko
2002-05-02 10:38 ` tomas szepe
2002-05-02 12:21 ` Keith Owens
2002-05-02 12:49 ` Martin Dalecki
2002-05-02 14:26 ` Alan Cox
2002-05-02 13:32 ` Martin Dalecki
2002-05-02 14:54 ` Kai Germaschewski
2002-05-02 15:17 ` Alan Cox
2002-05-05 9:43 ` Mike Fedyk
2002-05-05 10:16 ` Keith Owens
2002-05-02 15:21 ` Arjan van de Ven
2002-05-02 15:59 ` Richard Gooch
2002-05-02 15:36 ` Martin Dalecki
2002-05-02 17:15 ` Alan Cox
2002-05-02 16:30 ` Martin Dalecki
2002-05-02 18:20 ` Alan Cox
2002-05-02 17:25 ` Arjan van de Ven
2002-05-02 16:53 ` Martin Dalecki
2002-05-02 17:48 ` David S. Miller
2002-05-02 17:42 ` Martin Dalecki
2002-05-02 19:11 ` Alan Cox
2002-05-02 18:22 ` Martin Dalecki
2002-05-02 18:49 ` David S. Miller
2002-05-02 18:33 ` Alan Cox
2002-05-02 14:24 ` Kai Germaschewski
2002-05-02 15:18 ` David Woodhouse
2002-05-02 15:40 ` Kai Germaschewski
2002-05-02 23:40 ` Keith Owens [this message]
2002-05-02 23:25 ` Martin Dalecki
2002-05-03 14:48 ` Kai Germaschewski
2002-05-03 15:45 ` Keith Owens
2002-05-02 15:19 ` Alan Cox
2002-05-02 22:57 ` Pavel Machek
2002-05-03 8:33 ` Vikram
2002-05-03 12:07 ` Keith Owens
2002-05-18 1:14 ` Andrea Arcangeli
2002-05-18 1:33 ` Dave Jones
2002-05-18 3:06 ` Oliver Xymoron
2002-05-18 12:28 ` [PATCH] move jiffies from sched.h to it's own jiffies.h Tim Schmielau
2002-05-19 22:33 ` Tim Schmielau
2002-05-20 2:32 ` Rusty Russell
2002-05-18 2:12 ` kbuild 2.5 is ready for inclusion in the 2.5 kernel Gerhard Mack
2002-05-18 2:13 ` Keith Owens
2002-05-18 2:30 ` Andrea Arcangeli
2002-05-20 2:38 ` Miles Bader
2002-05-02 21:34 ` tomas szepe
2002-05-02 21:42 ` Dave Jones
2002-05-03 1:19 ` John Covici
2002-05-03 1:33 ` Keith Owens
2002-05-03 1:39 ` tomas szepe
2002-05-03 2:31 ` Alexander Viro
2002-05-03 3:21 ` Davide Libenzi
2002-05-02 21:42 ` Alexander Viro
2002-05-02 23:25 ` tomas szepe
2002-05-03 21:05 ` Mark H. Wood
2002-05-04 13:58 ` Kurt Wall
2002-05-06 1:54 ` Mike Fedyk
2002-05-02 22:54 ` Pavel Machek
2002-05-03 9:00 ` Keith Owens
2002-05-03 4:17 ` Randy.Dunlap
2002-05-03 5:02 ` Keith Owens
2002-05-03 6:32 ` Randy.Dunlap
2002-05-03 10:06 ` Gerd Knorr
2002-05-03 10:42 ` Keith Owens
2002-05-03 12:05 ` Gerd Knorr
2002-05-03 13:31 ` Keith Owens
2002-05-04 6:44 ` Paul Mackerras
2002-05-04 8:03 ` Paul Mackerras
2002-05-06 0:42 ` Mike Fedyk
2002-05-06 4:07 ` Paul Mackerras
2002-05-04 9:03 ` Keith Owens
2002-05-04 9:38 ` Russell King
2002-05-04 10:33 ` Paul Mackerras
2002-05-04 11:49 ` Keith Owens
2002-05-06 8:40 ` Gerd Knorr
2002-05-07 4:14 ` Keith Owens
2002-05-04 15:30 ` Richard Gooch
2002-05-05 17:23 ` Urban Widmark
2002-05-05 23:36 ` Keith Owens
2002-05-06 11:33 ` Urban Widmark
2002-05-06 23:54 ` Keith Owens
2002-05-06 10:54 ` Alex Riesen
2002-05-08 2:54 ` Keith Owens
2002-05-08 17:25 ` Alex Riesen
2002-05-09 0:10 ` Keith Owens
2002-05-09 0:55 ` Daniel Jacobowitz
2002-05-09 1:44 ` Keith Owens
-- strict thread matches above, loose matches on Subject: below --
2002-05-05 16:42 Dan Kegel
2002-05-05 23:44 ` Keith Owens
2002-05-06 0:02 ` Dan Kegel
2002-05-06 0:40 ` Keith Owens
2002-05-06 15:38 ` Alan Cox
2002-05-06 15:33 ` Tomas Szepe
[not found] <cs.lists.linux-kernel/18740.1020729269@ocs3.intra.ocs.com.au>
2002-05-07 23:48 ` Ion Badulescu
2002-05-08 0:10 ` Keith Owens
2002-05-08 0:37 ` Alan Cox
2002-05-08 0:34 ` Keith Owens
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=802.1020382834@ocs3.intra.ocs.com.au \
--to=kaos@ocs.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