aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--configure.ac3
-rw-r--r--lib/ephy-debug.c4
3 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 13b9deeec..739029b5e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-08-29 Christian Persch <chpe@cvs.gnome.org>
+
+ * configure.ac:
+ * lib/ephy-debug.c: (trap_handler):
+
+ Check for execinfo.h. Fixes bug #314776.
+
2005-08-28 Christian Persch <chpe@cvs.gnome.org>
* ChangeLog-20050828:
diff --git a/configure.ac b/configure.ac
index 08f239d3d..1edf91a30 100644
--- a/configure.ac
+++ b/configure.ac
@@ -148,6 +148,9 @@ dnl ******************
AC_CHECK_FUNCS([mkdtemp])
+dnl for backtrace()
+AC_CHECK_HEADERS([execinfo.h])
+
dnl Check for -Wdeclaration-after-statement (since gcc 3.4)
if test "x$enable_maintainer_mode" = "xyes"; then
diff --git a/lib/ephy-debug.c b/lib/ephy-debug.c
index d999e7b3a..a8c35902d 100644
--- a/lib/ephy-debug.c
+++ b/lib/ephy-debug.c
@@ -109,11 +109,15 @@ trap_handler (const char *log_domain,
}
else if (strcmp (ephy_debug_break, "stack") == 0)
{
+#ifdef HAVE_EXECINFO_H
void *array[MAX_DEPTH];
size_t size;
size = backtrace (array, MAX_DEPTH);
backtrace_symbols_fd (array, size, 2);
+#else
+ g_on_error_stack_trace (g_get_prgname ());
+#endif /* HAVE_EXECINFO_H */
}
else if (strcmp (ephy_debug_break, "trap") == 0)
{