lkml.org 
[lkml]   [1999]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Stuff taking up kernel space
On Fri, Jun 04, 1999 at 07:37:04PM +0200, Artur Skawina wrote:
> Dave Jones. wrote:
> >
> > More disturbingly, I notice in the same image that the strings that
> > are printk'd in the macros from include/linux/time.h seem to be
> > occuring quite a lot.
>
> it's a more general problem with string constants that are used in
> "extern inline" functions etc - they end up in every object that
> includes the definitions.
> iirc, at least; i noticed this happening with parport.h a while ago.
>

This suggests a cool ld hack. gcc apparently uniquizes
strings in the compile stage, so I suppose it could make a list
list of string constants (it probably already can), that could
be uniquized at link stage. See the '-fwritable-strings' option in
the gcc man page. This would be useful in general, not just for
the kernel.

Food for thought:

$ objcopy -O binary -R .note -R .comment -S /usr/src/linux/vmlinux
$ ls -l /usr/src/linux/vmlinux
-rwxrwxr-x 1 ds ds 1128448 Jun 4 18:01 vmlinux
$ strings -n 5 /usr/src/linux/vmlinux |wc
6817 17886 129719
$ strings -n 5 /usr/src/linux/vmlinux |sort|uniq|wc
5819 16180 118741


Savings of about 10k, or about 1%. Not too shabby, since it would
be automatic.




dave...


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

\
 
 \ /
  Last update: 2005-03-22 13:52    [W:0.138 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site