aboutsummaryrefslogtreecommitdiff
path: root/gdb/procfs.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-05-03 15:13:26 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-05-03 15:13:26 +0000
commit3f5e2fb58f4892212ca36f2f573f7f6987089eb1 (patch)
treed54476bd77d83046e02fa2efdb994e55b2ccd727 /gdb/procfs.c
parentdd270b5ce5417d7c4d206992ad4131f699b033af (diff)
downloadgdb-3f5e2fb58f4892212ca36f2f573f7f6987089eb1.zip
gdb-3f5e2fb58f4892212ca36f2f573f7f6987089eb1.tar.gz
gdb-3f5e2fb58f4892212ca36f2f573f7f6987089eb1.tar.bz2
* 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.
Diffstat (limited to 'gdb/procfs.c')
-rw-r--r--gdb/procfs.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 1a23a9b..48a6e12 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -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