__cxa_demangle is only to demangle C++ names, for all C functions,
extern "C" functions, and including main it returns -2, in that case
just adapt the given name. Otherwise it's kept empty, which doesn't look
nice in the stacktrace.
libstdc++-v3/ChangeLog:
* include/std/stacktrace (stacktrace_entry::_S_demangle): Use
raw __name if __cxa_demangle could not demangle it.
Signed-off-by: Björn Schäpers <bjoern@hazardy.de>
(cherry picked from commit
b1c839be8353edfb1951454be3c5a8150f771385)
&__status);
if (__status == 0)
__s = __str;
+ else
+ __s = __name;
__builtin_free(__str);
return __s;
}