aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kallsyms.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kallsyms.c')
-rw-r--r--scripts/kallsyms.c12
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