I recognised that there is a lot of unnecessary data in
the uClinux-2.4.x kernel (about ~50 KByte).
That was due to the fact, that the macro BUG() in
include/asm-m68knommu/page.h always prints the full
path to the file that might have caused the bug.
Nice feature during development, but certainly
redundant in a production environement.
In you get rid of some more KByte of data, when doing
the same trick in some functions in include/asm-m68knommu/pgalloc.h.
BTW: we could get rid of about 50 Kbyte more by suppressing
printk completly (i.e. by inventing a kernel compilation
option that causes printk() to be ignored).
In the patch below, also the .rodata sub section was moved to
section .text, so that constant data isn't copyied
to ROM but used directly from ROM to save about 50
KByte of RAM (sometimes, this might not be the desired
behaviour, because reading from RAM can be much
faster - depending on your hardware).
Additionaly, the 8 Kbyte reserverd for the init-task
structure and stack moved to the .bss section to save
a few more kbyte
The patch can be downloaded at
wget -c $DLURL/patch-uClinux-2.4.x-CVS-010329-uCsimm-2.4-010331.bz2
Please not, that you first have to apply
wget -c $DLURL/patch-uClinux-2.4.x-CVS-010329-uCsimm-2.4-010329.bz2
This message resent by the email@example.com list server http://www.uClinux.com/
This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:42 EST