Fix ctrl-c when debugging WOW64 processes
authorHannes Domani <ssbssa@yahoo.de>
Thu, 17 Sep 2020 17:10:16 +0000 (19:10 +0200)
committerHannes Domani <ssbssa@yahoo.de>
Thu, 17 Sep 2020 20:17:01 +0000 (22:17 +0200)
commit0363df3db7d3f5edd3a349ab7720eca83f460545
tree89f6088ae55e7ebe92b245499de33f3cf4fd6543
parent280a9412e483c0e4d253a338477a602cffba058c
Fix ctrl-c when debugging WOW64 processes

DebugBreakProcess starts a new thread in the target process with the
entry point DbgUiRemoteBreakin, where an int3 triggers a breakpoint
exception for gdb.

But this uses DbgUiRemoteBreakin of the 64bit ntdll.dll even for
WOW64 processes.
It stops in 64bit code, Wow64GetThreadContext reports a wrong pc without
the int3, and gdb lets the target process continue.

So this uses DbgUiRemoteBreakin of the 32bit ntdll.dll as the thread
entry point for WOW64 processes instead.

gdb/ChangeLog:

2020-09-17  Hannes Domani  <ssbssa@yahoo.de>

* windows-nat.c (ctrl_c_handler): Use 32bit DbgUiRemoteBreakin
for WOW64 processes.
gdb/ChangeLog
gdb/windows-nat.c