Re: name space analysis and patches, 2.1.17

Hans Lermen (lermen@elserv.ffm.fgan.de)
Thu, 26 Dec 1996 22:56:10 +0100 (MET)


On 23 Dec 1996, David Hinds wrote:

> : insmod io=0x260 irq=11 wrt.o
>
> : And probably this is inside a #ifdef MODULE, so you hav'nt problems with
> : name clashes when compiling it into the kernel...
>
> insmod will let you set the value of a static symbol -- there is no
> need to make a parameter external. I've always coded these as static
> on moral grounds.

You are right, insmod _does_ also take static symbols as params.
However, there is a DOWN SIDE with static params:
you can't strip the modules from unneeded static symbols, such as

ld -r -s -o stripped_mod.o unstripped_mod.o

This is important, if you want to generate a modularized boot disk using
'initrd' and need to keep the modules small.
( and distributors are happy, that they can have modularized booting now )

>
> I think cleaning up all these external definitions is an excellent
> idea, even if it doesn't cause any obvious problems with modules as
> they are currently used. ^^^^^^^^^^^^^^^^^^^^

See above.

_cleaning_ is always good, however, _purging_ needs some more detailed
discussions ;-)

Hans
<lermen@fgan.de>