* Under GNU/Linux, in case of an internal (C, C++ or fortran) programming error 77/3777/8
Sylvestre Ledru [Mon, 11 Apr 2011 19:42:43 +0000 (21:42 +0200)]
  of Scilab or an extension, the full error stack is displayed and Scilab no
  longer crashes.

Change-Id: Ia098d5dd5aa88b61ac013ea24feffc4734d2a480

104 files changed:
scilab/CHANGES_5.3.X
scilab/Makefile.in
scilab/aclocal.m4
scilab/configure
scilab/configure.ac
scilab/contrib/Makefile.in
scilab/libs/MALLOC/Makefile.in
scilab/libs/Makefile.in
scilab/libs/doublylinkedlist/Makefile.in
scilab/libs/dynamiclibrary/Makefile.in
scilab/libs/hashtable/Makefile.in
scilab/libs/libst/Makefile.in
scilab/m4/backtrace.m4 [new file with mode: 0644]
scilab/modules/Makefile.in
scilab/modules/action_binding/Makefile.in
scilab/modules/api_scilab/Makefile.in
scilab/modules/arnoldi/Makefile.in
scilab/modules/atoms/Makefile.in
scilab/modules/boolean/Makefile.in
scilab/modules/cacsd/Makefile.in
scilab/modules/call_scilab/Makefile.in
scilab/modules/commons/Makefile.in
scilab/modules/compatibility_functions/Makefile.in
scilab/modules/completion/Makefile.in
scilab/modules/console/Makefile.in
scilab/modules/core/Makefile.am
scilab/modules/core/Makefile.in
scilab/modules/core/includes/machine.h.in
scilab/modules/core/includes/signal_mgmt.h [new file with mode: 0644]
scilab/modules/core/license.txt
scilab/modules/core/src/c/backtrace.c [new file with mode: 0644]
scilab/modules/core/src/c/backtrace.h [new file with mode: 0644]
scilab/modules/core/src/c/callinterf.c
scilab/modules/core/src/c/signal_mgmt.c [new file with mode: 0644]
scilab/modules/core/tests/unit_tests/segfault_mgmt.dia.ref [new file with mode: 0644]
scilab/modules/core/tests/unit_tests/segfault_mgmt.tst [new file with mode: 0644]
scilab/modules/core/tests/unit_tests/segfault_mgmt_2.dia.ref [new file with mode: 0644]
scilab/modules/core/tests/unit_tests/segfault_mgmt_2.tst [new file with mode: 0644]
scilab/modules/core/tests/unit_tests/segfault_mgmt_3.dia.ref [new file with mode: 0644]
scilab/modules/core/tests/unit_tests/segfault_mgmt_3.tst [new file with mode: 0644]
scilab/modules/data_structures/Makefile.in
scilab/modules/demo_tools/Makefile.in
scilab/modules/development_tools/Makefile.in
scilab/modules/development_tools/src/fake/Makefile.in
scilab/modules/differential_equations/Makefile.in
scilab/modules/double/Makefile.in
scilab/modules/dynamic_link/Makefile.in
scilab/modules/elementary_functions/Makefile.in
scilab/modules/fftw/Makefile.in
scilab/modules/fileio/Makefile.in
scilab/modules/functions/Makefile.in
scilab/modules/genetic_algorithms/Makefile.in
scilab/modules/graph/Makefile.in
scilab/modules/graphic_export/Makefile.in
scilab/modules/graphics/Makefile.in
scilab/modules/gui/Makefile.in
scilab/modules/hdf5/Makefile.in
scilab/modules/helptools/Makefile.in
scilab/modules/history_browser/Makefile.in
scilab/modules/history_manager/Makefile.in
scilab/modules/integer/Makefile.in
scilab/modules/interpolation/Makefile.in
scilab/modules/intersci/Makefile.in
scilab/modules/io/Makefile.in
scilab/modules/javasci/Makefile.in
scilab/modules/jvm/Makefile.in
scilab/modules/linear_algebra/Makefile.in
scilab/modules/localization/Makefile.in
scilab/modules/m2sci/Makefile.in
scilab/modules/maple2scilab/Makefile.in
scilab/modules/matio/Makefile.in
scilab/modules/mexlib/Makefile.in
scilab/modules/modules_manager/Makefile.in
scilab/modules/optimization/Makefile.in
scilab/modules/output_stream/Makefile.in
scilab/modules/overloading/Makefile.in
scilab/modules/parallel/Makefile.in
scilab/modules/parameters/Makefile.in
scilab/modules/polynomials/Makefile.in
scilab/modules/pvm/Makefile.in
scilab/modules/randlib/Makefile.in
scilab/modules/renderer/Makefile.in
scilab/modules/scicos/Makefile.in
scilab/modules/scicos_blocks/Makefile.in
scilab/modules/scinotes/Makefile.in
scilab/modules/shell/Makefile.in
scilab/modules/shell/src/c/others/mainscic.c
scilab/modules/signal_processing/Makefile.in
scilab/modules/simulated_annealing/Makefile.in
scilab/modules/sound/Makefile.in
scilab/modules/sparse/Makefile.in
scilab/modules/special_functions/Makefile.in
scilab/modules/spreadsheet/Makefile.in
scilab/modules/statistics/Makefile.in
scilab/modules/string/Makefile.in
scilab/modules/symbolic/Makefile.in
scilab/modules/tclsci/Makefile.in
scilab/modules/texmacs/Makefile.in
scilab/modules/time/Makefile.in
scilab/modules/types/Makefile.in
scilab/modules/ui_data/Makefile.in
scilab/modules/umfpack/Makefile.in
scilab/modules/windows_tools/Makefile.in
scilab/modules/xcos/Makefile.in

index 9b2305a..33d88b8 100644 (file)
@@ -7,6 +7,9 @@ Scilab:
 * The Mac OS X version is checked to avoid errors on unsupported versions
   of Mac OS X. As a remider, Scilab is supported under Mac OS X 10.6.
 
+* Under GNU/Linux, in case of an internal (C, C++ or fortran) programming error
+  of Scilab or an extension, the full error stack is displayed and Scilab no
+  longer crashes.
 
 Scinotes:
 =========
index f2b2498..181556e 100644 (file)
@@ -94,10 +94,10 @@ check_PROGRAMS = call_scilab_c_simple$(EXEEXT) call_scilab_c$(EXEEXT) \
        call_scilab_readwritestring$(EXEEXT)
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 6cf2393..fb246da 100644 (file)
@@ -3251,6 +3251,7 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([m4/backtrace.m4])
 m4_include([m4/docbook.m4])
 m4_include([m4/fftw.m4])
 m4_include([m4/fortran.m4])
index 26a4b15..ce0cba9 100755 (executable)
 done
 
 
+# Provided by signal.h
+for ac_func in strsignal
+do :
+  ac_fn_c_check_func "$LINENO" "strsignal" "ac_cv_func_strsignal"
+if test "x$ac_cv_func_strsignal" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STRSIGNAL 1
+_ACEOF
+
+fi
+done
+
+
 
 # Check of the libm (lib math). Macro provided by libtool.
 save_LDFLAGS="$LDFLAGS"
@@ -23779,7 +23792,7 @@ CPPFLAGS="$CPPFLAGS -I$CHK_TCL_INCLUDE_PATH"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later" >&5
 $as_echo_n "checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later... " >&6; }
 cat > conftest.$ac_ext <<EOF
-#line 23782 "configure"
+#line 23795 "configure"
 #include "confdefs.h"
 
 #include "$CHK_TCL_INCLUDE_PATH/$CHK_TCL_INC_NAME"
@@ -24089,7 +24102,7 @@ CPPFLAGS="$CPPFLAGS $TCL_INC_PATH -I$CHK_TK_INCLUDE_PATH $X_CFLAGS"
 $as_echo_n "checking if tk is version $CHK_TK_MAJOR.$CHK_TK_MINOR or later... " >&6; }
 
 cat > conftest.$ac_ext <<EOF
-#line 24092 "configure"
+#line 24105 "configure"
 #include "confdefs.h"
 
 #include "$CHK_TK_INCLUDE_PATH/$CHK_TK_INC_NAME"
@@ -24670,7 +24683,7 @@ $as_echo_n "checking saxon... " >&6; }
           export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 24673 "configure"
+// #line 24686 "configure"
 import com.icl.saxon.Loader;
 
 public class conftest {
@@ -24777,7 +24790,7 @@ $as_echo_n "checking jlatexmath-fop... " >&6; }
           export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 24780 "configure"
+// #line 24793 "configure"
 import org.scilab.forge.jlatexmath.fop.JLaTeXMathObj;
 
 public class conftest {
@@ -31084,7 +31097,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 31087 "configure"
+#line 31100 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -31190,7 +31203,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 31193 "configure"
+#line 31206 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -37139,6 +37152,105 @@ esac
 
 
 
+
+#------------------------------
+# backtrace support (for glibc)
+#------------------------------
+
+# Basic backtrace functionnality
+
+have_glibc_backtrace=no
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glibc backtrace" >&5
+$as_echo_n "checking for glibc backtrace... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined(__GNUC__)
+#define _GNU_SOURCE
+#include <memory.h>
+#include <execinfo.h>
+#endif
+#ifdef F77_DUMMY_MAIN
+
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+
+#endif
+int
+main ()
+{
+ void *tr_array[10]; backtrace(tr_array, 10);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  have_glibc_backtrace=yes
+else
+  have_glibc_backtrace=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_glibc_backtrace" >&5
+$as_echo "$have_glibc_backtrace" >&6; }
+
+if test "x$have_glibc_backtrace" = "xyes"; then
+  CFLAGS="$CFLAGS -rdynamic"
+  CPPFLAGS="$CPPFLAGS -rdynamic"
+  FFLAGS="$FFLAGS -rdynamic"
+
+$as_echo "#define HAVE_GLIBC_BACKTRACE 1" >>confdefs.h
+
+fi
+
+# C++ demangling
+
+have_cplus_demangle=no
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glibc cplus_demangle" >&5
+$as_echo_n "checking for glibc cplus_demangle... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <demangle.h>
+#ifdef F77_DUMMY_MAIN
+
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+
+#endif
+int
+main ()
+{
+ const char *s; cplus_demangle(s, auto_demangling);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  have_cplus_demangle=yes
+else
+  have_cplus_demangle=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_cplus_demangle" >&5
+$as_echo "$have_cplus_demangle" >&6; }
+
+if test "x$have_cplus_demangle" = "xyes"; then
+  CFLAGS="$CFLAGS -rdynamic"
+  CPPFLAGS="$CPPFLAGS -rdynamic"
+  FFLAGS="$FFLAGS -rdynamic"
+
+
+$as_echo "#define HAVE_CPLUS_DEMANGLE 1" >>confdefs.h
+
+fi
+
+
 ##########
 ##### Code quality
 ##########
index 0bc10d1..593fa90 100644 (file)
@@ -1130,6 +1130,9 @@ AC_CHECK_FUNCS([mkdir])
 # Provided by mman.h
 AC_CHECK_FUNCS([munmap])
 
+# Provided by signal.h
+AC_CHECK_FUNCS([strsignal])
+
 
 # Check of the libm (lib math). Macro provided by libtool.
 save_LDFLAGS="$LDFLAGS"
@@ -1646,6 +1649,7 @@ AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = xxxx)
 AC_C_CONST()
 AC_C_INLINE()
 
+AC_BACKTRACE()
 
 ##########
 ##### Code quality
index 26cee93..d62158b 100644 (file)
@@ -43,10 +43,10 @@ host_triplet = @host@
 subdir = contrib
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index fd89566..5a60a3f 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(libscimalloc_la_include_HEADERS) $(srcdir)/Makefile.am \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = libs/MALLOC
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 2a2baef..0654568 100644 (file)
@@ -41,10 +41,10 @@ host_triplet = @host@
 subdir = libs
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 9cfd4b5..808fda4 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(libscidoublylinkedlist_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = libs/doublylinkedlist
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 99c7ec5..e5e9194 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(libscidynamiclibrary_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = libs/dynamiclibrary
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index e224e4e..772aac1 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(libscihashtable_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = libs/hashtable
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index ce6ae7d..dfef3bc 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = libs/libst
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
diff --git a/scilab/m4/backtrace.m4 b/scilab/m4/backtrace.m4
new file mode 100644 (file)
index 0000000..0d57271
--- /dev/null
@@ -0,0 +1,47 @@
+AC_DEFUN([AC_BACKTRACE], [
+
+#------------------------------
+# backtrace support (for glibc)
+#------------------------------
+
+# Basic backtrace functionnality
+
+have_glibc_backtrace=no
+
+AC_MSG_CHECKING([for glibc backtrace])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if defined(__GNUC__)
+#define _GNU_SOURCE
+#include <memory.h>
+#include <execinfo.h>
+#endif]],
+               [[ void *tr_array[10]; backtrace(tr_array, 10); ]])],
+               [have_glibc_backtrace=yes],
+               [have_glibc_backtrace=no])
+AC_MSG_RESULT($have_glibc_backtrace)
+
+if test "x$have_glibc_backtrace" = "xyes"; then
+  CFLAGS="$CFLAGS -rdynamic"
+  CPPFLAGS="$CPPFLAGS -rdynamic"
+  FFLAGS="$FFLAGS -rdynamic"
+  AC_DEFINE(HAVE_GLIBC_BACKTRACE, 1, HAVE_GLIBC_BACKTRACE)
+fi
+
+# C++ demangling
+
+have_cplus_demangle=no
+
+AC_MSG_CHECKING([for glibc cplus_demangle])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <demangle.h>]],
+               [[ const char *s; cplus_demangle(s, auto_demangling); ]])],
+               [have_cplus_demangle=yes],
+               [have_cplus_demangle=no])
+AC_MSG_RESULT($have_cplus_demangle)
+
+if test "x$have_cplus_demangle" = "xyes"; then
+  CFLAGS="$CFLAGS -rdynamic"
+  CPPFLAGS="$CPPFLAGS -rdynamic"
+  FFLAGS="$FFLAGS -rdynamic"
+
+  AC_DEFINE(HAVE_CPLUS_DEMANGLE, 1, HAVE_CPLUS_DEMANGLE)
+fi
+])
index 596a3ae..7a30cb4 100644 (file)
@@ -70,10 +70,10 @@ host_triplet = @host@
 subdir = modules
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 0acbb40..c7c9730 100644 (file)
@@ -67,10 +67,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_2 = java
 subdir = modules/action_binding
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index b4a6ff1..dd37ec5 100644 (file)
@@ -65,10 +65,10 @@ DIST_COMMON = $(libsciapi_scilab_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/api_scilab
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 94b2b72..6169997 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/arnoldi
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 800da92..f9f05af 100644 (file)
@@ -64,10 +64,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/atoms
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 4b2cb99..8377c74 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/boolean
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index ea71dd6..040e8ce 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/cacsd
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 48e67f2..51cda9d 100644 (file)
@@ -63,10 +63,10 @@ DIST_COMMON = $(libscicall_scilab_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/call_scilab
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index ccf49d4..0a91348 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GUI_TRUE@am__append_2 = libscicommons.la 
 subdir = modules/commons
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index f9459d5..05e79e8 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/compatibility_functions
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 8bb840f..f936029 100644 (file)
@@ -67,10 +67,10 @@ DIST_COMMON = $(libscicompletion_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/completion
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 8582a91..25589d1 100644 (file)
@@ -73,10 +73,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_4 = java
 subdir = modules/console
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index d03c712..fd99658 100644 (file)
@@ -87,7 +87,9 @@ src/c/exitCodeValue.c \
 src/c/getversion.c \
 src/c/dynamic_tclsci.c \
 src/c/dynamic_parallel.c \
-src/c/storeCommand.c
+src/c/storeCommand.c \
+src/c/backtrace.c \
+src/c/signal_mgmt.c
 
 CORE_CPP_SOURCES = src/cpp/hashtable_core.cpp \
 src/cpp/namstr.cpp \
index 180170e..91686e3 100644 (file)
@@ -73,10 +73,10 @@ DIST_COMMON = $(libscicore_la_include_HEADERS) $(srcdir)/Makefile.am \
 @NEED_JAVA_TRUE@am__append_4 = java
 subdir = modules/core
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -153,8 +153,8 @@ am__libscicore_la_SOURCES_DIST = src/c/inffic.c src/c/cs2st.c \
        src/c/inittypenames.c src/c/funcprot.c src/c/eqid.c \
        src/c/exitCodeValue.c src/c/getversion.c \
        src/c/dynamic_tclsci.c src/c/dynamic_parallel.c \
-       src/c/storeCommand.c src/c/scimem64.c \
-       src/cpp/hashtable_core.cpp src/cpp/namstr.cpp \
+       src/c/storeCommand.c src/c/backtrace.c src/c/signal_mgmt.c \
+       src/c/scimem64.c src/cpp/hashtable_core.cpp src/cpp/namstr.cpp \
        src/cpp/search_functions.cpp src/fortran/clunit.f \
        src/fortran/getlin.f src/fortran/allowptr.f \
        src/fortran/isany.f src/fortran/hmcreate.f src/fortran/nextj.f \
@@ -286,7 +286,8 @@ am__objects_2 = libscicore_la-inffic.lo libscicore_la-cs2st.lo \
        libscicore_la-eqid.lo libscicore_la-exitCodeValue.lo \
        libscicore_la-getversion.lo libscicore_la-dynamic_tclsci.lo \
        libscicore_la-dynamic_parallel.lo \
-       libscicore_la-storeCommand.lo $(am__objects_1)
+       libscicore_la-storeCommand.lo libscicore_la-backtrace.lo \
+       libscicore_la-signal_mgmt.lo $(am__objects_1)
 am__objects_3 = libscicore_la-hashtable_core.lo \
        libscicore_la-namstr.lo libscicore_la-search_functions.lo
 @USE_DYNAMIC_STACK_TRUE@am__objects_4 = relocstack.lo
@@ -667,7 +668,8 @@ CORE_C_SOURCES = src/c/inffic.c src/c/cs2st.c src/c/tmpdir.c \
        src/c/inittypenames.c src/c/funcprot.c src/c/eqid.c \
        src/c/exitCodeValue.c src/c/getversion.c \
        src/c/dynamic_tclsci.c src/c/dynamic_parallel.c \
-       src/c/storeCommand.c $(am__append_1)
+       src/c/storeCommand.c src/c/backtrace.c src/c/signal_mgmt.c \
+       $(am__append_1)
 CORE_CPP_SOURCES = src/cpp/hashtable_core.cpp \
 src/cpp/namstr.cpp \
 src/cpp/search_functions.cpp
@@ -1024,6 +1026,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-SCIHOME.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-SetScilabEnvironment.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-TerminateCore.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-backtrace.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-banier.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-callDynamicGateway.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-callFunctionFromGateway.Plo@am__quote@
@@ -1136,6 +1139,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-search_functions.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-setPrecisionFPU.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-setgetSCIpath.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-signal_mgmt.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-stack1.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-stack2.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscicore_la-stack3.Plo@am__quote@
@@ -1728,6 +1732,20 @@ libscicore_la-storeCommand.lo: src/c/storeCommand.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_la_CFLAGS) $(CFLAGS) -c -o libscicore_la-storeCommand.lo `test -f 'src/c/storeCommand.c' || echo '$(srcdir)/'`src/c/storeCommand.c
 
+libscicore_la-backtrace.lo: src/c/backtrace.c
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_la_CFLAGS) $(CFLAGS) -MT libscicore_la-backtrace.lo -MD -MP -MF $(DEPDIR)/libscicore_la-backtrace.Tpo -c -o libscicore_la-backtrace.lo `test -f 'src/c/backtrace.c' || echo '$(srcdir)/'`src/c/backtrace.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_la-backtrace.Tpo $(DEPDIR)/libscicore_la-backtrace.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/backtrace.c' object='libscicore_la-backtrace.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_la_CFLAGS) $(CFLAGS) -c -o libscicore_la-backtrace.lo `test -f 'src/c/backtrace.c' || echo '$(srcdir)/'`src/c/backtrace.c
+
+libscicore_la-signal_mgmt.lo: src/c/signal_mgmt.c
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_la_CFLAGS) $(CFLAGS) -MT libscicore_la-signal_mgmt.lo -MD -MP -MF $(DEPDIR)/libscicore_la-signal_mgmt.Tpo -c -o libscicore_la-signal_mgmt.lo `test -f 'src/c/signal_mgmt.c' || echo '$(srcdir)/'`src/c/signal_mgmt.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_la-signal_mgmt.Tpo $(DEPDIR)/libscicore_la-signal_mgmt.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/signal_mgmt.c' object='libscicore_la-signal_mgmt.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_la_CFLAGS) $(CFLAGS) -c -o libscicore_la-signal_mgmt.lo `test -f 'src/c/signal_mgmt.c' || echo '$(srcdir)/'`src/c/signal_mgmt.c
+
 libscicore_la-scimem64.lo: src/c/scimem64.c
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscicore_la_CPPFLAGS) $(CPPFLAGS) $(libscicore_la_CFLAGS) $(CFLAGS) -MT libscicore_la-scimem64.lo -MD -MP -MF $(DEPDIR)/libscicore_la-scimem64.Tpo -c -o libscicore_la-scimem64.lo `test -f 'src/c/scimem64.c' || echo '$(srcdir)/'`src/c/scimem64.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscicore_la-scimem64.Tpo $(DEPDIR)/libscicore_la-scimem64.Plo
index f91d710..0529d5a 100644 (file)
@@ -57,6 +57,9 @@
 /* Whether clock_gettime is available */
 #undef HAVE_CLOCK_GETTIME
 
+/* HAVE_CPLUS_DEMANGLE */
+#undef HAVE_CPLUS_DEMANGLE
+
 /* Define to 1 if you have the <curses.h> header file. */
 #undef HAVE_CURSES_H
 
 /* Define to 1 if you have the `getwd' function. */
 #undef HAVE_GETWD
 
+/* HAVE_GLIBC_BACKTRACE */
+#undef HAVE_GLIBC_BACKTRACE
+
 /* Define if you have the iconv() function and it works. */
 #undef HAVE_ICONV
 
 /* Define to 1 if you have the `strrchr' function. */
 #undef HAVE_STRRCHR
 
+/* Define to 1 if you have the `strsignal' function. */
+#undef HAVE_STRSIGNAL
+
 /* Define to 1 if you have the `strstr' function. */
 #undef HAVE_STRSTR
 
diff --git a/scilab/modules/core/includes/signal_mgmt.h b/scilab/modules/core/includes/signal_mgmt.h
new file mode 100644 (file)
index 0000000..7718e92
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+#ifndef __SIGNAL_MGMT_H__
+#define __SIGNAL_MGMT_H__
+
+
+/**
+ * Initialize the signal management system
+ */
+void base_error_init(void);
+
+#endif /* __SIGNAL_MGMT_H__ */
index 4afecb5..3d70a65 100644 (file)
@@ -40,4 +40,58 @@ License:
      appreciated but is not required.
   2. Altered source versions must be plainly marked as such, and must not be
      misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
\ No newline at end of file
+  3. This notice may not be removed or altered from any source distribution.
+
+
+backtrace:
+==========
+
+Files: src/c/backtrace.c src/c/backtrace.h src/c/signal_mgmt.c
+
+Copyright: 2006  EDF - Code Saturne
+
+License: LGPL 2.1+
+
+
+
+Files: src/c/signal_mgmt.c (list of exceptions and errors)
+
+Copyright: 
+Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
+                        University Research and Technology
+                        Corporation.  All rights reserved.
+Copyright (c) 2004-2010 The University of Tennessee and The University
+                        of Tennessee Research Foundation.  All rights
+                        reserved.
+Copyright (c) 2004-2010 High Performance Computing Center Stuttgart, 
+                        University of Stuttgart.  All rights reserved.
+Copyright (c) 2004-2008 The Regents of the University of California.
+                        All rights reserved.
+Copyright (c) 2006-2010 Los Alamos National Security, LLC.  All rights
+                        reserved. 
+Copyright (c) 2006-2010 Cisco Systems, Inc.  All rights reserved.
+Copyright (c) 2006-2010 Voltaire, Inc. All rights reserved.
+Copyright (c) 2006-2010 Sandia National Laboratories. All rights reserved.
+Copyright (c) 2006-2010 Sun Microsystems, Inc.  All rights reserved.
+                        Use is subject to license terms.
+Copyright (c) 2006-2010 The University of Houston. All rights reserved.
+Copyright (c) 2006-2009 Myricom, Inc.  All rights reserved.
+Copyright (c) 2007-2008 UT-Battelle, LLC. All rights reserved.
+Copyright (c) 2007-2010 IBM Corporation.  All rights reserved.
+Copyright (c) 1998-2005 Forschungszentrum Juelich, Juelich Supercomputing 
+                        Centre, Federal Republic of Germany
+Copyright (c) 2005-2008 ZIH, TU Dresden, Federal Republic of Germany
+Copyright (c) 2007      Evergrid, Inc. All rights reserved.
+Copyright (c) 2008      Chelsio, Inc.  All rights reserved.
+Copyright (c) 2008-2009 Institut National de Recherche en
+                        Informatique.  All rights reserved.
+Copyright (c) 2007      Lawrence Livermore National Security, LLC.
+                        All rights reserved.
+Copyright (c) 2007-2009 Mellanox Technologies.  All rights reserved.
+Copyright (c) 2006-2010 QLogic Corporation.  All rights reserved.
+Copyright (c) 2008-2010 Oak Ridge National Labs.  All rights reserved.
+Copyright (c) 2006-2010 Oracle and/or its affiliates.  All rights reserved.
+Copyright (c) 2009      Bull SAS.  All rights reserved.
+Copyright (c) 2010      ARM ltd.  All rights reserved.
+
+License: BSD license - 3 clauses
diff --git a/scilab/modules/core/src/c/backtrace.c b/scilab/modules/core/src/c/backtrace.c
new file mode 100644 (file)
index 0000000..847d17a
--- /dev/null
@@ -0,0 +1,449 @@
+/*
+  Copyright (C) 2006  EDF - Code Saturne
+  Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU. Adapted for Scilab
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 2.1 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with this library; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#include <assert.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <execinfo.h>
+
+#if defined(HAVE_GLIBC_BACKTRACE)
+#include <memory.h>
+#endif
+
+#if defined(HAVE_GLIBC_BACKTRACE) && defined(HAVE_CPLUS_DEMANGLE)
+#include <demangle.h>
+#endif
+
+#include "machine.h"
+#if defined(HAVE_GLIBC_BACKTRACE) && defined(__GNUC__)
+#define _GNU_SOURCE
+#endif
+
+#include "backtrace.h"
+
+
+/*-----------------------------------------------------------------------------
+ * Local type definitions
+ *-----------------------------------------------------------------------------*/
+
+/*
+ * BFT backtrace descriptor
+ */
+
+struct _sci_backtrace_t
+{
+
+    int size;               /* Total depth of backtrace */
+
+    char **s_file;          /* File names */
+    char **s_func;          /* Function names */
+    char **s_addr;          /* Addresses */
+
+};
+
+/* Associated typedef documentation (for backtrace.h) */
+
+/*============================================================================
+ * Public function definitions
+ *============================================================================*/
+
+/*
+ * Build a backtrace description structure.
+ *
+ * @return pointer to sci_backtrace_t backtrace descriptor (NULL in case of
+ *         error, or if backtracing is unavailable on this architecture).
+ */
+
+sci_backtrace_t *sci_backtrace_create(void)
+{
+#if defined(HAVE_GLIBC_BACKTRACE)
+
+    int i, j, l;
+
+    sci_backtrace_t *bt = NULL;
+
+    /* Create backtrace structure */
+
+    bt = malloc(sizeof(sci_backtrace_t));
+
+    if (bt != NULL)
+    {
+
+        void *tr_array[200];
+        int tr_size = backtrace(tr_array, 200);
+        char **tr_strings = backtrace_symbols(tr_array, tr_size);
+
+        /* Create arrays; we use malloc() here instead of BFT_MALLOC, as a
+         * backtrace is useful mainly in case of severe errors, so we avoid
+         * higher level constructs as much as possible at this stage. */
+
+        if (tr_size < 2 || tr_strings == NULL)
+        {
+            free(bt);
+            return NULL;
+        }
+
+        bt->size = tr_size - 1;
+
+        bt->s_file = malloc(tr_size * sizeof(char *));
+        bt->s_func = malloc(tr_size * sizeof(char *));
+        bt->s_addr = malloc(tr_size * sizeof(char *));
+
+        /* If allocation has failed, free other allocated arrays, and return NULL */
+
+        if (bt->s_file == NULL || bt->s_func == NULL || bt->s_addr == NULL)
+        {
+
+            if (bt->s_file != NULL)
+            {
+                free(bt->s_file);
+            }
+            if (bt->s_func != NULL)
+            {
+                free(bt->s_func);
+            }
+            if (bt->s_addr != NULL)
+            {
+                free(bt->s_addr);
+            }
+
+            free(bt);
+            return NULL;
+
+        }
+
+        for (i = 0; i < bt->size; i++)
+        {
+            bt->s_file[i] = NULL;
+            bt->s_func[i] = NULL;
+            bt->s_addr[i] = NULL;
+        }
+
+        /* Now parse backtrace strings and build arrays */
+
+        for (i = 0; i < bt->size; i++)
+        {
+
+            char *s = tr_strings[i + 1];    /* Shift by 1 to ignore current function */
+
+            const char *s_addr = NULL;
+            const char *s_func = NULL;
+            const char *s_file = NULL;
+
+            for (l = 0; s[l] != '\0'; l++) ;
+
+            /* Remove brackets around adress */
+            for (j = l; j > 0 && s[j] != ']'; j--) ;
+            if (s[j] == ']')
+            {
+                s[j] = '\0';
+                l = j;
+                for (j = l - 1; j > 0 && s[j] != '['; j--) ;
+                if (s[j] == '[')
+                {
+                    s_addr = s + j + 1;
+                    bt->s_addr[i] = malloc((strlen(s_addr) + 1) * sizeof(char));
+                    if (bt->s_addr[i] != NULL)
+                    {
+                        strcpy(bt->s_addr[i], s_addr);
+                    }
+                }
+            }
+            if (j == 0)
+            {
+                continue;
+            }
+
+            /* Find function name and position (in parentheses) */
+            while (j > 0 && s[j] != ')')
+                j--;
+            if (s[j] == ')')
+            {
+                s[j] = '\0';
+                while (j > 0 && s[j] != '(')
+                {
+                    j--;
+                }
+                if (j > 0 && s[j] == '(')
+                {
+                    s_func = s + j + 1;
+                    while (j > 0 && (s[j] == '(' || s[j] == ' '))
+                    {
+                        s[j--] = '\0';
+                    }
+                    bt->s_func[i] = malloc((strlen(s_func) + 1) * sizeof(char));
+                    if (bt->s_func[i] != NULL)
+                    {
+                        strcpy(bt->s_func[i], s_func);
+                    }
+                }
+            }
+            if (j == 0)
+            {
+                continue;
+            }
+
+            /* Find executable or library name */
+
+            if (s_func == NULL)
+            {               /* With no function name found */
+                for (j = 0; j < l && s[j] != ' '; j++) ;
+                if (s[j] == ' ')
+                {
+                    s[j] = '\0';
+                }
+            }
+
+            while (j > 0 && s[j] != '/')
+            {
+                j--;
+            }
+            if (j < l)
+            {
+                s_file = s + j + 1;
+                bt->s_file[i] = malloc((strlen(s_file) + 1) * sizeof(char));
+                if (bt->s_file[i] != NULL)
+                {
+                    strcpy(bt->s_file[i], s_file);
+                }
+            }
+
+        }
+
+        /* Free temporary memory
+         * (only main pointer needs to be freed according to glibc documentation) */
+
+        free((void *)tr_strings);
+
+    }
+
+    return bt;
+
+#else /* defined(HAVE_GLIBC_BACKTRACE) */
+    return NULL;
+#endif
+}
+
+/*
+ * Free a backtrace description structure.
+ *
+ * @param [in, out] bt pointer to backtrace description structure.
+ * @return NULL pointer.
+ */
+
+sci_backtrace_t *sci_backtrace_destroy(sci_backtrace_t * bt)
+{
+    int i;
+
+    if (bt != NULL)
+    {
+
+        for (i = 0; i < bt->size; i++)
+        {
+
+            if (bt->s_file[i] != NULL)
+            {
+                free(bt->s_file[i]);
+            }
+            if (bt->s_func[i] != NULL)
+            {
+                free(bt->s_func[i]);
+            }
+            if (bt->s_addr[i] != NULL)
+            {
+                free(bt->s_addr[i]);
+            }
+
+        }
+
+        if (bt->s_file != NULL)
+        {
+            free(bt->s_file);
+        }
+        if (bt->s_func != NULL)
+        {
+            free(bt->s_func);
+        }
+        if (bt->s_addr != NULL)
+        {
+            free(bt->s_addr);
+        }
+
+        free(bt);
+
+    }
+
+    return NULL;
+}
+
+/*
+ * Demangle a backtrace description structure (for C++).
+ *
+ * @param [in, out] bt pointer to backtrace description structure.
+ */
+
+void sci_backtrace_demangle(sci_backtrace_t * bt)
+{
+#if defined(HAVE_GLIBC_BACKTRACE) && defined(HAVE_CPLUS_DEMANGLE)
+
+    int i, j, l;
+
+    if (bt != NULL)
+    {
+
+        for (i = 0; i < bt->size; i++)
+        {
+
+            char *s_cplus_func_p = NULL;
+            char *s_cplus_func = NULL;
+            int l2 = 0;
+
+            if (bt->s_func[i] == NULL)
+            {
+                continue;
+            }
+
+            for (j = 0; bt->s_func[i][j] != '\0' && bt->s_func[i][j] != '+'; j++) ;
+
+            if (bt->s_func[i][j] == '+')
+            {
+                l2 = strlen(bt->s_func[i] + j);
+                bt->s_func[i][j] = '\0';
+            }
+
+            s_cplus_func_p = cplus_demangle(bt->s_func[i], auto_demangling);
+            printf("%s ; %s\n", bt->s_func[i], s_cplus_func_p);
+
+            if (s_cplus_func_p == NULL)
+            {
+                continue;
+            }
+
+            l = strlen(s_cplus_func_p);
+
+            if (l == 0)
+            {
+                continue;
+            }
+
+            s_cplus_func = malloc(l + l2 + 1);
+
+            if (s_cplus_func != NULL)
+            {
+                strncpy(s_cplus_func, s_cplus_func_p, l + 1);
+                if (l2 > 0)
+                {
+                    bt->s_func[i][j] = '+';
+                    strcpy(s_cplus_func + l, bt->s_func[i] + j);
+                }
+                s_cplus_func[l + l2] = '\0';
+                free(bt->s_func[i]);
+                bt->s_func[i] = s_cplus_func;
+
+            }
+
+        }
+
+    }
+
+#endif /* defined(HAVE_GLIBC_BACKTRACE) && defined(HAVE_CPLUS_DEMANGLE) */
+}
+
+/*
+ * Return the depth of a backtrace.
+ *
+ * @param [in] bt pointer to backtrace description structure.
+ * @return backtrace depth.
+ */
+
+int sci_backtrace_size(const sci_backtrace_t * bt)
+{
+    return bt->size;
+}
+
+/*
+ * Return file name associated with a backtrace at a given depth.
+ *
+ * @param [in] bt pointer to backtrace description structure.
+ * @param [in] depth index in backtrace structure (< sci_backtrace_size(bt)).
+ * @return file name at the given depth, or NULL.
+ */
+
+const char *sci_backtrace_file(sci_backtrace_t * bt, int depth)
+{
+    const char *retval = NULL;
+
+    if (bt != NULL)
+    {
+        if (depth < bt->size)
+        {
+            retval = bt->s_file[depth];
+        }
+    }
+
+    return retval;
+}
+
+/*
+ * Return function name associated with a backtrace at a given depth.
+ *
+ * @param [in] bt pointer to backtrace description structure.
+ * @param [in] depth index in backtrace structure (< sci_backtrace_size(bt)).
+ * @return function name at the given depth, or NULL.
+ */
+
+const char *sci_backtrace_function(sci_backtrace_t * bt, int depth)
+{
+    const char *retval = NULL;
+
+    if (bt != NULL)
+    {
+        if (depth < bt->size)
+        {
+            retval = bt->s_func[depth];
+        }
+    }
+
+    return retval;
+}
+
+/*
+ * Return address associated with a backtrace at a given depth.
+ *
+ * @param [in] bt pointer to backtrace description structure.
+ * @param [in] depth index in backtrace structure (< sci_backtrace_size(bt)).
+ * @return  address at the given depth, or NULL.
+ */
+
+const char *sci_backtrace_address(sci_backtrace_t * bt, int depth)
+{
+    const char *retval = NULL;
+
+    if (bt != NULL)
+    {
+        if (depth < bt->size)
+        {
+            retval = bt->s_addr[depth];
+        }
+    }
+
+    return retval;
+}
diff --git a/scilab/modules/core/src/c/backtrace.h b/scilab/modules/core/src/c/backtrace.h
new file mode 100644 (file)
index 0000000..2c1d58b
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+  Copyright (C) 2006  EDF - Code Saturne
+  Copyright (C) 2001 - DIGITEO - Sylvestre LEDRU. Adapted for Scilab
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 2.1 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with this library; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef __BACKTRACE_H__
+#define __BACKTRACE_H__
+
+#include <stdarg.h>
+
+/* BFT backtrace descriptor */
+
+typedef struct _sci_backtrace_t sci_backtrace_t;
+
+/* Pointers for backtrace print functions */
+
+typedef void (sci_backtrace_print_t) (int start_depth);
+
+/*============================================================================
+ * Public function prototypes
+ *============================================================================*/
+
+/*
+ * Build a backtrace description structure.
+ *
+ * @return pointer to sci_backtrace_t backtrace descriptor (NULL in case of
+ *   error, or if backtracing is unavailable on this architecture).
+ */
+
+sci_backtrace_t *sci_backtrace_create(void);
+
+/*
+ * Free a backtrace description structure.
+ *
+ * @param bt pointer to backtrace description structure.
+ * @return NULL pointer.
+ */
+
+sci_backtrace_t *sci_backtrace_destroy(sci_backtrace_t * bt);
+
+/*
+ * Demangle a backtrace description structure (for C++).
+ *
+ * @param bt pointer to backtrace description structure.
+ */
+
+void sci_backtrace_demangle(sci_backtrace_t * bt);
+
+/*
+ * Return the total depth of a backtrace.
+ *
+ * @param bt pointer to backtrace description structure.
+ * @return total backtrace depth.
+ */
+
+int sci_backtrace_size(const sci_backtrace_t * bt);
+
+/*
+ * Return file name associated with a backtrace at a given depth.
+ *
+ * @param bt pointer to backtrace description structure.
+ * @param depth index in backtrace structure (< sci_backtrace_size(bt)).
+ * @return file name at the given depth, or NULL.
+ */
+
+const char *sci_backtrace_file(sci_backtrace_t * bt, int depth);
+
+/*
+ * Return function name associated with a backtrace at a given depth.
+ *
+ * @param bt pointer to backtrace description structure.
+ * @param depth index in backtrace structure (< sci_backtrace_size(bt)).
+ * @return function name at the given depth, or NULL.
+ */
+
+const char *sci_backtrace_function(sci_backtrace_t * bt, int depth);
+
+/*
+ * Return address associated with a backtrace at a given depth.
+ *
+ * @param bt pointer to backtrace description structure.
+ * @param depth index in backtrace structure (< sci_backtrace_size(bt)).
+ * @return address at the given depth, or NULL.
+ */
+
+const char *sci_backtrace_address(sci_backtrace_t * bt, int depth);
+
+#endif /* __BACKTRACE_H__ */
index addd183..afff2d1 100644 (file)
@@ -27,7 +27,7 @@
 #include "localization.h"
 #include "Scierror.h"
 /*--------------------------------------------------------------------------*/
-static jmp_buf jmp_env;
+jmp_buf jmp_env;
 /*--------------------------------------------------------------------------*/
 static void sci_sigint_addinter(int n);
 /*--------------------------------------------------------------------------*/
@@ -135,7 +135,7 @@ int C2F(callinterf) (int *k)
             {
                 C2F(csignal)();
             }
-            Scierror(999,_("SIGSTP: aborting current computation\n"));
+            Scierror(999,_("Aborting current computation\n"));
             count = 0;
             return 0;
         }
diff --git a/scilab/modules/core/src/c/signal_mgmt.c b/scilab/modules/core/src/c/signal_mgmt.c
new file mode 100644 (file)
index 0000000..cd2973d
--- /dev/null
@@ -0,0 +1,528 @@
+/*
+  Copyright (C) 2006  EDF - Code Saturne
+  Copyright (C) 2001 - DIGITEO - Sylvestre LEDRU. Adapted for Scilab
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 2.1 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with this library; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <signal.h>
+#include <string.h>
+#include <libintl.h>
+#include <setjmp.h>
+#include <sys/types.h> /* getpid */
+#include <unistd.h> /* gethostname */
+
+#include "localization.h"
+#include "backtrace.h"
+#include "signal_mgmt.h"
+#include "machine.h"
+#include "Scierror.h"
+extern jmp_buf jmp_env;
+
+/*----------------------------------------------------------------------------
+ * Print a stack trace
+ *----------------------------------------------------------------------------*/
+
+static char *backtrace_print(int niv_debut)
+{
+    size_t ind;
+    sci_backtrace_t *tr = NULL;
+    char print_buffer[1024];
+
+    int size = sizeof(print_buffer);
+    char *tmp = print_buffer;
+    int ret;
+
+    tr = sci_backtrace_create();
+
+    if (tr != NULL)
+    {
+
+        char s_func_buf[67];
+
+        const char *s_file;
+        const char *s_func;
+        const char *s_addr;
+
+        const char s_unknown[] = "?";
+        const char s_vide[] = "";
+        const char *s_prefix = s_vide;
+
+        size_t nbr = sci_backtrace_size(tr);
+
+        if (nbr > 0)
+        {
+            ret = snprintf(tmp, size, _("\nCall stack:\n"));
+            size -= ret;
+            tmp += ret;
+
+        }
+
+        for (ind = niv_debut; ind < nbr; ind++)
+        {
+
+            s_file = sci_backtrace_file(tr, ind);
+            s_func = sci_backtrace_function(tr, ind);
+            s_addr = sci_backtrace_address(tr, ind);
+
+            if (s_file == NULL)
+            {
+                s_file = s_unknown;
+            }
+            if (s_func == NULL)
+            {
+                strcpy(s_func_buf, "?");
+            }
+            else
+            {
+                s_func_buf[0] = '<';
+                strncpy(s_func_buf + 1, s_func, 64);
+                strcat(s_func_buf, ">");
+            }
+
+            if (s_addr == NULL)
+            {
+                s_addr = s_unknown;
+            }
+
+            ret = snprintf(tmp, size, "%s%4lu: %-12s %-32s (%s)\n", s_prefix, ind - niv_debut + 1, s_addr, s_func_buf, s_file);
+            size -= ret;
+            tmp += ret;
+        }
+
+        sci_backtrace_destroy(tr);
+
+        if (nbr > 0)
+        {
+            ret = snprintf(tmp, size, _("End of stack\n\n"));
+            size -= ret;
+            tmp += ret;
+        }
+    }
+
+    return strdup(print_buffer);
+
+}
+
+/*----------------------------------------------------------------------------
+ * Handle a fatal signal (such as SIGFPE or SIGSEGV)
+ *----------------------------------------------------------------------------*/
+#define HOSTFORMAT "[%s:%05d] "
+static void sig_fatal(int signum, siginfo_t * info, void *p)
+{
+    char *si_code_str = "";
+    int ret, i;
+    char print_buffer[1024];
+    int size = sizeof(print_buffer);
+
+    char *tmp = print_buffer;
+    char stacktrace_hostname[64];
+
+    gethostname(stacktrace_hostname, sizeof(stacktrace_hostname));
+    stacktrace_hostname[sizeof(stacktrace_hostname) - 1] = '\0';
+    /* to keep these somewhat readable, only print the machine name */
+    for (i = 0; i < (int)sizeof(stacktrace_hostname); ++i)
+    {
+        if (stacktrace_hostname[i] == '.')
+        {
+            stacktrace_hostname[i] = '\0';
+            break;
+        }
+    }
+
+    fflush(stdout);
+    memset(print_buffer, 0, sizeof(print_buffer));
+
+
+    /* This list comes from OpenMPI sources */
+#ifdef HAVE_STRSIGNAL
+    ret = snprintf(tmp, size, HOSTFORMAT "Signal: %s (%d)\n", stacktrace_hostname, getpid(), strsignal(signum), signum);
+#else
+    ret = snprintf(tmp, size, HOSTFORMAT "Signal: %d\n", stacktrace_hostname, getpid(), signum);
+#endif
+
+    size -= ret;
+    tmp += ret;
+
+    if (NULL != info)
+    {
+        switch (signum)
+        {
+        case SIGILL:
+            switch (info->si_code)
+            {
+#ifdef ILL_ILLOPC
+            case ILL_ILLOPC:
+                si_code_str = "Illegal opcode";
+                break;
+#endif
+#ifdef ILL_ILLOPN
+            case ILL_ILLOPN:
+                si_code_str = "Illegal operand";
+                break;
+#endif
+#ifdef ILL_ILLADR
+            case ILL_ILLADR:
+                si_code_str = "Illegal addressing mode";
+                break;
+#endif
+#ifdef ILL_ILLTRP
+            case ILL_ILLTRP:
+                si_code_str = "Illegal trap";
+                break;
+#endif
+#ifdef ILL_PRVOPC
+            case ILL_PRVOPC:
+                si_code_str = "Privileged opcode";
+                break;
+#endif
+#ifdef ILL_PRVREG
+            case ILL_PRVREG:
+                si_code_str = "Privileged register";
+                break;
+#endif
+#ifdef ILL_COPROC
+            case ILL_COPROC:
+                si_code_str = "Coprocessor error";
+                break;
+#endif
+#ifdef ILL_BADSTK
+            case ILL_BADSTK:
+                si_code_str = "Internal stack error";
+                break;
+#endif
+            }
+            break;
+        case SIGFPE:
+            switch (info->si_code)
+            {
+#ifdef FPE_INTDIV
+            case FPE_INTDIV:
+                si_code_str = "Integer divide-by-zero";
+                break;
+#endif
+#ifdef FPE_INTOVF
+            case FPE_INTOVF:
+                si_code_str = "Integer overflow";
+                break;
+#endif
+            case FPE_FLTDIV:
+                si_code_str = "Floating point divide-by-zero";
+                break;
+            case FPE_FLTOVF:
+                si_code_str = "Floating point overflow";
+                break;
+            case FPE_FLTUND:
+                si_code_str = "Floating point underflow";
+                break;
+#ifdef FPE_FLTRES
+            case FPE_FLTRES:
+                si_code_str = "Floating point inexact result";
+                break;
+#endif
+#ifdef FBE_FLTINV
+            case FPE_FLTINV:
+                si_code_str = "Invalid floating point operation";
+                break;
+#endif
+#ifdef FPE_FLTSUB
+            case FPE_FLTSUB:
+                si_code_str = "Subscript out of range";
+                break;
+#endif
+            }
+            break;
+        case SIGSEGV:
+            switch (info->si_code)
+            {
+#ifdef SEGV_MAPERR
+            case SEGV_MAPERR:
+                si_code_str = "Address not mapped";
+                break;
+#endif
+#ifdef SEGV_ACCERR
+            case SEGV_ACCERR:
+                si_code_str = "Invalid permissions";
+                break;
+#endif
+            }
+            break;
+        case SIGBUS:
+            switch (info->si_code)
+            {
+#ifdef BUS_ADRALN
+            case BUS_ADRALN:
+                si_code_str = "Invalid address alignment";
+                break;
+#endif
+#ifdef BUSADRERR
+            case BUS_ADRERR:
+                si_code_str = "Non-existent physical address";
+                break;
+#endif
+#ifdef BUS_OBJERR
+            case BUS_OBJERR:
+                si_code_str = "Objet-specific hardware error";
+                break;
+#endif
+            }
+            break;
+        case SIGTRAP:
+            switch (info->si_code)
+            {
+#ifdef TRAP_BRKPT
+            case TRAP_BRKPT:
+                si_code_str = "Process breakpoint";
+                break;
+#endif
+#ifdef TRAP_TRACE
+            case TRAP_TRACE:
+                si_code_str = "Process trace trap";
+                break;
+#endif
+            }
+            break;
+        case SIGCHLD:
+            switch (info->si_code)
+            {
+#ifdef CLD_EXITED
+            case CLD_EXITED:
+                si_code_str = "Child has exited";
+                break;
+#endif
+#ifdef CLD_KILLED
+            case CLD_KILLED:
+                si_code_str = "Child has terminated abnormally and did not create a core file";
+                break;
+#endif
+#ifdef CLD_DUMPED
+            case CLD_DUMPED:
+                si_code_str = "Child has terminated abnormally and created a core file";
+                break;
+#endif
+#ifdef CLD_WTRAPPED
+            case CLD_TRAPPED:
+                si_code_str = "Traced child has trapped";
+                break;
+#endif
+#ifdef CLD_STOPPED
+            case CLD_STOPPED:
+                si_code_str = "Child has stopped";
+                break;
+#endif
+#ifdef CLD_CONTINUED
+            case CLD_CONTINUED:
+                si_code_str = "Stopped child has continued";
+                break;
+#endif
+            }
+            break;
+#ifdef SIGPOLL
+        case SIGPOLL:
+            switch (info->si_code)
+            {
+#ifdef POLL_IN
+            case POLL_IN:
+                si_code_str = "Data input available";
+                break;
+#endif
+#ifdef POLL_OUT
+            case POLL_OUT:
+                si_code_str = "Output buffers available";
+                break;
+#endif
+#ifdef POLL_MSG
+            case POLL_MSG:
+                si_code_str = "Input message available";
+                break;
+#endif
+#ifdef POLL_ERR
+            case POLL_ERR:
+                si_code_str = "I/O error";
+                break;
+#endif
+#ifdef POLL_PRI
+            case POLL_PRI:
+                si_code_str = "High priority input available";
+                break;
+#endif
+#ifdef POLL_HUP
+            case POLL_HUP:
+                si_code_str = "Device disconnected";
+                break;
+#endif
+            }
+            break;
+#endif /* SIGPOLL */
+        default:
+            switch (info->si_code)
+            {
+#ifdef SI_ASYNCNL
+            case SI_ASYNCNL:
+                si_code_str = "SI_ASYNCNL";
+                break;
+#endif
+#ifdef SI_SIGIO
+            case SI_SIGIO:
+                si_code_str = "Queued SIGIO";
+                break;
+#endif
+#ifdef SI_ASYNCIO
+            case SI_ASYNCIO:
+                si_code_str = "Asynchronous I/O request completed";
+                break;
+#endif
+#ifdef SI_MESGQ
+            case SI_MESGQ:
+                si_code_str = "Message queue state changed";
+                break;
+#endif
+            case SI_TIMER:
+                si_code_str = "Timer expiration";
+                break;
+            case SI_QUEUE:
+                si_code_str = "Sigqueue() signal";
+                break;
+            case SI_USER:
+                si_code_str = "User function (kill, sigsend, abort, etc.)";
+                break;
+#ifdef SI_KERNEL
+            case SI_KERNEL:
+                si_code_str = "Kernel signal";
+                break;
+#endif
+#ifdef SI_UNDEFINED
+            case SI_UNDEFINED:
+                si_code_str = "Undefined code";
+                break;
+#endif
+            }
+        }
+
+        /* print signal errno information */
+        if (0 != info->si_errno)
+        {
+            ret = snprintf(tmp, size, HOSTFORMAT "Associated errno: %s (%d)\n",
+                           stacktrace_hostname, getpid(), strerror(info->si_errno), info->si_errno);
+            size -= ret;
+            tmp += ret;
+        }
+
+        ret = snprintf(tmp, size, HOSTFORMAT "Signal code: %s (%d)\n", stacktrace_hostname, getpid(), si_code_str, info->si_code);
+        size -= ret;
+        tmp += ret;
+
+        switch (signum)
+        {
+        case SIGILL:
+        case SIGFPE:
+        case SIGSEGV:
+        case SIGBUS:
+            {
+                ret = snprintf(tmp, size, HOSTFORMAT "Failing at address: %p\n", stacktrace_hostname, getpid(), info->si_addr);
+                size -= ret;
+                tmp += ret;
+                break;
+            }
+        case SIGCHLD:
+            {
+                ret = snprintf(tmp, size, HOSTFORMAT "Sending PID: %d, Sending UID: %d, Status: %d\n",
+                               stacktrace_hostname, getpid(), info->si_pid, info->si_uid, info->si_status);
+                size -= ret;
+                tmp += ret;
+                break;
+            }
+#ifdef SIGPOLL
+        case SIGPOLL:
+            {
+#ifdef HAVE_SIGINFO_T_SI_FD
+                ret = snprintf(tmp, size, HOSTFORMAT "Band event: %ld, File Descriptor : %d\n",
+                               stacktrace_hostname, getpid(), info->si_band, info->si_fd);
+#elif HAVE_SIGINFO_T_SI_BAND
+                ret = snprintf(tmp, size, HOSTFORMAT "Band event: %ld\n", stacktrace_hostname, getpid(), info->si_band);
+#else
+                ret = 0;
+#endif
+                size -= ret;
+                tmp += ret;
+                break;
+            }
+#endif
+        }
+    }
+    else
+    {
+        ret = snprintf(tmp, size, HOSTFORMAT "siginfo is NULL, additional information unavailable\n", stacktrace_hostname, getpid());
+        size -= ret;
+        tmp += ret;
+    }
+    Scierror(42, _("Oups. A fatal error has been detected by Scilab.\nYour instance will be probably crash soon.\nPlease report a bug on %s with the following\ninformation:\n%s %s\n"), PACKAGE_BUGREPORT, print_buffer,
+             backtrace_print(0));
+
+    longjmp(&jmp_env, 1);
+
+}
+
+void base_error_init(void)
+{
+    struct sigaction act;
+    int sig, j;
+
+    /* Signal handlers */
+
+    memset(&act, 0, sizeof(act));
+    act.sa_sigaction = sig_fatal;
+    act.sa_flags = SA_SIGINFO;
+#ifdef SA_ONESHOT
+    act.sa_flags |= SA_ONESHOT;
+#else
+    act.sa_flags |= SA_RESETHAND;
+#endif
+
+    int signals[] = {
+#ifdef SIGABRT
+        SIGABRT,
+#endif
+#ifdef SIGBUS
+        SIGBUS,
+#endif
+#ifdef SIGFPE
+        SIGFPE,
+#endif
+#ifdef SIGFPE2
+        SIGFPE,
+#endif
+#ifdef SIGILL
+        SIGILL,
+#endif
+#ifdef SIGSEGV
+        SIGSEGV,
+#endif
+#ifdef SIGPOLL
+        SIGPOLL,
+#endif
+        -1
+    };
+    for (j = 0; signals[j] != -1; ++j)
+    {
+        if (0 != sigaction(signals[j], &act, NULL))
+        {
+            fprintf(stderr,"Could not set handler for signal %d\n",signals[j]);
+        }
+    }
+}
diff --git a/scilab/modules/core/tests/unit_tests/segfault_mgmt.dia.ref b/scilab/modules/core/tests/unit_tests/segfault_mgmt.dia.ref
new file mode 100644 (file)
index 0000000..581c5c8
--- /dev/null
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- JVM NOT MANDATORY -->
+// <-- LINUX ONLY -->
+ilib_verbose(0);
+cd  TMPDIR;
+f1=["int ext1c(int *n, double *a_, double *b, double *c)"
+    "{"
+    "char *a;"
+    "strcpy(a,""plop"");"
+    "  return(0);}"];
+mputl(f1,"fun1.c");
+libname = ilib_for_link("ext1c", "fun1.c", [], "c", [], "loader.sce", "test");
+refname = "libtest" + getdynlibext();
+if refname <> libname then bugmes();quit;end
+exec('loader.sce');
+a=[1,2,3];b=[4,5,6];n=3;
+expression="call(''ext1c'',n,1,''i'',a,2,''d'',b,3,''d'',''out'',[1,3],4,''d'')"
+ expression  =
+ call('ext1c',n,1,'i',a,2,'d',b,3,'d','out',[1,3],4,'d')   
+if execstr(expression,'errcatch')==0 then bugmes();quit;end
+// if we are here, that means that the seg fault did not kill Scilab
+if lasterror()==[] then bugmes();quit;end
diff --git a/scilab/modules/core/tests/unit_tests/segfault_mgmt.tst b/scilab/modules/core/tests/unit_tests/segfault_mgmt.tst
new file mode 100644 (file)
index 0000000..70a4786
--- /dev/null
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- JVM NOT MANDATORY -->
+ilib_verbose(0);
+cd  TMPDIR;
+f1=["int ext1c(int *n, double *a_, double *b, double *c)"
+    "{"
+    "char *a;"
+    "strcpy(a,""plop"");"
+    "  return(0);}"];
+
+mputl(f1,"fun1.c");
+
+libname = ilib_for_link("ext1c", "fun1.c", [], "c", [], "loader.sce", "test");
+refname = "libtest" + getdynlibext();
+if refname <> libname then pause, end
+exec('loader.sce');
+
+a=[1,2,3];b=[4,5,6];n=3;
+expression="call(''ext1c'',n,1,''i'',a,2,''d'',b,3,''d'',''out'',[1,3],4,''d'')"
+if execstr(expression,'errcatch')==0 then pause,end
+// if we are here, that means that the seg fault did not kill Scilab
+if lasterror()==[] then pause,end
diff --git a/scilab/modules/core/tests/unit_tests/segfault_mgmt_2.dia.ref b/scilab/modules/core/tests/unit_tests/segfault_mgmt_2.dia.ref
new file mode 100644 (file)
index 0000000..40db903
--- /dev/null
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- JVM NOT MANDATORY -->
+// <-- LINUX ONLY -->
+ilib_verbose(0);
+cd  TMPDIR;
+f2=["int ext2c(int *n, double *a_, double *b, double *c)"
+    "{"
+    "volatile int x = 42;"
+    "volatile int y = 0;"
+    "x=x/y;"
+    "return(0);}"];
+mputl(f2,"fun2.c");
+libname = ilib_for_link("ext2c", "fun2.c", [], "c", [], "loader.sce", "test");
+refname = "libtest" + getdynlibext();
+if refname <> libname then bugmes();quit;end
+exec('loader.sce');
+a=[1,2,3];b=[4,5,6];n=3;
+expression="call(''ext2c'',n,1,''i'',a,2,''d'',b,3,''d'',''out'',[1,3],4,''d'')"
+ expression  =
+ call('ext2c',n,1,'i',a,2,'d',b,3,'d','out',[1,3],4,'d')   
+if execstr(expression,'errcatch')==0 then bugmes();quit;end
+// if we are here, that means that the seg fault did not kill Scilab
+if lasterror()==[] then bugmes();quit;end
diff --git a/scilab/modules/core/tests/unit_tests/segfault_mgmt_2.tst b/scilab/modules/core/tests/unit_tests/segfault_mgmt_2.tst
new file mode 100644 (file)
index 0000000..73592b2
--- /dev/null
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- JVM NOT MANDATORY -->
+ilib_verbose(0);
+cd  TMPDIR;
+f2=["int ext2c(int *n, double *a_, double *b, double *c)"
+    "{"
+    "volatile int x = 42;"
+    "volatile int y = 0;"
+    "x=x/y;"
+    "return(0);}"];
+
+mputl(f2,"fun2.c");
+
+libname = ilib_for_link("ext2c", "fun2.c", [], "c", [], "loader.sce", "test");
+refname = "libtest" + getdynlibext();
+if refname <> libname then pause, end
+exec('loader.sce');
+
+a=[1,2,3];b=[4,5,6];n=3;
+expression="call(''ext2c'',n,1,''i'',a,2,''d'',b,3,''d'',''out'',[1,3],4,''d'')"
+if execstr(expression,'errcatch')==0 then pause,end
+// if we are here, that means that the seg fault did not kill Scilab
+if lasterror()==[] then pause,end
diff --git a/scilab/modules/core/tests/unit_tests/segfault_mgmt_3.dia.ref b/scilab/modules/core/tests/unit_tests/segfault_mgmt_3.dia.ref
new file mode 100644 (file)
index 0000000..9f72966
--- /dev/null
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- JVM NOT MANDATORY -->
+// <-- LINUX ONLY -->
+ilib_verbose(0);
+cd  TMPDIR;
+f1=["typedef void(*FUNC)(void);"
+    "int ext1c(int *n, double *a_, double *b, double *c)"
+    "{"
+    "const static unsigned char insn[4] = { 0xff, 0xff, 0xff, 0xff };"
+    "FUNC function = (FUNC) insn;"
+    "function();"
+    "  return(0);}"];
+mputl(f1,"fun1.c");
+libname = ilib_for_link("ext1c", "fun1.c", [], "c", [], "loader.sce", "test");
+refname = "libtest" + getdynlibext();
+if refname <> libname then bugmes();quit;end
+exec('loader.sce');
+a=[1,2,3];b=[4,5,6];n=3;
+expression="call(''ext1c'',n,1,''i'',a,2,''d'',b,3,''d'',''out'',[1,3],4,''d'')"
+ expression  =
+ call('ext1c',n,1,'i',a,2,'d',b,3,'d','out',[1,3],4,'d')   
+if execstr(expression,'errcatch')==0 then bugmes();quit;end
+// if we are here, that means that the seg fault did not kill Scilab
+if lasterror()==[] then bugmes();quit;end
diff --git a/scilab/modules/core/tests/unit_tests/segfault_mgmt_3.tst b/scilab/modules/core/tests/unit_tests/segfault_mgmt_3.tst
new file mode 100644 (file)
index 0000000..c6ed8b5
--- /dev/null
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- JVM NOT MANDATORY -->
+ilib_verbose(0);
+cd  TMPDIR;
+f1=["typedef void(*FUNC)(void);"
+    "int ext1c(int *n, double *a_, double *b, double *c)"
+    "{"
+    "const static unsigned char insn[4] = { 0xff, 0xff, 0xff, 0xff };"
+    "FUNC function = (FUNC) insn;"
+    "function();"
+    "  return(0);}"];
+
+mputl(f1,"fun1.c");
+
+libname = ilib_for_link("ext1c", "fun1.c", [], "c", [], "loader.sce", "test");
+refname = "libtest" + getdynlibext();
+if refname <> libname then pause, end
+exec('loader.sce');
+
+a=[1,2,3];b=[4,5,6];n=3;
+expression="call(''ext1c'',n,1,''i'',a,2,''d'',b,3,''d'',''out'',[1,3],4,''d'')"
+if execstr(expression,'errcatch')==0 then pause,end
+// if we are here, that means that the seg fault did not kill Scilab
+if lasterror()==[] then pause,end
index d2ff9d5..d45eb34 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/data_structures
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index f4f2623..a8f5526 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/demo_tools
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index a2e921c..a252c71 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/development_tools
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 5d8fb6b..4075f48 100644 (file)
@@ -36,10 +36,10 @@ host_triplet = @host@
 subdir = modules/development_tools/src/fake
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 629185f..085cfc3 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/differential_equations
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index fd7c6df..e731cb9 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/double
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 3f9b563..7285928 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/dynamic_link
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 931fd81..afe8aa1 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/elementary_functions
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 0322789..4009741 100644 (file)
@@ -66,10 +66,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/fftw
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index e443c62..0c619c6 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(libscifileio_la_include_HEADERS) $(srcdir)/Makefile.am \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/fileio
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index bd70bf7..6c41fb1 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/functions
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index cb63128..6385f79 100644 (file)
@@ -64,10 +64,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/genetic_algorithms
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 17c3459..36a0257 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GUI_TRUE@am__append_2 = libscigraph.la 
 subdir = modules/graph
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 5ef0c29..d2f7a63 100644 (file)
@@ -69,10 +69,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_2 = java
 subdir = modules/graphic_export
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index c6bd237..ed04810 100644 (file)
@@ -69,10 +69,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_2 = java
 subdir = modules/graphics
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 6c7f926..323103d 100644 (file)
@@ -72,10 +72,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GUI_TRUE@am__append_2 = libscigui.la 
 subdir = modules/gui
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 773051c..add22b8 100644 (file)
@@ -69,10 +69,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_3 = java
 subdir = modules/hdf5
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 46edfd3..199e91f 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/helptools
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 634c99f..bcbb5f1 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GUI_TRUE@am__append_2 = libscihistory_browser.la 
 subdir = modules/history_browser
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 4b77305..850f947 100644 (file)
@@ -66,10 +66,10 @@ DIST_COMMON = $(libscihistory_manager_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_2 = java
 subdir = modules/history_manager
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index f2d3a44..2a16456 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/integer
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index ddd47a7..73d7a09 100644 (file)
@@ -65,10 +65,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/interpolation
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 2a8e00c..fe5587e 100644 (file)
@@ -65,10 +65,10 @@ DIST_COMMON = $(libsciintersci_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/intersci
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 66c0cc7..7219e2d 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/io
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index d519dc5..21b419e 100644 (file)
@@ -69,10 +69,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @JAVASCI_TRUE@@NEED_JAVA_TRUE@am__append_2 = java
 subdir = modules/javasci
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index b6e7100..5066efa 100644 (file)
@@ -71,10 +71,10 @@ DIST_COMMON = $(libscijvm_la_include_HEADERS) $(srcdir)/Makefile.am \
 @NEED_JAVA_TRUE@am__append_3 = java
 subdir = modules/jvm
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index e1863be..56ae652 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/linear_algebra
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index cc3d05c..efdef53 100644 (file)
@@ -73,10 +73,10 @@ DIST_COMMON = $(libscilocalization_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_5 = java
 subdir = modules/localization
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 22fb7b0..f3f6a28 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/m2sci
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 41a44b8..7e32712 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/maple2scilab
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index ff87475..5d69b9c 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/matio
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index b7bbafe..43baccb 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(libmex_la_include_HEADERS) $(srcdir)/Makefile.am \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/mexlib
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 47de085..3ca04fc 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/modules_manager
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index edf9328..441dc8a 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/optimization
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index de9e105..65a2805 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(libscioutput_stream_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/output_stream
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 4cf09a5..ad595e9 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/overloading
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 67e17d9..4642785 100644 (file)
@@ -67,10 +67,10 @@ DIST_COMMON = $(libsciparallel_la_include_HEADERS) \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/parallel
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 2ff78c5..021a7de 100644 (file)
@@ -67,10 +67,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/parameters
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 5d8f44c..3a72637 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/polynomials
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 8f5f2f9..0224f4f 100644 (file)
@@ -78,10 +78,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@@PVM_FALSE@am__append_2 = java
 subdir = modules/pvm
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 18c8094..e8a49f8 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/randlib
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 3a2933c..eebdcdf 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/renderer
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index fdaba4a..ee28a8f 100644 (file)
@@ -87,10 +87,10 @@ DIST_COMMON = $(am__libsciscicos_la_include_HEADERS_DIST) \
 @OCAML_TRUE@@XCOS_TRUE@am__append_2 = .ml .mli .mll .mly .cmo .cmi .cmx
 subdir = modules/scicos
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 823a48e..f46cfb4 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(am__libsciscicos_blocks_la_include_HEADERS_DIST) \
 @GIWS_TRUE@@XCOS_TRUE@am__append_2 = giws
 subdir = modules/scicos_blocks
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index ed984eb..23bfedd 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GUI_TRUE@am__append_2 = libsciscinotes.la 
 subdir = modules/scinotes
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 9f7afee..b07de70 100644 (file)
@@ -66,10 +66,10 @@ DIST_COMMON = $(libscishell_la_include_HEADERS) $(srcdir)/Makefile.am \
 @NEED_JAVA_TRUE@am__append_3 = java
 subdir = modules/shell
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index baaf3d1..650747f 100644 (file)
@@ -26,6 +26,7 @@
 #include "setgetlanguage.h"
 #include "LaunchScilabSignal.h"
 #include "setenvc.h"
+#include "signal_mgmt.h"
 
 #ifdef __APPLE__
 #include "initMacOSXEnv.h"
@@ -68,6 +69,9 @@ int main(int argc, char **argv)
 
   InitializeLaunchScilabSignal();
 
+/* Management of the signals (seg fault, floating point exception, etc) */
+  base_error_init();
+
 #if defined(netbsd) || defined(freebsd)
 /* floating point exceptions */
 fpsetmask(0);
index 8e40cd3..ba3ea5e 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/signal_processing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 755f790..bc3fe41 100644 (file)
@@ -64,10 +64,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/simulated_annealing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 8e04579..33cbaa1 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/sound
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index fcca6de..1a5b933 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/sparse
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index f817066..c414e74 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/special_functions
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 6fc7ae4..c8f474c 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/spreadsheet
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 240186f..233a8d9 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/statistics
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index ac70887..fc6837d 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/string
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 832b534..59cf2c0 100644 (file)
@@ -65,10 +65,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/symbolic
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index d65839e..9baebdf 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/tclsci
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 2d56318..4baddb6 100644 (file)
@@ -60,10 +60,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/texmacs
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 37d5ae7..777244f 100644 (file)
@@ -62,10 +62,10 @@ DIST_COMMON = $(libscitime_la_include_HEADERS) $(srcdir)/Makefile.am \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/time
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index fda03d2..f805bad 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GUI_TRUE@am__append_2 = libscitypes.la 
 subdir = modules/types
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index bdfcb5a..d02c4e0 100644 (file)
@@ -68,10 +68,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GUI_TRUE@am__append_2 = libsciui_data.la 
 subdir = modules/ui_data
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 1f97d08..4ae34ae 100644 (file)
@@ -67,10 +67,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_2 = java
 subdir = modules/umfpack
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 88e58e4..67b918c 100644 (file)
@@ -61,10 +61,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_1 = java
 subdir = modules/windows_tools
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
index 5e4bd0f..6f7d9ac 100644 (file)
@@ -69,10 +69,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @NEED_JAVA_TRUE@am__append_2 = java
 subdir = modules/xcos
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
-       $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
-       $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
-       $(top_srcdir)/m4/intel_compiler.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+       $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/fftw.m4 \
+       $(top_srcdir)/m4/fortran.m4 $(top_srcdir)/m4/giws.m4 \
+       $(top_srcdir)/m4/hdf5.m4 $(top_srcdir)/m4/intel_compiler.m4 \
        $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
        $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \