diff -Naur a/src/3rdparty/chromium/base/debug/leak_tracker.h b/src/3rdparty/chromium/base/debug/leak_tracker.h --- a/src/3rdparty/chromium/base/debug/leak_tracker.h 2016-12-04 17:37:29.096306764 -0800 +++ b/src/3rdparty/chromium/base/debug/leak_tracker.h 2016-12-04 17:48:46.224517026 -0800 @@ -10,7 +10,7 @@ #include "build/build_config.h" // Only enable leak tracking in non-uClibc debug builds. -#if !defined(NDEBUG) && !defined(__UCLIBC__) +#if !defined(NDEBUG) && defined(HAVE_BACKTRACE) #define ENABLE_LEAK_TRACKER #endif diff -Naur a/src/3rdparty/chromium/base/debug/stack_trace.cc b/src/3rdparty/chromium/base/debug/stack_trace.cc --- a/src/3rdparty/chromium/base/debug/stack_trace.cc 2016-12-04 17:37:29.096306764 -0800 +++ b/src/3rdparty/chromium/base/debug/stack_trace.cc 2016-12-04 17:49:03.734703480 -0800 @@ -199,7 +199,7 @@ std::string StackTrace::ToString() const { std::stringstream stream; -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) OutputToStream(&stream); #endif return stream.str(); diff -Naur a/src/3rdparty/chromium/base/debug/stack_trace.h b/src/3rdparty/chromium/base/debug/stack_trace.h --- a/src/3rdparty/chromium/base/debug/stack_trace.h 2016-12-04 17:37:29.094306742 -0800 +++ b/src/3rdparty/chromium/base/debug/stack_trace.h 2016-12-04 17:49:21.906896983 -0800 @@ -76,7 +76,7 @@ // Prints the stack trace to stderr. void Print() const; -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) // Resolves backtrace to symbols and write to stream. void OutputToStream(std::ostream* os) const; #endif diff -Naur a/src/3rdparty/chromium/base/debug/stack_trace_posix.cc b/src/3rdparty/chromium/base/debug/stack_trace_posix.cc --- a/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2016-12-04 17:37:29.104306849 -0800 +++ b/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2016-12-04 17:51:03.367977370 -0800 @@ -25,7 +25,7 @@ #if defined(__GLIBCXX__) #include #endif -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) #include #endif @@ -76,7 +76,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()) { @@ -113,7 +113,7 @@ } } -#endif // defined(__GLIBCXX__) && !defined(__UCLIBC__) +#endif // defined(__GLIBCXX__) && defined(HAVE_BACKTRACE) } #endif // !defined(USE_SYMBOLIZE) @@ -125,7 +125,7 @@ virtual ~BacktraceOutputHandler() {} }; -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) void OutputPointer(void* pointer, BacktraceOutputHandler* handler) { // This should be more than enough to store a 64-bit number in hex: // 16 hex digits + 1 for null-terminator. @@ -202,7 +202,7 @@ } #endif // defined(USE_SYMBOLIZE) } -#endif // !defined(__UCLIBC__) +#endif // defined(HAVE_BACKTRACE) void PrintToStderr(const char* output) { // NOTE: This code MUST be async-signal safe (it's used by in-process @@ -718,7 +718,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_))); @@ -731,13 +731,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); diff -Naur a/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc b/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc --- a/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc 2016-12-04 17:37:29.098306785 -0800 +++ b/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc 2016-12-04 17:51:31.348275313 -0800 @@ -38,7 +38,7 @@ #else #define MAYBE_OutputToStream OutputToStream #endif -#if !defined(__UCLIBC__) +#if defined(HAVE_BACKTRACE) TEST_F(StackTraceTest, MAYBE_OutputToStream) { StackTrace trace; @@ -134,7 +134,7 @@ TEST_F(StackTraceTest, DebugPrintBacktrace) { StackTrace().Print(); } -#endif // !defined(__UCLIBC__) +#endif // defined(HAVE_BACKTRACE) #if defined(OS_POSIX) && !defined(OS_ANDROID) #if !defined(OS_IOS) diff -Naur a/src/3rdparty/chromium/base/logging.cc b/src/3rdparty/chromium/base/logging.cc --- a/src/3rdparty/chromium/base/logging.cc 2016-12-04 17:37:29.167307520 -0800 +++ b/src/3rdparty/chromium/base/logging.cc 2016-12-04 17:51:58.436563757 -0800 @@ -526,7 +526,7 @@ } LogMessage::~LogMessage() { -#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) +#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && defined(HAVE_BACKTRACE) if (severity_ == LOG_FATAL && !base::debug::BeingDebugged()) { // Include a stack trace on a fatal, unless a debugger is attached. base::debug::StackTrace trace; diff -Naur a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp --- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp 2016-12-04 17:37:40.112424067 -0800 +++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp 2016-12-04 17:52:44.286051976 -0800 @@ -60,7 +60,7 @@ #include #endif -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) +#if OS(MACOSX) || (OS(LINUX) && defined(HAVE_BACKTRACE)) #include #include #include @@ -164,7 +164,7 @@ } void WTFGetBacktrace(void** stack, int* size) { -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) +#if OS(MACOSX) || (OS(LINUX) && defined(HAVE_BACKTRACE)) *size = backtrace(stack, *size); #elif OS(WIN) // The CaptureStackBackTrace function is available in XP, but it is not @@ -215,7 +215,7 @@ }; FrameToNameScope::FrameToNameScope(void* addr) : m_name(0), m_cxaDemangled(0) { -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) +#if OS(MACOSX) || (OS(LINUX) && defined(HAVE_BACKTRACE)) Dl_info info; if (!dladdr(addr, &info) || !info.dli_sname) return; diff -Naur a/src/3rdparty/chromium/third_party/webrtc/base/checks.cc b/src/3rdparty/chromium/third_party/webrtc/base/checks.cc --- a/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2016-12-04 17:38:06.144701266 -0800 +++ b/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2016-12-04 17:53:19.007413116 -0800 @@ -16,7 +16,7 @@ #include #include -#if defined(__GLIBCXX__) && !defined(__UCLIBC__) +#if defined(__GLIBCXX__) && defined(HAVE_BACKTRACE) #include #include #endif @@ -60,7 +60,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(__GLIBCXX__) && defined(HAVE_BACKTRACE) void* trace[100]; int size = backtrace(trace, sizeof(trace) / sizeof(*trace)); char** symbols = backtrace_symbols(trace, size);