-/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2018 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert
This file is part of the GNU Fortran runtime library (libgfortran).
#include "libgfortran.h"
+#include <gthr.h>
+
#include <string.h>
-#include <stdlib.h>
#include <errno.h>
#ifdef HAVE_UNISTD_H
struct backtrace_state *lbstate;
struct mystate state = { 0, false, in_signal_handler };
- lbstate = backtrace_create_state (NULL, 1, error_callback, NULL);
+ lbstate = backtrace_create_state (NULL, __gthread_active_p (),
+ error_callback, NULL);
+
+ if (lbstate == NULL)
+ return;
if (!BACKTRACE_SUPPORTED || (in_signal_handler && BACKTRACE_USES_MALLOC))
{