]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Clear the single-step flag for signal handlers. This fixes bogus trace
authorbde <bde@FreeBSD.org>
Thu, 10 Jan 2002 11:49:55 +0000 (11:49 +0000)
committerbde <bde@FreeBSD.org>
Thu, 10 Jan 2002 11:49:55 +0000 (11:49 +0000)
commit4bc93bce9562a8b9fef41567055aa1f18006ced3
tree7871d96b3c7a4dfee1d7378681c22b9b12eb2708
parentf267ba5cc73797843de3904ea9c79682ad9674ad
Clear the single-step flag for signal handlers.  This fixes bogus trace
traps on the first instruction of signal handlers.

In trap.c:syscall(), fake a trace trap if the single-step flag was set
on entry to the kernel, not if it will be set on exit from the kernel.
This fixes bogus trace traps after the last instruction of signal handlers.

gdb-4.18 (the version in FreeBSD) still has problems with the program in
the PR.  These seem to be due to bugs in gdb and not in FreeBSD, and are
fixed in gdb-5.1 (the distribution version).

PR: 33262
Tested by: k Macy <kip_macy@yahoo.com>
MFC after: 1 day
sys/amd64/amd64/machdep.c
sys/amd64/amd64/trap.c
sys/i386/i386/machdep.c
sys/i386/i386/trap.c
sys/i386/linux/linux_sysvec.c
sys/i386/svr4/svr4_machdep.c
sys/pc98/i386/machdep.c
sys/pc98/pc98/machdep.c