--- trunk/src/symbol.c 2007/10/08 16:19:37 22 +++ trunk/src/symbol.c 2007/10/08 16:20:26 28 @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * - * $Id: symbol.c,v 1.34 2006/01/14 12:51:59 debug Exp $ + * $Id: symbol.c,v 1.36 2006/07/07 19:38:55 debug Exp $ * * Address to symbol translation routines. * @@ -37,8 +37,6 @@ #include #include -#include "misc.h" - #include "symbol.h" @@ -226,6 +224,9 @@ exit(1); } + if (addr == 0 && strcmp(name, "_DYNAMIC_LINK") == 0) + return; + if (name[0] == '\0') return; @@ -268,11 +269,18 @@ exit(1); } - s->name = strdup(name); + memset(s, 0, sizeof(struct symbol)); + + s->name = symbol_demangle_cplusplus(name); + if (s->name == NULL) { - fprintf(stderr, "out of memory\n"); - exit(1); + s->name = strdup(name); + if (s->name == NULL) { + fprintf(stderr, "out of memory\n"); + exit(1); + } } + s->addr = addr; s->len = len; s->type = type;