diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | lib/ephy-debug.c | 4 |
3 files changed, 14 insertions, 0 deletions
@@ -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) { |