__LIBC_HIDDEN__ void backtrace_startup() { gMapInfo = mapinfo_create(getpid()); gDemangler = dlopen("libgccdemangle.so", RTLD_NOW); if (gDemangler != NULL) { void* sym = dlsym(gDemangler, "__cxa_demangle"); gDemanglerFn = reinterpret_cast<DemanglerFn>(sym); } }
__LIBC_HIDDEN__ void backtrace_startup() { ScopedDisableDebugCalls disable; g_map_info = mapinfo_create(getpid()); g_demangler = dlopen("libgccdemangle.so", RTLD_NOW); if (g_demangler != NULL) { void* sym = dlsym(g_demangler, "__cxa_demangle"); g_demangler_fn = reinterpret_cast<DemanglerFn>(sym); } }
__LIBC_HIDDEN__ void backtrace_startup() { ScopedDisableDebugCalls disable; g_map_info = mapinfo_create(getpid()); // ARC MOD BEGIN // Note that g_demangler_fn can be NULL when __cxa_demangle cannot be // found. This happens for most unittests. This module works even if // g_demangler_fn is NULL. We will not demangle symbols for such cases. #if defined(HAVE_ARC) if (&__cxa_demangle) g_demangler_fn = __cxa_demangle; #else // ARC MOD END g_demangler = dlopen("libgccdemangle.so", RTLD_NOW); if (g_demangler != NULL) { void* sym = dlsym(g_demangler, "__cxa_demangle"); g_demangler_fn = reinterpret_cast<DemanglerFn>(sym); } // ARC MOD BEGIN #endif // ARC MOD END }
__LIBC_HIDDEN__ void backtrace_startup() { ScopedDisableDebugCalls disable; g_map_info = mapinfo_create(getpid()); }