ntdll: Fix SIGTRAP handling

Alexandre Julliard julliard at winehq.org
Mon Mar 27 07:22:49 CST 2006

Petr Tesarik <hat at tesarici.cz> writes:

> 2. The x86 spec states that a single-step interrupt (INT 1) is
>    generated if the TF bit was set when the execution of the
>    instruction BEGAN.  This means that if the instruction changes the
>    TF bit (e.g. popf), there is an INT 1, but the TF bit is not set
>    any more.  The only way to check whether the interrupt was
>    generated because of the TF bit, is to check bit 15 in DR6.

I don't see why you can't still check the TF bit, it will be set 99%
of the time, and fetching the DR6 register is quite expensive.

> The following patch fixes all of these issues.

I'd really like to see test cases showing that Windows does things
this way.

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list