Re: lib.a causing modules not to load

From: Christoph Hellwig
Date: Sat Nov 08 2003 - 03:55:42 EST


On Fri, Nov 07, 2003 at 08:34:19PM -0800, Andrew Morton wrote:
> James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote:
> >
> > I think this has been mentioned before, but I just ran across it again
> > recently. The problem is that if the only reference to a routine in
> > lib.a is in a module, then it never gets compiled into the kernel, and
> > the module won't load.
> >
> > In 2.6.0-test9 this is shown by compiling both ext2 and ext3 as
> > modules. Since they're the only things to refer to percpu_counter_mod
> > which is in lib.a in an SMP system.
>
> How about we just link that function into the kernel and be done with it?
> We'll waste a few bytes on SMP machines which have neither ext2 nor ext3
> linked-in or loaded as modules, but that doesn't sound very important...
>
> (We don't have a kernel/random-support-stuff.c, but we have
> mm/random-support-stuff.c which for some reason is called mm/swap.c, so
> I put it there).

Well, this solves the problem for this particular case, but not other
stuff in lib for other situations. We should just stop building lib
as archive and conditionalize building bigger and rarely used stuff in
there using Kconfig symbols.

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