diff options
Diffstat (limited to 'scripts/kallsyms.c')
-rw-r--r-- | scripts/kallsyms.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 299b92ca1ae0..5d554419170b 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c | |||
@@ -219,6 +219,10 @@ static int symbol_valid(struct sym_entry *s) | |||
219 | "_SDA2_BASE_", /* ppc */ | 219 | "_SDA2_BASE_", /* ppc */ |
220 | NULL }; | 220 | NULL }; |
221 | 221 | ||
222 | static char *special_prefixes[] = { | ||
223 | "__crc_", /* modversions */ | ||
224 | NULL }; | ||
225 | |||
222 | static char *special_suffixes[] = { | 226 | static char *special_suffixes[] = { |
223 | "_veneer", /* arm */ | 227 | "_veneer", /* arm */ |
224 | "_from_arm", /* arm */ | 228 | "_from_arm", /* arm */ |
@@ -259,6 +263,14 @@ static int symbol_valid(struct sym_entry *s) | |||
259 | if (strcmp(sym_name, special_symbols[i]) == 0) | 263 | if (strcmp(sym_name, special_symbols[i]) == 0) |
260 | return 0; | 264 | return 0; |
261 | 265 | ||
266 | for (i = 0; special_prefixes[i]; i++) { | ||
267 | int l = strlen(special_prefixes[i]); | ||
268 | |||
269 | if (l <= strlen(sym_name) && | ||
270 | strncmp(sym_name, special_prefixes[i], l) == 0) | ||
271 | return 0; | ||
272 | } | ||
273 | |||
262 | for (i = 0; special_suffixes[i]; i++) { | 274 | for (i = 0; special_suffixes[i]; i++) { |
263 | int l = strlen(sym_name) - strlen(special_suffixes[i]); | 275 | int l = strlen(sym_name) - strlen(special_suffixes[i]); |
264 | 276 | ||