linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Jeff Garzik <jgarzik@mandrakesoft.com>,
	Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: test10-pre7
Date: Tue, 31 Oct 2000 10:38:57 +1100	[thread overview]
Message-ID: <12109.972949137@ocs3.ocs-net> (raw)
In-Reply-To: Your message of "Mon, 30 Oct 2000 15:15:57 -0800." <Pine.LNX.4.10.10010301508360.1085-100000@penguin.transmeta.com>

On Mon, 30 Oct 2000 15:15:57 -0800 (PST), 
Linus Torvalds <torvalds@transmeta.com> wrote:
>I'm saying that EVERYTHING should be order-critical.

We (almost) agree about that, we are arguing about implementation
details.  The existing implementation relies on the order that objects
are declared.  In almost all cases there are no documented reasons for
the existing order, people who know about the link order problems are
scared to change declaration orders.  OTOH, relying on declaration
order is error prone, people who do not know about the side effects of
declaration order try to change it and sometimes it works, sometimes it
breaks.

kbuild 2.5 splits link order into three categories.  Those that must
come first, in the order they are specified - LINK_FIRST.  Those that
must come last, in the order they are specified - LINK_LAST.
Everything else, in no defined order.  This solves the documentation
problem, use of LINK_FIRST and LINK_LAST is explicit and the reasons
for the order will be documented, or else!  Declaration order is then
irrelevant, it can be any order that makes sense to the developers.
The end effect if the same, LINK_FIRST/LAST is a better implementation.

>It is NEVER acceptable to change the order of object files.

It is NEVER acceptable to change the order of object files, but only
for those files where the developer has explicitly said what the order
must be.  In the case of USB, the developers say usb.o must be first,
the rest can be in any order.

>Then we change the meaning of OX_OBJS, and instead of saying
>
>	ALL_O = $(OX_OBJS) $(O_OBJS)
>
>we just say
>
>	ALL_O = $(O_OBJS)
>
>and the meaning of $OX_OBJS is the _subset_ of object file that have
>SYMTAB objects.

We do not have an automatic way of detecting SYMTAB objects, OX_OBJS is
the only way that 2.4 kbuild can tell if an source has SYMTAB or not.
I could change Rules.make to grep the sources and work out what the
flags should be but that is messy and affects all of 2.4 kbuild.

>This should all work pretty much as-is, with som every simple
>modifications to existing old-style Makefiles, and with some even simpler
>modifications to the new-style ones. In fact, it should remove pretty much
>all the ugly games that new-style files do.

Let me get this straight.  I provide a minimal patch that helps
document link order, is compatible with kbuild 2.5 and only affects
usb.  But you want me to change the meaning of OX_OBJS, add grep to
Rules.make, edit all the old style Makefiles, change all the
bolierplate code in new style makefiles, in short to hit all of 2.4
kbuild.  Why?

>And it should make all this FIRST/LAST object file mockery a total
>non-issue, because the whole concept turns out to be completely
>unnecessary.

Only if you think that documentation is unncessary.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  parent reply	other threads:[~2000-10-30 23:39 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-30 19:32 test10-pre7 Linus Torvalds
2000-10-30 20:34 ` [PATCH] test10-pre7 Alexander Viro
2000-10-30 21:02   ` Linus Torvalds
2000-10-30 21:23     ` Alexander Viro
2000-10-30 22:01       ` Alexander Viro
2000-10-30 23:05         ` Linus Torvalds
2000-10-30 23:14           ` Alexander Viro
2000-10-30 23:17             ` Linus Torvalds
2000-10-30 22:21       ` Linus Torvalds
2000-10-30 22:06   ` Rik van Riel
2000-10-31 10:05   ` John Kennedy
2000-10-30 21:37 ` test10-pre7 Keith Owens
2000-10-30 22:01   ` test10-pre7 Jeff Garzik
2000-10-30 22:06     ` test10-pre7 Keith Owens
2000-10-30 22:13       ` test10-pre7 Jeff Garzik
2000-10-30 22:24     ` test10-pre7 Linus Torvalds
2000-10-30 22:41       ` test10-pre7 Keith Owens
2000-10-30 22:51         ` test10-pre7 Linus Torvalds
2000-10-30 23:02           ` test10-pre7 Jeff Garzik
2000-10-30 23:04             ` test10-pre7 Keith Owens
2000-10-30 23:08             ` test10-pre7 Linus Torvalds
2000-10-30 23:03           ` test10-pre7 Keith Owens
2000-10-30 23:15             ` test10-pre7 Linus Torvalds
2000-10-30 23:32               ` test10-pre7 Christoph Hellwig
2000-10-30 23:40                 ` test10-pre7 Linus Torvalds
2000-10-30 23:45                   ` test10-pre7 Christoph Hellwig
2000-10-30 23:51                     ` test10-pre7 Linus Torvalds
2000-10-30 23:57                       ` test10-pre7 Christoph Hellwig
2000-10-31  0:47                         ` test10-pre7 Linus Torvalds
2000-10-31  1:01                           ` test10-pre7 Christoph Hellwig
2000-10-31  2:54                             ` test10-pre7 Linus Torvalds
2000-10-31  1:49                           ` test10-pre7 Keith Owens
2000-10-31  2:07                             ` test10-pre7 Keith Owens
2000-10-31  2:58                             ` test10-pre7 Linus Torvalds
2000-10-31 13:55                               ` test10-pre7 Peter Samuelson
2000-10-31 17:29                                 ` test10-pre7 Linus Torvalds
2000-10-31 17:38                                   ` test10-pre7 H. Peter Anvin
2000-10-31 19:51                                     ` test10-pre7 Horst von Brand
2000-11-01  2:32                                   ` test10-pre7 Peter Samuelson
2000-10-31  4:57                             ` test10-pre7 Rusty Russell
2000-10-31  6:10                               ` test10-pre7 Linus Torvalds
2000-10-30 23:38               ` Keith Owens [this message]
2000-10-30 23:47                 ` test10-pre7 Linus Torvalds
2000-10-31  0:03                   ` test10-pre7 Keith Owens
2000-10-31  9:37                 ` test10-pre7 Russell King
2000-10-31 14:02                   ` test10-pre7 Keith Owens
2000-10-31 14:16                     ` test10-pre7 Peter Samuelson
2000-10-31 17:31                     ` test10-pre7 Linus Torvalds
2000-10-31 19:28                       ` test10-pre7 Russell King
2000-10-31 20:59                         ` test10-pre7 Linus Torvalds
2000-11-01  0:16                           ` test10-pre7 (LINK ordering) Randy Dunlap
2000-11-01  0:52                             ` Jeff Garzik
2000-11-01  3:06                         ` test10-pre7 Peter Samuelson
2000-11-01  2:35                       ` test10-pre7 Keith Owens
2000-11-01 12:46                         ` test10-pre7 Alan Cox
2000-10-31 11:59               ` test10-pre7 Peter Samuelson
2000-10-31 21:01                 ` test10-pre7 John Alvord
2000-11-01  3:30                   ` test10-pre7 Peter Samuelson
2000-10-31  8:18       ` test10-pre7 Rogier Wolff
2000-10-31  0:52 test10-pre7 Michael Elizabeth Chastain
2000-10-31  1:05 ` test10-pre7 Christoph Hellwig
2000-10-31 16:15 test10-pre7 Vladislav Malyshkin
2000-10-31 16:45 ` test10-pre7 Peter Samuelson
2000-10-31 18:07   ` test10-pre7 Vladislav Malyshkin
2000-10-31 18:38     ` test10-pre7 Linus Torvalds
2000-10-31 19:16       ` test10-pre7 H. Peter Anvin
2000-11-01  3:15         ` test10-pre7 Peter Samuelson
2000-11-01  6:11           ` test10-pre7 H. Peter Anvin
2000-11-01  6:31             ` test10-pre7 Peter Samuelson
2000-11-01  7:42     ` test10-pre7 Peter Samuelson
2000-11-03 16:26       ` test10-pre7 Vladislav Malyshkin

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=12109.972949137@ocs3.ocs-net \
    --to=kaos@ocs.com.au \
    --cc=jgarzik@mandrakesoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).