public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: Russell King <rmk@arm.linux.org.uk>
Cc: torvalds@transmeta.com (Linus Torvalds),
	jgarzik@mandrakesoft.com (Jeff Garzik),
	linux-kernel@vger.kernel.org (Kernel Mailing List)
Subject: Re: test10-pre7
Date: Wed, 01 Nov 2000 01:02:10 +1100	[thread overview]
Message-ID: <16544.973000930@ocs3.ocs-net> (raw)
In-Reply-To: Your message of "Tue, 31 Oct 2000 09:37:09 -0000." <200010310937.JAA07048@brick.arm.linux.org.uk>

On Tue, 31 Oct 2000 09:37:09 +0000 (GMT), 
Russell King <rmk@arm.linux.org.uk> wrote:
>Keith Owens writes:
>> 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.
>Take the instance where we need to link a.o first, z.o second, f.o third
>and p.o fourth.  How does LINK_FIRST / LINK_LAST guarantee this?
>
>LINK_FIRST = a.o z.o
>LINK_LAST = f.o p.o
>
>But then what guarantees that 'a.o' will be linked before 'z.o'?

LINK_FIRST is processed in the order it is specified, so a.o will be
linked before z.o when both are present.  See the patch.

>A first/last implementation can *not* specify precisely a link order without
>guaranteeing that the order of the LINK_FIRST *and* the LINK_LAST objects
>is preserved, which incidentally is the same requirement for the obj-y
>implementation.

It is preserved, see the patch.

>I don't see what this LINK_FIRST / LINK_LAST gains us other than more
>complexity for zero gain.

The vast majority of objects have no link order dependencies.  You only
specify LINK_FIRST or LINK_LAST where it is needed and only for the
small subset of objects that have critical ordering.

There are 82 obj-$(CONFIG_xxx) entries in drivers/scsi.  Which ones
must be executed first?  Which ones must be executed last?  Why do
these requirements (if any) exist?  Can I safely change the order of
any of the driver/scsi entries?  If not, why not?

LINK_FIRST and LINK_LAST serve two purposes.  They self document the
link order where that order matters.  And they solve the problem of
multi part objects being linked into the kernel, although that problem
_may_ have other solutions.  Having documentation makes life easier for
everybody.  Please do not say that the link order could be documented
in the existing Makefiles, that method has completely failed to work.

-
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/

  reply	other threads:[~2000-10-31 14:02 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               ` test10-pre7 Keith Owens
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                   ` Keith Owens [this message]
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
  -- strict thread matches above, loose matches on Subject: below --
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=16544.973000930@ocs3.ocs-net \
    --to=kaos@ocs.com.au \
    --cc=jgarzik@mandrakesoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk@arm.linux.org.uk \
    --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