aboutsummaryrefslogtreecommitdiff
path: root/gdb
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
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')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/config/sparc/tm-sun4sol2.h2
-rw-r--r--gdb/procfs.c23
3 files changed, 31 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 396ad2f..c04e247 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/config/sparc/tm-sun4sol2.h b/gdb/config/sparc/tm-sun4sol2.h
index 3c427b4..ebc83f6 100644
--- a/gdb/config/sparc/tm-sun4sol2.h
+++ b/gdb/config/sparc/tm-sun4sol2.h
@@ -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
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