--- ./base/debug/stack_trace_posix.cc.orig +++ ./base/debug/stack_trace_posix.cc @@ -22,7 +22,7 @@ #if defined(__GLIBCXX__) #include #endif -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) #include #endif @@ -73,7 +73,7 @@ // Note: code in this function is NOT async-signal safe (std::string uses // malloc internally). -#if defined(__GLIBCXX__) && !defined(__UCLIBC__) +#if defined(__GLIBCXX__) && defined(HAVE_BACKTRACE) std::string::size_type search_from = 0; while (search_from < text->size()) { @@ -169,7 +169,7 @@ handler->HandleOutput("\n"); } -#elif !defined(__UCLIBC__) +#elif defined(HAVE_BACKTRACE) bool printed = false; // Below part is async-signal unsafe (uses malloc), so execute it only @@ -738,7 +738,7 @@ // NOTE: This code MUST be async-signal safe (it's used by in-process // stack dumping signal handler). NO malloc or stdio is allowed here. -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) // Though the backtrace API man page does not list any possible negative // return values, we take no chance. count_ = base::saturated_cast(backtrace(trace_, arraysize(trace_))); @@ -751,13 +751,13 @@ // NOTE: This code MUST be async-signal safe (it's used by in-process // stack dumping signal handler). NO malloc or stdio is allowed here. -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) PrintBacktraceOutputHandler handler; ProcessBacktrace(trace_, count_, &handler); #endif } -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) void StackTrace::OutputToStream(std::ostream* os) const { StreamBacktraceOutputHandler handler(os); ProcessBacktrace(trace_, count_, &handler); --- ./third_party/WebKit/Source/wtf/Assertions.cpp.orig +++ ./third_party/WebKit/Source/wtf/Assertions.cpp @@ -61,7 +61,7 @@ #define HAVE_ISDEBUGGERPRESENT 1 #endif -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) +#if defined(HAVE_BACKTRACE) #include #include #include @@ -222,7 +222,7 @@ void WTFGetBacktrace(void** stack, int* size) { -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) +#if defined(HAVE_BACKTRACE) *size = backtrace(stack, *size); #elif OS(WIN) // The CaptureStackBackTrace function is available in XP, but it is not defined @@ -260,7 +260,7 @@ : m_name(0) , m_cxaDemangled(0) { -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) +#if defined(HAVE_BACKTRACE) Dl_info info; if (!dladdr(addr, &info) || !info.dli_sname) return; --- ./third_party/webrtc/base/checks.cc.orig +++ ./third_party/webrtc/base/checks.cc @@ -16,7 +16,7 @@ #include #include -#if defined(__GLIBCXX__) && !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) #include #include #endif @@ -55,7 +55,7 @@ // to get usable symbols on Linux. This is copied from V8. Chromium has a more // advanced stace trace system; also more difficult to copy. void DumpBacktrace() { -#if defined(__GLIBCXX__) && !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) void* trace[100]; int size = backtrace(trace, sizeof(trace) / sizeof(*trace)); char** symbols = backtrace_symbols(trace, size);