diff options
| author | Ingo Molnar <[email protected]> | 2009-02-12 13:08:57 +0100 | 
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2009-02-12 13:08:57 +0100 | 
| commit | 871cafcc962fa1655c44b4f0e54d4c5cc14e273c (patch) | |
| tree | fdb7bc65d2606c85b7be6c33ba0dfd5b4e472245 /scripts/kallsyms.c | |
| parent | cf2592f59c0e8ed4308adbdb2e0a88655379d579 (diff) | |
| parent | b578f3fcca1e78624dfb5f358776e63711d7fda2 (diff) | |
Merge branch 'linus' into core/softlockup
Diffstat (limited to 'scripts/kallsyms.c')
| -rw-r--r-- | scripts/kallsyms.c | 21 | 
1 files changed, 13 insertions, 8 deletions
| diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 92758120a767..ad2434b26970 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c @@ -130,9 +130,18 @@ static int read_symbol(FILE *in, struct sym_entry *s)  static int symbol_valid(struct sym_entry *s)  {  	/* Symbols which vary between passes.  Passes 1 and 2 must have -	 * identical symbol lists. +	 * 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.  	 */  	static char *special_symbols[] = { +		"kallsyms_addresses", +		"kallsyms_num_syms", +		"kallsyms_names", +		"kallsyms_markers", +		"kallsyms_token_table", +		"kallsyms_token_index", +  	/* Exclude linker generated symbols which vary between passes */  		"_SDA_BASE_",		/* ppc */  		"_SDA2_BASE_",		/* ppc */ @@ -164,9 +173,7 @@ static int symbol_valid(struct sym_entry *s)  	}  	/* Exclude symbols which vary between passes. */ -	if (strstr((char *)s->sym + offset, "_compiled.") || -	    strncmp((char*)s->sym + offset, "__compound_literal.", 19) == 0 || -	    strncmp((char*)s->sym + offset, "__compound_literal$", 19) == 0) +	if (strstr((char *)s->sym + offset, "_compiled."))  		return 0;  	for (i = 0; special_symbols[i]; i++) @@ -543,10 +550,8 @@ int main(int argc, char **argv)  		usage();  	read_map(stdin); -	if (table_cnt) { -		sort_symbols(); -		optimize_token_table(); -	} +	sort_symbols(); +	optimize_token_table();  	write_src();  	return 0; |