* procfs.c (procfs_wait): Reinstate code which deduces the signal
authorJim Kingdon <jkingdon@engr.sgi.com>
Tue, 3 May 1994 15:13:26 +0000 (15:13 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Tue, 3 May 1994 15:13:26 +0000 (15:13 +0000)
from the fault, #ifndef FAULTED_USE_SIGINFO.
* config/sparc/tm-sun4sol2.h: Define FAULTED_USE_SIGINFO.

gdb/ChangeLog
gdb/config/sparc/tm-sun4sol2.h
gdb/procfs.c

index 396ad2fb6f21d5ca82b393285b4a35bd7c1e7e17..c04e2472267ce934fe72ba6d65dee77267397e28 100644 (file)
@@ -1,3 +1,9 @@
+Tue May  3 07:41:33 1994  Jim Kingdon  (kingdon@cygnus.com)
+
+       * procfs.c (procfs_wait): Reinstate code which deduces the signal
+       from the fault, #ifndef FAULTED_USE_SIGINFO.
+       * config/sparc/tm-sun4sol2.h: Define FAULTED_USE_SIGINFO.
+
 Fri Apr 29 18:15:04 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
        * breakpoint.c (breakpoint_1): Annotate each field of the headers.
index 3c427b4304dd6164223d7337cc756daf2e77cb56..ebc83f6d3f32a794a3834143a819d45a0be53e54 100644 (file)
@@ -62,3 +62,5 @@ get_longjmp_target PARAMS ((CORE_ADDR *));
 
 /* The SunPRO compiler puts out 0 instead of the address in an N_SO symbol.  */
 #define N_SO_ADDRESS_MAYBE_MISSING
+
+#define FAULTED_USE_SIGINFO
index 1a23a9b502d6c7aeb08a85342ffc36e52d0f57e8..48a6e1246fb4147032e29456ad72b024f230822b 100644 (file)
@@ -2325,6 +2325,29 @@ wait_again:
              statval = (SIGTRAP << 8) | 0177;
              break;
 #endif
+#ifndef FAULTED_USE_SIGINFO
+             /* Irix, contrary to the documentation, fills in 0 for si_signo.
+                Solaris fills in si_signo.  I'm not sure about others.  */
+           case FLTPRIV:
+           case FLTILL:
+             statval = (SIGILL << 8) | 0177;
+             break;
+           case FLTBPT:
+           case FLTTRACE:
+             statval = (SIGTRAP << 8) | 0177;
+             break;          
+           case FLTSTACK:
+           case FLTACCESS:
+           case FLTBOUNDS:
+             statval = (SIGSEGV << 8) | 0177;
+             break;
+           case FLTIOVF:
+           case FLTIZDIV:
+           case FLTFPE:
+             statval = (SIGFPE << 8) | 0177;
+             break;
+           case FLTPAGE:               /* Recoverable page fault */
+#endif /* not FAULTED_USE_SIGINFO */
            default:
              /* Use the signal which the kernel assigns.  This is better than
                 trying to second-guess it from the fault.  In fact, I suspect