From 6802d702761dfdd910e37da40ba95fa71fd06dd7 Mon Sep 17 00:00:00 2001 From: Kai Germaschewski Date: Wed, 4 Dec 2002 01:17:02 -0600 Subject: kbuild: Speed up kallsyms generation This patch basically just replaces the scripts/kallsyms script by a scripts/kallsyms.c C program, which does the same thing much faster. It also removes duplicates and entries which are not between _stext and _etext, as they would not get used anyway. This saves about 290KB in vmlinux with my .config, more than 50% of the kallsyms bloat ;) --- kernel/kallsyms.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'kernel') diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 0335cc7fe4a1..bb880ba4e776 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -45,14 +45,11 @@ const char *kallsyms_lookup(unsigned long addr, for (i = 0; i < best; i++) name += strlen(name)+1; - /* Base symbol size on next symbol, but beware aliases. */ - symbol_end = (unsigned long)_etext; - for (i = best+1; i < kallsyms_num_syms; i++) { - if (kallsyms_addresses[i] != kallsyms_addresses[best]){ - symbol_end = kallsyms_addresses[i]; - break; - } - } + /* Base symbol size on next symbol. */ + if (best + 1 < kallsyms_num_syms) + symbol_end = kallsyms_addresses[best + 1]; + else + symbol_end = (unsigned long)_etext; *symbolsize = symbol_end - kallsyms_addresses[best]; *modname = NULL; -- cgit v1.2.3