Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Sep 1999 14:33:57 -0400 (EDT)
From:      Luoqi Chen <luoqi@watermarkgroup.com>
To:        marcus@jet.franken.de, nox@jelal.kn-bremen.de
Cc:        FreeBSD-emulation@FreeBSD.ORG, wine-devel@winehq.com
Subject:   Re: debugger, stepi, c(ontinue) from breakpoint...
Message-ID:  <199909081833.OAA12069@lor.watermarkgroup.com>

next in thread | raw e-mail | index | archive | help
>  
> -	if ((frame.tf_eflags & PSL_T) && !(frame.tf_eflags & PSL_VM)) {
> +	if ((frame.tf_eflags & PSL_T) && !(frame.tf_eflags & PSL_VM) &&
> +	    *callp->sy_call != sigreturn && *callp->sy_call != linux_sigreturn) {
>  		/* Traced syscall. */
>  		frame.tf_eflags &= ~PSL_T;
> +		/* tell the signal handler this is a trace trap */
> +		frame.tf_trapno = T_TRCTRAP;
>  		trapsignal(p, SIGTRAP, 0);
>  	}
>  
>  (so wine must be the first program that handles SIGTAP for itself and
> sets the trace bit from a signal handler? :)  I Cc'd this to -emulation,
> are any committers reading or should i also send-pr it?)
> 
It seems to me that SIGTRAP is signalled for either a breakpoint or the
TF bit in eflags, so it is probably safe to assume it's a single step
unless the trapno is T_BPTTRAP.

-lq


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-emulation" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909081833.OAA12069>