aboutsummaryrefslogtreecommitdiff
path: root/gdb/windows-nat.c
diff options
context:
space:
mode:
authorHannes Domani <ssbssa@yahoo.de>2020-09-23 18:16:24 +0200
committerHannes Domani <ssbssa@yahoo.de>2020-09-24 19:01:22 +0200
commit99bb393f1d107cf2c4016c486f85625d362027a7 (patch)
tree4f39cc9663e5066636eca71bdefffca999bda68b /gdb/windows-nat.c
parent6eee0315f6767ba932f19513af1ff432e5071bea (diff)
downloadfsf-binutils-gdb-99bb393f1d107cf2c4016c486f85625d362027a7.zip
fsf-binutils-gdb-99bb393f1d107cf2c4016c486f85625d362027a7.tar.gz
fsf-binutils-gdb-99bb393f1d107cf2c4016c486f85625d362027a7.tar.bz2
Handle 64bit breakpoints of WOW64 processes as SIGINT
When a WOW64 process triggers a breakpoint exception in 64bit code (which happens when a 64bit gdb calls DebugBreakProcess for a 32bit target), gdb ignores the breakpoint (because Wow64GetThreadContext can only report the pc of 32bit code, and there is not int3 at this location). But if these 64bit breakpoint exceptions are handled as SIGINT, gdb doesn't check for int3, and always stops the target. gdb/ChangeLog: 2020-09-23 Hannes Domani <ssbssa@yahoo.de> * nat/windows-nat.c (handle_exception): Handle 64bit breakpoints in WOW64 processes as SIGINT. * nat/windows-nat.h: Make wow64_process a shared variable. * windows-nat.c: Remove static wow64_process variable. gdbserver/ChangeLog: 2020-09-23 Hannes Domani <ssbssa@yahoo.de> * win32-low.cc: Remove local wow64_process variable. * win32-low.h: Remove local wow64_process variable.
Diffstat (limited to 'gdb/windows-nat.c')
-rw-r--r--gdb/windows-nat.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index ba88c33..7fff41d 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -235,7 +235,6 @@ static std::vector<windows_thread_info *> thread_list;
static int saw_create;
static int open_process_used = 0;
#ifdef __x86_64__
-static bool wow64_process = false;
static void *wow64_dbgbreak;
#endif