HookThrow::HookThrow()
{
- void *handle = dlopen(0, RTLD_LAZY);
+ void *handle = dlopen(nullptr, RTLD_LAZY);
orig_cxa_throw = reinterpret_cast<CxaThrowType *>(dlvsym(handle, "__cxa_throw", "CXXABI_1.3"));
dlclose(handle);
}
Msp::Debug::Backtrace &get_thread_backtrace()
{
-#if __cplusplus>=201103L
static thread_local Msp::Debug::Backtrace backtrace;
-#elif defined(__GNUC__)
- static __thread Msp::Debug::Backtrace backtrace;
-#else
- static Msp::Debug::Backtrace backtrace;
-#endif
return backtrace;
}
} // namespace Msp
#if defined(WITH_EXCEPTION_TRACE) && !defined(_WIN32) && defined(__GLIBC__)
-extern "C" void __cxa_throw(void *exc, std::type_info *type, void (*dest) (void *))
+extern "C" void __cxa_throw(void *exc, type_info *type, void (*dest) (void *))
{
if(trace_enabled)
get_thread_backtrace() = Msp::Debug::Backtrace::create();
orig_cxa_throw(exc, type, dest);
- std::terminate();
+ terminate();
}
#endif