--- qtwebkit/Source/WTF/wtf/Assertions.cpp
+++ qtwebkit/Source/WTF/wtf/Assertions.cpp
@@ -64,7 +64,7 @@
 #include <windows.h>
 #endif
 
-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID)
+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)) && !OS(ANDROID)
 #include <cxxabi.h>
 #include <dlfcn.h>
 #include <execinfo.h>
@@ -242,7 +242,7 @@
 
 void WTFGetBacktrace(void** stack, int* size)
 {
-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID)
+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)) && !OS(ANDROID)
     *size = backtrace(stack, *size);
 #elif OS(WINDOWS) && !OS(WINCE)
     // The CaptureStackBackTrace function is available in XP, but it is not defined
--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp.orig	2015-05-11 17:52:11.308845782 +0200
+++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp	2015-05-11 17:52:54.731344269 +0200
@@ -65,7 +65,7 @@
 #define HAVE_ISDEBUGGERPRESENT 1
 #endif
 
-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
+#if OS(MACOSX) || (OS(LINUX) && defined(__GLIBC__))
 #include <cxxabi.h>
 #include <dlfcn.h>
 #include <execinfo.h>
@@ -228,7 +228,7 @@ void WTFReportArgumentAssertionFailure(c
 
 void WTFGetBacktrace(void** stack, int* size)
 {
-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
+#if OS(MACOSX) || (OS(LINUX) && defined(__GLIBC__))
     *size = backtrace(stack, *size);
 #elif OS(WIN)
     // The CaptureStackBackTrace function is available in XP, but it is not defined
@@ -266,7 +266,7 @@ FrameToNameScope::FrameToNameScope(void*
     : m_name(0)
     , m_cxaDemangled(0)
 {
-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
+#if OS(MACOSX) || (OS(LINUX) && defined(__GLIBC__))
     Dl_info info;
     if (!dladdr(addr, &info) || !info.dli_sname)
         return;
--- qtwebengine/src/3rdparty/chromium/third_party/libxml/src/threads.c.orig	2015-05-12 06:49:49.220140993 +0200
+++ qtwebengine/src/3rdparty/chromium/third_party/libxml/src/threads.c	2015-05-12 06:52:15.196605626 +0200
@@ -48,7 +48,7 @@
 
 static int libxml_is_threaded = -1;
 #ifdef __GNUC__
-#ifdef linux
+#ifdef __GLIBC__
 #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
 extern int pthread_once (pthread_once_t *__once_control,
                          void (*__init_routine) (void))
@@ -88,7 +88,7 @@ extern int pthread_key_delete ()
 extern int pthread_cond_signal ()
 	   __attribute((weak));
 #endif
-#endif /* linux */
+#endif /* __GLIBC__ */
 #endif /* __GNUC__ */
 #endif /* HAVE_PTHREAD_H */
 
--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc	2015-06-29 22:07:59.000000000 +0200
+++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc	2015-07-04 07:31:41.374531401 +0200
@@ -18,8 +18,10 @@
 
 #if defined(__GLIBCXX__) && !defined(__UCLIBC__)
 #include <cxxabi.h>
+#if defined(__GLIBC__)
 #include <execinfo.h>
 #endif
+#endif
 
 #if defined(WEBRTC_ANDROID)
 #define LOG_TAG "rtc"
@@ -55,7 +57,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(__UCLIBC__) && defined(__GLIBC__)
   void* trace[100];
   int size = backtrace(trace, sizeof(trace) / sizeof(*trace));
   char** symbols = backtrace_symbols(trace, size);
--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc	2015-06-29 22:09:56.000000000 +0200
+++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc	2015-07-04 08:07:09.860525096 +0200
@@ -22,7 +22,7 @@
 #if defined(__GLIBCXX__)
 #include <cxxabi.h>
 #endif
-#if !defined(__UCLIBC__)
+#if defined(__GLIBC__)
 #include <execinfo.h>
 #endif
 
@@ -169,7 +169,7 @@
 
     handler->HandleOutput("\n");
   }
-#elif !defined(__UCLIBC__)
+#elif defined(__GLIBC__)
   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(__GLIBC__)
   // Though the backtrace API man page does not list any possible negative
   // return values, we take no chance.
   count_ = base::saturated_cast<size_t>(backtrace(trace_, arraysize(trace_)));
