#include "trace_backtrace.hpp"
-#if defined(ANDROID) or defined(__ELF__)
+#if defined(ANDROID) || defined(__ELF__)
#include <set>
#include "os.hpp"
#include <dlfcn.h>
#include <map>
#include <vector>
+#include <cxxabi.h>
#include "backtrace.h"
frame.linenumber = line;
if (func)
frame.function = func;
+ int status;
+ if (func && (func = abi::__cxa_demangle(func, NULL, NULL, &status)))
+ frame.function = func;
this_->current_frames->push_back(frame);
return 0;
}