Kbuild: Handle longer symbols in kallsyms.c

Also warn for too long symbols

v2: Add missing newline. Use 255 max (Joe Perches)
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
Andi Kleen 2013-10-23 15:07:53 +02:00 committed by Michal Marek
parent eea0e9cbb9
commit f3462aa952

View file

@ -27,7 +27,7 @@
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
#endif #endif
#define KSYM_NAME_LEN 128 #define KSYM_NAME_LEN 255
struct sym_entry { struct sym_entry {
unsigned long long addr; unsigned long long addr;
@ -111,6 +111,12 @@ static int read_symbol(FILE *in, struct sym_entry *s)
fprintf(stderr, "Read error or end of file.\n"); fprintf(stderr, "Read error or end of file.\n");
return -1; return -1;
} }
if (strlen(str) > KSYM_NAME_LEN) {
fprintf(stderr, "Symbol %s too long for kallsyms (%lu vs %d).\n"
"Please increase KSYM_NAME_LEN both in kernel and kallsyms.c\n",
str, strlen(str), KSYM_NAME_LEN);
return -1;
}
sym = str; sym = str;
/* skip prefix char */ /* skip prefix char */