kernel link order: where does it matter?

From: Peter Samuelson (peter@cadcamlab.org)
Date: Wed Jul 26 2000 - 06:01:20 EST


[l-k people: please retain the CC to me or to linux-kbuild@torque.net,
which I read much more faithfully than l-k. Thx.]

We on linux-kbuild have been discussing link order for object files in
the kernel. Most of the time, the object files in a given directory
can be sorted, then duplicates removed, then linked ... but this fails
when one .initcall must happen before another.

MEC came up with a scheme for removing duplicate object file names yet
still providing link ordering for those objects that really need it.
As a side effect it documents the need, which is Good. So now we need
to get a list of those places.

Along with that, could we also get "wishlist" ordering -- the places
that currently don't use .initcall but might in the future? I'm
thinking of d/scsi, d/net and d/sound in particular.

My current list, including "wishlist":

  * ppa and imm after other scsi hosts because they're removable
  * buslogic before aha1542
  * sym53c8xx before ncr53c8xx (just a guess -- is it true?)
  * ncr53c406a before qlogic
  * i2o-block after several SCSI hosts -- which ones?
  * sbusfb before PCI framebuffers
  * offb after atyfb and others -- which ones?
  * vfb after all other framebuffers

I know for a fact that there are ordering issues hidden (and
undocumented, which is a Bad Thing) in d/net/Space.c and
d/sound/Makefile. Can someone please enumerate them? Thanks much.

Peter

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



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:21 EST