From 3f5e2fb58f4892212ca36f2f573f7f6987089eb1 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Tue, 3 May 1994 15:13:26 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 6 ++++++ gdb/config/sparc/tm-sun4sol2.h | 2 ++ gdb/procfs.c | 23 +++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 396ad2fb6f2..c04e2472267 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 3c427b4304d..ebc83f6d3f3 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 1a23a9b502d..48a6e1246fb 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 -- 2.30.2