diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-05-03 15:13:26 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-05-03 15:13:26 +0000 |
commit | 3f5e2fb58f4892212ca36f2f573f7f6987089eb1 (patch) | |
tree | d54476bd77d83046e02fa2efdb994e55b2ccd727 /gdb | |
parent | dd270b5ce5417d7c4d206992ad4131f699b033af (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/config/sparc/tm-sun4sol2.h | 2 | ||||
-rw-r--r-- | gdb/procfs.c | 23 |
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 |