diff -urp ltrace-0.5/configure.ac ltrace-0.5-pm/configure.ac --- ltrace-0.5/configure.ac 2006-06-14 06:55:21.000000000 +0200 +++ ltrace-0.5-pm/configure.ac 2010-09-08 14:56:29.000000000 +0200 @@ -16,6 +16,7 @@ AC_PROG_INSTALL dnl Checks for libraries. AC_CHECK_LIB(iberty, cplus_demangle,,,) AC_CHECK_LIB(supc++, __cxa_demangle,,,) +AC_CHECK_LIB(stdc++, __cxa_demangle,,,) dnl dnl The following stuff may be useful, but I don't use it now. diff -urp ltrace-0.5/demangle.c ltrace-0.5-pm/demangle.c --- ltrace-0.5/demangle.c 2006-02-20 22:48:07.000000000 +0100 +++ ltrace-0.5-pm/demangle.c 2010-09-08 15:06:23.000000000 +0200 @@ -9,6 +9,7 @@ #include "options.h" #include "output.h" #include "demangle.h" +#include "ltrace.h" #include "dict.h" diff -up ltrace-0.5/demangle.c\~ ltrace-0.5/demangle.c --- ltrace-0.5/demangle.c~ 2006-02-20 22:48:07.000000000 +0100 +++ ltrace-0.5/demangle.c 2010-09-08 15:21:44.000000000 +0200 @@ -28,7 +28,7 @@ static void my_demangle_dict_clear(void) const char *my_demangle(const char *function_name) { const char *tmp, *fn_copy; -#if !defined HAVE_LIBIBERTY && defined HAVE_LIBSUPC__ +#ifdef USE_CXA_DEMANGLE extern char *__cxa_demangle(const char *, char *, size_t *, int *); int status = 0; #endif @@ -42,7 +42,7 @@ const char *my_demangle(const char *func fn_copy = strdup(function_name); #ifdef HAVE_LIBIBERTY tmp = cplus_demangle(function_name, DMGL_ANSI | DMGL_PARAMS); -#elif defined HAVE_LIBSUPC__ +#elif defined USE_CXA_DEMANGLE tmp = __cxa_demangle(function_name, NULL, NULL, &status); #endif if (!tmp) diff -up ltrace-0.5/ltrace.h\~ ltrace-0.5/ltrace.h --- ltrace-0.5/ltrace.h~ 2010-09-08 15:30:25.000000000 +0200 +++ ltrace-0.5/ltrace.h 2010-09-08 15:38:27.000000000 +0200 @@ -14,7 +14,10 @@ #define MAX_LIBRARY 30 #define TRACE_FORK 1 -#if defined HAVE_LIBIBERTY || defined HAVE_LIBSUPC__ +#if defined HAVE_LIBSUPC__ || defined HAVE_LIBSTDC__ +# define USE_CXA_DEMANGLE +#endif +#if defined HAVE_LIBIBERTY || defined USE_CXA_DEMANGLE # define USE_DEMANGLE #endif