diff options
Diffstat (limited to 'emulators/wine/files/install-patch-3.3-sys-sigtrap')
| -rw-r--r-- | emulators/wine/files/install-patch-3.3-sys-sigtrap | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/emulators/wine/files/install-patch-3.3-sys-sigtrap b/emulators/wine/files/install-patch-3.3-sys-sigtrap new file mode 100644 index 000000000000..e3004884fd29 --- /dev/null +++ b/emulators/wine/files/install-patch-3.3-sys-sigtrap @@ -0,0 +1,30 @@ +Index: i386/i386/trap.c +=================================================================== +RCS file: /home/cvs/cvs/src/sys/i386/i386/trap.c,v +retrieving revision 1.133.2.1 +diff -u -u -r1.133.2.1 trap.c +--- trap.c 1999/08/29 16:05:56 1.133.2.1 ++++ trap.c 1999/09/10 14:42:21 +@@ -1041,6 +1084,7 @@ + int error; + int args[8]; + u_int code; ++ int tracedsyscall = ((frame.tf_eflags & PSL_T) && !(frame.tf_eflags & PSL_VM)); + + #ifdef DIAGNOSTIC + if (ISPL(frame.tf_cs) != SEL_UPL) +@@ -1135,10 +1179,12 @@ + break; + } + +- if ((frame.tf_eflags & PSL_T) && !(frame.tf_eflags & PSL_VM)) { ++ if (tracedsyscall) { + /* Traced syscall. */ + frame.tf_eflags &= ~PSL_T; +- trapsignal(p, SIGTRAP, 0); ++ /* tell the signal handler this is a trace trap */ ++ frame.tf_trapno = T_TRCTRAP; ++ trapsignal(p, SIGTRAP, T_TRCTRAP); + } + + userret(p, &frame, sticks); |
