* config/m88k/{tm-delta88.h,tm-delta88v4.h}, m88k-tdep.c:

Define IN_SIGTRAMP and backtrace correctly through signal handlers.
This commit is contained in:
Jim Kingdon 1994-02-01 22:17:29 +00:00
parent 8afd05c039
commit 7bec77b47d
4 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Tue Feb 1 17:13:32 1994 Kevin Buettner (kev@cujo.geg.mot.com)
* config/m88k/{tm-delta88.h,tm-delta88v4.h}, m88k-tdep.c:
Define IN_SIGTRAMP and backtrace correctly through signal handlers.
Tue Feb 1 22:13:25 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* procfs.c (wait_fd): Handle EINTR error return from PIOCWSTOP ioctl

View File

@ -20,3 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "m88k/tm-m88k.h"
#define DELTA88
#define IN_SIGTRAMP(pc, name) ((name) && STREQ ("_sigcode", (name)))
#define SIGTRAMP_FRAME_FIXUP(frame) (frame) += 0x20
#define SIGTRAMP_SP_FIXUP(sp) (sp) = read_memory_integer((sp), 4)

View File

@ -24,3 +24,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* If we don't define this, backtraces go on forever. */
#define FRAME_CHAIN_VALID_ALTERNATE 1
#define IN_SIGTRAMP(pc, name) ((name) && (STREQ ("signalhandler", (name)) \
|| STREQ("sigacthandler", (name))))
#define SIGTRAMP_SP_FIXUP(sp) (sp) = read_memory_integer((sp)+0xcd8, 4)

View File

@ -480,7 +480,15 @@ frame_find_saved_regs (fi, fsr)
limit = (sal.end && sal.end < fi->pc) ? sal.end: fi->pc;
/* This will fill in fields in *fi as well as in cache_fsr. */
#ifdef SIGTRAMP_FRAME_FIXUP
if (fi->signal_handler_caller)
SIGTRAMP_FRAME_FIXUP(fi->frame);
#endif
examine_prologue (ip, limit, fi->frame, cache_fsr, fi);
#ifdef SIGTRAMP_SP_FIXUP
if (fi->signal_handler_caller && fi->fsr->regs[SP_REGNUM])
SIGTRAMP_SP_FIXUP(fi->fsr->regs[SP_REGNUM]);
#endif
}
if (fsr)