X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fkallsyms.c;h=e21a5d1a255aea317d0e72e91435c7d68b28ea7c;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=f4b328979cd16b12bc8e81e54850b4ba7afe2edd;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index f4b328979..e21a5d1a2 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c @@ -72,7 +72,20 @@ symbol_valid(struct sym_entry *s) return 0; } - if (strstr(s->sym, "_compiled.")) + /* Exclude symbols which vary between passes. Passes 1 and 2 must have + * identical symbol lists. The kallsyms_* symbols below are only added + * after pass 1, they would be included in pass 2 when --all-symbols is + * specified so exclude them to get a stable symbol list. + */ + if (strstr(s->sym, "_compiled.") || + strcmp(s->sym, "kallsyms_addresses") == 0 || + strcmp(s->sym, "kallsyms_num_syms") == 0 || + strcmp(s->sym, "kallsyms_names") == 0) + return 0; + + /* Exclude linker generated symbols which vary between passes */ + if (strcmp(s->sym, "_SDA_BASE_") == 0 || /* ppc */ + strcmp(s->sym, "_SDA2_BASE_") == 0) /* ppc */ return 0; return 1;