summaryrefslogtreecommitdiffstats
path: root/main/xulrunner/xpcom-execinfo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/xulrunner/xpcom-execinfo.patch')
-rw-r--r--main/xulrunner/xpcom-execinfo.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/main/xulrunner/xpcom-execinfo.patch b/main/xulrunner/xpcom-execinfo.patch
new file mode 100644
index 000000000..1fe320967
--- /dev/null
+++ b/main/xulrunner/xpcom-execinfo.patch
@@ -0,0 +1,23 @@
+--- mozilla-2.0.orig/xpcom/threads/nsThread.cpp
++++ mozilla-2.0/xpcom/threads/nsThread.cpp
+@@ -54,7 +54,9 @@
+ && defined(_GNU_SOURCE)
+ # define MOZ_CANARY
+ # include <unistd.h>
+-# include <execinfo.h>
++# if !defined(__UCLIBC__)
++# include <execinfo.h>
++# endif
+ # include <signal.h>
+ # include <fcntl.h>
+ # include "nsXULAppAPI.h"
+@@ -562,7 +564,9 @@
+ const char msg[29] = "event took too long to run:\n";
+ // use write to be safe in the signal handler
+ write(Canary::sOutputFD, msg, sizeof(msg));
++#if !defined(__UCLIBC__)
+ backtrace_symbols_fd(array, backtrace(array, 30), Canary::sOutputFD);
++#endif
+ }
+
+ #endif