This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2] Implement debugging of WOW64 processes
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Hannes Domani <ssbssa at yahoo dot de>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 04 Mar 2020 19:32:54 +0200
- Subject: Re: [PATCH v2] Implement debugging of WOW64 processes
- References: <20200304171216.28885-1-ssbssa.ref@yahoo.de> <20200304171216.28885-1-ssbssa@yahoo.de>
> From: "Hannes Domani via gdb-patches" <gdb-patches@sourceware.org>
> Date: Wed, 4 Mar 2020 18:12:16 +0100
>
> For WOW64 processes, the Wow64* variants of SuspendThread,
> GetThreadContext, SetThreadContext, and GetThreadSelectorEntry have to
> be used instead.
> And instead of EnumProcessModules, EnumProcessModulesEx with
> LIST_MODULES_32BIT is necessary.
>
> gdb/ChangeLog:
>
> 2020-03-04 Hannes Domani <ssbssa@yahoo.de>
>
> * NEWS: Mention support for WOW64 processes.
> * amd64-windows-nat.c (amd64_mappings): Rename and remove static.
> (amd64_windows_segment_register_p): Remove static.
> (_initialize_amd64_windows_nat): Update.
> * configure.nat <windows> (NATDEPFILES): Add i386-windows-nat.o.
> * i386-windows-nat.c (context_offset): Update.
> (i386_mappings): Rename and remove static.
> (i386_windows_segment_register_p): Remove static.
> (_initialize_i386_windows_nat): Update.
> * windows-nat.c (STATUS_WX86_BREAKPOINT): New macro.
> (STATUS_WX86_SINGLE_STEP): New macro.
> (EnumProcessModulesEx): New macro.
> (Wow64SuspendThread): New macro.
> (Wow64GetThreadContext): New macro.
> (Wow64SetThreadContext): New macro.
> (Wow64GetThreadSelectorEntry): New macro.
> (windows_add_thread): Adapt for WOW64 processes.
> (windows_fetch_one_register): Likewise.
> (windows_nat_target::fetch_registers): Likewise.
> (windows_store_one_register): Likewise.
> (display_selector): Likewise.
> (display_selectors): Likewise.
> (handle_exception): Likewise.
> (windows_continue): Likewise.
> (windows_nat_target::resume): Likewise.
> (windows_add_all_dlls): Likewise.
> (do_initial_windows_stuff): Likewise.
> (windows_nat_target::attach): Likewise.
> (windows_get_exec_module_filename): Likewise.
> (windows_nat_target::create_inferior): Likewise.
> (windows_xfer_siginfo): Likewise.
> (_initialize_loadable): Initialize Wow64SuspendThread,
> Wow64GetThreadContext, Wow64SetThreadContext,
> Wow64GetThreadSelectorEntry and EnumProcessModulesEx.
> * windows-nat.h (i386_windows_segment_register_p): Add declaration.
> (amd64_windows_segment_register_p): Likewise.
The NEWS part is OK, thanks.
I also read the rest of the patch and didn't spot anything wrong.