Update to new struct sigcontext after SA_SIGINFO changes

This commit is contained in:
Martin Cracauer 1999-07-06 07:15:11 +00:00
parent aff66c5455
commit 962b0b5c4a
4 changed files with 20 additions and 18 deletions

View File

@ -268,7 +268,8 @@ if (0)
/*
* STEP 3: Call the handler
*/
(*handlers[fd].func)(handlers[fd].arg, &sf->sf_sc);
(*handlers[fd].func)(handlers[fd].arg,
&sf->sf_siginfo.si_sc);
/*
* STEP 4: Just turn SIGIO off. No check.

View File

@ -29,7 +29,7 @@
*
* BSDI signal.c,v 2.2 1996/04/08 19:33:06 bostic Exp
*
* $Id: signal.c,v 1.1 1997/08/09 01:42:55 dyson Exp $
* $Id: signal.c,v 1.2 1998/02/28 16:02:24 jraynard Exp $
*/
#include "doscmd.h"
@ -66,9 +66,9 @@ sanity_check(struct sigframe *sf)
static void
generichandler(struct sigframe sf)
{
if (sf.sf_sc.sc_efl & PSL_VM) {
if (sf.sf_siginfo.si_sc.sc_efl & PSL_VM) {
saved_sigframe = &sf;
saved_regcontext = (regcontext_t *)&(sf.sf_sc);
saved_regcontext = (regcontext_t *)&(sf.sf_siginfo.si_sc);
saved_valid = 1;
if (handler[sf.sf_signum])
(*handler[sf.sf_signum])(&sf);

View File

@ -29,7 +29,7 @@
*
* BSDI trap.c,v 2.3 1996/04/08 19:33:08 bostic Exp
*
* $Id: trap.c,v 1.1 1997/08/09 01:42:58 dyson Exp $
* $Id: trap.c,v 1.2 1997/09/30 22:04:05 jlemon Exp $
*/
#include "doscmd.h"
@ -287,14 +287,14 @@ sigbus(struct sigframe *sf)
int intnum;
int port;
callback_t func;
regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc);
regcontext_t *REGS = (regcontext_t *)(&sf->sf_siginfo.si_sc);
if (!(R_EFLAGS && PSL_VM))
fatal("SIGBUS in the emulator\n");
if (sf->sf_code != 0) {
if (sf->sf_arg2 != 0) {
fatal("SIGBUS code %d, trapno: %d, err: %d\n",
sf->sf_code, sf->sf_sc.sc_trapno, sf->sf_sc.sc_err);
sf->sf_arg2, sf->sf_siginfo.si_sc.sc_trapno, sf->sf_siginfo.si_sc.sc_err);
}
addr = (u_char *)GETPTR(R_CS, R_IP);
@ -500,7 +500,7 @@ void
sigtrace(struct sigframe *sf)
{
int x;
regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc);
regcontext_t *REGS = (regcontext_t *)(&sf->sf_siginfo.si_sc);
if (R_EFLAGS & PSL_VM) {
debug(D_ALWAYS, "Currently in DOS\n");
@ -519,7 +519,7 @@ sigtrap(struct sigframe *sf)
{
int intnum;
int trapno;
regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc);
regcontext_t *REGS = (regcontext_t *)(&sf->sf_siginfo.si_sc);
if ((R_EFLAGS & PSL_VM) == 0) {
dump_regs(REGS);
@ -531,7 +531,7 @@ sigtrap(struct sigframe *sf)
goto doh;
#ifdef __FreeBSD__
trapno = sf->sf_code; /* XXX GROSTIC HACK ALERT */
trapno = sf->sf_arg2; /* XXX GROSTIC HACK ALERT */
#else
trapno = sc->sc_trapno;
#endif
@ -554,7 +554,7 @@ doh:
void
breakpoint(struct sigframe *sf)
{
regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc);
regcontext_t *REGS = (regcontext_t *)(&sf->sf_siginfo.si_sc);
if (R_EFLAGS & PSL_VM)
printf("doscmd ");
@ -572,7 +572,7 @@ breakpoint(struct sigframe *sf)
void
sigalrm(struct sigframe *sf)
{
regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc);
regcontext_t *REGS = (regcontext_t *)(&sf->sf_siginfo.si_sc);
if (tmode)
resettrace(REGS);
@ -590,7 +590,7 @@ sigalrm(struct sigframe *sf)
void
sigill(struct sigframe *sf)
{
regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc);
regcontext_t *REGS = (regcontext_t *)(&sf->sf_siginfo.si_sc);
fprintf(stderr, "Signal %d from DOS program\n", sf->sf_signum);
dump_regs(REGS);
@ -601,7 +601,7 @@ sigill(struct sigframe *sf)
void
sigfpe(struct sigframe *sf)
{
regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc);
regcontext_t *REGS = (regcontext_t *)(&sf->sf_siginfo.si_sc);
if (R_EFLAGS & PSL_VM) {
dump_regs(REGS);

View File

@ -29,7 +29,7 @@
*
* BSDI tty.c,v 2.4 1996/04/08 22:03:27 prb Exp
*
* $Id: tty.c,v 1.3 1998/01/21 21:37:02 jlemon Exp $
* $Id: tty.c,v 1.4 1998/02/22 23:36:54 msmith Exp $
*/
#ifndef NO_X
@ -962,7 +962,7 @@ printf("FORCED REDRAW\n");
case 0x14: /* T */
tmode ^= 1;
if (!tmode)
resettrace(&saved_sigframe->sf_sc);
resettrace(&saved_sigframe->sf_siginfo.si_sc);
return(0xffff);
case 0x53: /* DEL */
quit(0);
@ -1455,7 +1455,8 @@ video_event(XEvent *ev)
if (ks == 'T' || ks == 't') {
tmode ^= 1;
if (!tmode)
resettrace(&saved_sigframe->sf_sc);
resettrace(&saved_sigframe->
sf_siginfo.si_sc);
break;
}
if (ks == 'R' || ks == 'r') {