Re: [PATCH] IPv6 can't be built as module additionally

From: Valdis . Kletnieks
Date: Fri May 21 2004 - 20:18:17 EST


On Fri, 21 May 2004 00:16:06 +0200, Jirka Kosina said:

> It is not possible to build ipv6 for already compiled and running kernel,
> recompilation of whole kernel, even if building as a module, is typically
> a must. This is because ipv6-specific functions in drivers/char/random.c
> are inside #ifdefs, and as random.c is almost always built directly into
> kernel, recompilation of whole kernel can't be avoided.

What you're getting bit by is the fact that some heavily-used kernel structures
get their size changed when you define CONFIG_IPV6, and *that* forces
the rebuild.

Rebuilding random.o should be relatively fast - that's 1 CC, then a few LD's
to rebuild drivers/char/built-in.o, then drivers/build-in.o, then increment the
kernel build version, and rebuild vmlinux. Shouldn't be more than 30-40 lines of
output, total.

In addition, the proposed removal of the ifdef's causes bloat in random.c for
those systems that don't configure it. So it's a bad fix for the wrong problem...

Attachment: pgp00000.pgp
Description: PGP signature