Re: [PATCH] do not save thousands of useless symbols in KALLSYMSkernels

From: Paulo Marques
Date: Thu Aug 11 2005 - 06:18:01 EST


Denis Vlasenko wrote:
Sample of my kernel's mostly useless symbols
(starting_with:# of symbols):

__func__: 624
__vendorstr_: 1760
__pci_fixup_PCI_: 116
__ksymtab_: 2597
__kstrtab_: 2597
__kcrctab_: 2597
__initcall_: 236
__devicestr_: 4686
__devices_: 1760
Total: 16973
Lines in System.map: 39735

Excluding them from in-kernel symbol table saves ~300kb:

text data bss dec hex filename
4337710 1054414 259296 5651420 563bdc vmlinux.carrier1 - w/o KALLSYMS
4342068 1296046 259296 5897410 59fcc2 vmlinux - with KALLSYMS+patch
4341948 1607634 259296 6208878 5ebd6e vmlinux.carrier - with KALLSYMS
^^^^^^^

Hummm.... these symbols should only go in if you config KALLSYMS_ALL. Are you sure your configuration doesn't have KALLSYMS_ALL enabled?

If it does, it seems like the correct behavior to include all symbols if you specified that you wanted _all_ symbols :)

By the way, there is a completely different version of scripts/kallsyms.c in -mm that you might want to look at. It will probably go in after 2.6.13 is out.

--
Paulo Marques - www.grupopie.com

It is a mistake to think you can solve any major problems
just with potatoes.
Douglas Adams
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/