Messages in this thread |  | | Date | Wed, 29 Nov 2000 16:16:41 +0000 | From | Darryl Miles <> | Subject | Re: [PATCH] removal of "static foo = 0" from drivers/ide (test11) |
| |
Russell King <rmk@arm.linux.org.uk> writes: >The only difference is the size on disk; if we go around setting every >bss variable to zero, the kernel/module data size will unnecessarily >huge.
Hmm, what about common symbol generation? i.e. the linker looses the ability to throw out "multiply defined symbol" errors where you fail to initialise it to a value.
Okay extern global variables in the kernel need to be controlled and it is not like many get added, however it is possible that one developer may never know it is already in use by another part of the kernel, when their oh-no-new driver is added. Since the linkers assistance in this issue has just been disabled.
Is 'gas' able to be configured to never emit common symbols, but emit BBS symbols instead, or is 'ld' able to be configured to never merge common symbols but throw up "multiply defined symbol" errors. Then everyone is safe.
>We already argue about the extra couple of bytes that xx change to the >kernel/a module would cost. With these change, we save kilo-bytes in >disk space (which is important on some systems).
PDAs!!! :) Excellent work Russell.
-- Darryl Miles - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |