re PR fortran/51197 (Backtrace information less useful)
authorTobias Burnus <burnus@net-b.de>
Tue, 10 Jan 2012 09:32:29 +0000 (10:32 +0100)
committerTobias Burnus <burnus@gcc.gnu.org>
Tue, 10 Jan 2012 09:32:29 +0000 (10:32 +0100)
2012-01-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51197
        * runtime/compile_options.c (show_signal): List
        more signals.

From-SVN: r183057

libgfortran/ChangeLog
libgfortran/runtime/compile_options.c

index c399dbe53caf3829a16a24c70a13275c9d90932d..e82d44282d2a33a28bb747d3eb3fd85fb3f5f588 100644 (file)
@@ -1,3 +1,9 @@
+2012-01-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/51197
+       * runtime/compile_options.c (show_signal): List
+       more signals.
+
 2012-01-09  Harald Anlauf  <anlauf@gmx.de>
            Tobias Burnus  <burnus@net-b.de>
 
index 8038f07cb3e9e9dd006ad513c5e344527ac2c5b7..0e657f73ba64a243373baf0ccfc2fa39b2b43777 100644 (file)
@@ -43,37 +43,72 @@ show_signal (int signum)
 
   switch (signum)
     {
-#if defined(SIGSEGV)
+#if defined(SIGQUIT)
+      case SIGQUIT:
+       name = "SIGQUIT";
+       desc = "Terminal quit signal";
+       break;
+#endif
+
+      /* The following 4 signals are defined by C89.  */
+      case SIGILL:
+       name = "SIGILL";
+       desc = "Illegal instruction";
+       break;
+
+      case SIGABRT:
+       name = "SIGABRT";
+       desc = "Process abort signal";
+       break;
+
+      case SIGFPE:
+       name = "SIGFPE";
+       desc = "Floating-point exception - erroneous arithmetic operation";
+       break;
+
       case SIGSEGV:
        name = "SIGSEGV";
-       desc = "Segmentation fault";
+       desc = "Segmentation fault - invalid memory reference";
        break;
-#endif
 
 #if defined(SIGBUS)
       case SIGBUS:
        name = "SIGBUS";
-       desc = "Bus error";
+       desc = "Access to an undefined portion of a memory object";
        break;
 #endif
 
-#if defined(SIGILL)
-      case SIGILL:
-       name = "SIGILL";
-       desc = "Illegal instruction";
+#if defined(SIGSYS)
+      case SIGSYS:
+       name = "SIGSYS";
+       desc = "Bad system call";
        break;
 #endif
 
-#if defined(SIGFPE)
-      case SIGFPE:
-       name = "SIGFPE";
-       desc = "Floating-point exception";
+#if defined(SIGTRAP)
+      case SIGTRAP:
+       name = "SIGTRAP";
+       desc = "Trace/breakpoint trap";
+       break;
+#endif
+
+#if defined(SIGXCPU)
+      case SIGXCPU:
+       name = "SIGXCPU";
+       desc = "CPU time limit exceeded";
+       break;
+#endif
+
+#if defined(SIGXFSZ)
+      case SIGXFSZ:
+       name = "SIGXFSZ";
+       desc = "File size limit exceeded";
        break;
 #endif
     }
 
   if (name)
-    st_printf ("\nProgram received signal %d (%s): %s.\n", signum, name, desc);
+    st_printf ("\nProgram received signal %s: %s.\n", name, desc);
   else
     st_printf ("\nProgram received signal %d.\n", signum);
 }