diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-01-10 10:32:29 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-01-10 10:32:29 +0100 |
commit | 59c615478de5b0f61ee750b8e0d21b5219407aba (patch) | |
tree | 550bc7bc9b4570e704884fbcbc582171d7640372 | |
parent | fa8df9de515273951daae9534b72b6139efe539c (diff) | |
download | gcc-59c615478de5b0f61ee750b8e0d21b5219407aba.zip gcc-59c615478de5b0f61ee750b8e0d21b5219407aba.tar.gz gcc-59c615478de5b0f61ee750b8e0d21b5219407aba.tar.bz2 |
re PR fortran/51197 (Backtrace information less useful)
2012-01-10 Tobias Burnus <burnus@net-b.de>
PR fortran/51197
* runtime/compile_options.c (show_signal): List
more signals.
From-SVN: r183057
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/runtime/compile_options.c | 61 |
2 files changed, 54 insertions, 13 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c399dbe..e82d442 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -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> diff --git a/libgfortran/runtime/compile_options.c b/libgfortran/runtime/compile_options.c index 8038f07..0e657f7 100644 --- a/libgfortran/runtime/compile_options.c +++ b/libgfortran/runtime/compile_options.c @@ -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); } |