@@ -122,7 +122,7 @@ static int read_symbol_tr(const char *sym, unsigned long long addr)
static int read_symbol(FILE *in, struct sym_entry *s)
{
char str[500];
- char *sym, stype;
+ char *sym, stype, *dot;
int rc;
rc = fscanf(in, "%llx %c %499s\n", &s->addr, &stype, str);
@@ -138,6 +138,11 @@ static int read_symbol(FILE *in, struct sym_entry *s)
return -1;
}
+ /* Drop static .XXXX postfixes */
+ dot = strchr(str, '.');
+ if (dot)
+ *dot = 0;
+
sym = str;
/* skip prefix char */
if (symbol_prefix_char && str[0] == symbol_prefix_char)
For static and some LTO symbols gcc generates .XXXX postfixes. Remove those from the kallsyms, as they are not useful to the user and makes it much larger. This also avoids some issues with LTO. Signed-off-by: Andi Kleen <ak@linux.intel.com> --- scripts/kallsyms.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)