linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: DJBARROW@de.ibm.com
Cc: schwidefsky@de.ibm.com, Ulrich.Weigand@de.ibm.com,
	linux-kernel@vger.kernel.org
Subject: Re: bug in /net/core/dev.c
Date: Wed, 13 Jun 2001 03:02:44 +1000	[thread overview]
Message-ID: <10973.992365364@ocs4.ocs-net> (raw)
In-Reply-To: Your message of "Tue, 12 Jun 2001 18:43:41 +0200." <C1256A69.005BF601.00@d12mta09.de.ibm.com>

On Tue, 12 Jun 2001 18:43:41 +0200, 
DJBARROW@de.ibm.com wrote:
>Hi Keith,
>This is a cure the syntom not the problem, build order shouldn't mess up
>something this simple.

I totally agree on one point.  Having the automatic initialisers in the
same source as the related code is a good idea, it is far better than
the old Space.c method.  Automatically executing the initialisers in
the order they are linked into vmlinux is also a good idea, you must
have some automatic order or you are back to the horrors of Space.c.
But controlling the link order of the initialisers as a side effect of
Makefile compile order sucks big rocks, especially when you have some
Makefiles executing other Makefiles which are not their children.

Link order should be independent of Makefile compile order and it
should be explicitly specified, instead of occurring as a little known
side effect of the convoluted and twisted way that the Makefile tree is
processed.  Alas Linus likes it this way :(.  At least with my 2.5
Makefile rewrite[*] it is more obvious what is going on.  I abhore the
line order dependencies and controling link order at the level of
entire directories when it should be at the level of individual
sources.

>I've forwarded your patch to Ulrich & Martin ( the s390 maintainers ) &
>they may use it
>seeing as you & possibly others would prefer a /drivers/net/s390.

DaveM suggested a drivers/net/s390, I recommended against changing the
diretory structure right now, wait for 2.5.  My patch just changes the
compilation order for drivers/s390/net while keeping the same name.


[*] Extract from top level Makefile in my 2.5 rewrite.

# Link order information to build vmlinux.

link_subdirs(arch/$(ARCH)/boot)
link_subdirs(init)

link_subdirs($(arch_core_subdirs))

link_subdirs(kernel)
link_subdirs(mm)
link_subdirs(fs)
link_subdirs(ipc)

# FIXME: Built from the DRIVERS definitions in the old Makefile.  Some of this
# is just to link intermediate objects into the kernel, some of it is link order
# specific but the old Makefile had no documentation.  Preserve the old list,
# even though most of it is unnecessary.  The problem is, we do not know which
# bits are necessary because they have link order requirements.  Anybody feeling
# brave?  KAO

link_subdirs(drivers/block)
link_subdirs(drivers/char)
link_subdirs(drivers/misc)
link_subdirs(drivers/net)
link_subdirs(drivers/media)
...
link_subdirs(drivers/acpi)
link_subdirs(drivers/md)

link_subdirs($(arch_drivers_subdirs))

link_subdirs(net)

link_subdirs($(arch_libs))
link_subdirs(lib)


  parent reply	other threads:[~2001-06-12 17:03 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-12 16:43 bug in /net/core/dev.c DJBARROW
2001-06-12 16:51 ` David S. Miller
2001-06-12 17:02 ` Keith Owens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-06-13 10:03 DJBARROW
2001-06-13 10:18 ` David S. Miller
2001-06-12 18:38 DJBARROW
2001-06-12 18:44 ` David S. Miller
2001-06-12 17:05 Ulrich.Weigand
2001-06-12 17:20 ` Keith Owens
2001-06-12 14:17 DJBARROW
2001-06-12 14:57 ` David S. Miller
2001-06-12 15:34   ` Keith Owens
2001-06-12 15:46   ` David S. Miller
2001-06-12 16:11     ` Keith Owens
2001-06-11 18:32 DJBARROW
2001-06-12  3:18 ` David S. Miller

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=10973.992365364@ocs4.ocs-net \
    --to=kaos@ocs.com.au \
    --cc=DJBARROW@de.ibm.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=schwidefsky@de.ibm.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).