コード例 #1
0
__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);
  }
}
コード例 #2
0
__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);
  }
}
コード例 #3
0
ファイル: debug_stacktrace.cpp プロジェクト: epowers/arc
__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
}
コード例 #4
0
__LIBC_HIDDEN__ void backtrace_startup() {
  ScopedDisableDebugCalls disable;

  g_map_info = mapinfo_create(getpid());
}