forked from Imagelibrary/binutils-gdb
Share handle_load_dll and handle_unload_dll declarations
This changes nat/windows-nat.h to declare handle_load_dll and handle_unload_dll. The embedding application is required to implement these -- while the actual code was difficult to share due to some other differences between the two programs, sharing the declaration lets a subsequent patch share more code that uses these as callbacks. gdb/ChangeLog 2020-04-08 Tom Tromey <tromey@adacore.com> * windows-nat.c (windows_nat::handle_load_dll) (windows_nat::handle_unload_dll): Rename. No longer static. * nat/windows-nat.h (handle_load_dll, handle_unload_dll): Declare. gdbserver/ChangeLog 2020-04-08 Tom Tromey <tromey@adacore.com> * win32-low.c (windows_nat::handle_load_dll): Rename from handle_load_dll. No longer static. (windows_nat::handle_unload_dll): Rename from handle_unload_dll. No longer static.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
2020-04-08 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* windows-nat.c (windows_nat::handle_load_dll)
|
||||
(windows_nat::handle_unload_dll): Rename. No longer static.
|
||||
* nat/windows-nat.h (handle_load_dll, handle_unload_dll):
|
||||
Declare.
|
||||
|
||||
2020-04-08 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* complaints.h (stop_whining): Declare at top-level.
|
||||
|
||||
@@ -125,6 +125,25 @@ extern windows_thread_info *thread_rec (ptid_t ptid,
|
||||
This function must be supplied by the embedding application. */
|
||||
extern int handle_output_debug_string (struct target_waitstatus *ourstatus);
|
||||
|
||||
/* Handle a DLL load event.
|
||||
|
||||
This function assumes that the current event did not occur during
|
||||
inferior initialization.
|
||||
|
||||
This function must be supplied by the embedding application. */
|
||||
|
||||
extern void handle_load_dll ();
|
||||
|
||||
/* Handle a DLL unload event.
|
||||
|
||||
This function assumes that this event did not occur during inferior
|
||||
initialization.
|
||||
|
||||
This function must be supplied by the embedding application. */
|
||||
|
||||
extern void handle_unload_dll ();
|
||||
|
||||
|
||||
/* Currently executing process */
|
||||
extern HANDLE current_process_handle;
|
||||
extern DWORD current_process_id;
|
||||
|
||||
@@ -870,15 +870,10 @@ windows_make_so (const char *name, LPVOID load_addr)
|
||||
return so;
|
||||
}
|
||||
|
||||
/* Handle a DLL load event, and return 1.
|
||||
/* See nat/windows-nat.h. */
|
||||
|
||||
This function assumes that this event did not occur during inferior
|
||||
initialization, where their event info may be incomplete (see
|
||||
do_initial_windows_stuff and windows_add_all_dlls for more info
|
||||
on how we handle DLL loading during that phase). */
|
||||
|
||||
static void
|
||||
handle_load_dll ()
|
||||
void
|
||||
windows_nat::handle_load_dll ()
|
||||
{
|
||||
LOAD_DLL_DEBUG_INFO *event = ¤t_event.u.LoadDll;
|
||||
const char *dll_name;
|
||||
@@ -911,16 +906,10 @@ windows_free_so (struct so_list *so)
|
||||
xfree (so);
|
||||
}
|
||||
|
||||
/* Handle a DLL unload event.
|
||||
Return 1 if successful, or zero otherwise.
|
||||
/* See nat/windows-nat.h. */
|
||||
|
||||
This function assumes that this event did not occur during inferior
|
||||
initialization, where their event info may be incomplete (see
|
||||
do_initial_windows_stuff and windows_add_all_dlls for more info
|
||||
on how we handle DLL loading during that phase). */
|
||||
|
||||
static void
|
||||
handle_unload_dll ()
|
||||
void
|
||||
windows_nat::handle_unload_dll ()
|
||||
{
|
||||
LPVOID lpBaseOfDll = current_event.u.UnloadDll.lpBaseOfDll;
|
||||
struct so_list *so;
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
2020-04-08 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* win32-low.c (windows_nat::handle_load_dll): Rename from
|
||||
handle_load_dll. No longer static.
|
||||
(windows_nat::handle_unload_dll): Rename from handle_unload_dll.
|
||||
No longer static.
|
||||
|
||||
2020-04-08 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* win32-low.c (handle_output_debug_string): Add parameter. Change
|
||||
|
||||
@@ -1123,15 +1123,10 @@ typedef HANDLE (WINAPI *winapi_CreateToolhelp32Snapshot) (DWORD, DWORD);
|
||||
typedef BOOL (WINAPI *winapi_Module32First) (HANDLE, LPMODULEENTRY32);
|
||||
typedef BOOL (WINAPI *winapi_Module32Next) (HANDLE, LPMODULEENTRY32);
|
||||
|
||||
/* Handle a DLL load event.
|
||||
/* See nat/windows-nat.h. */
|
||||
|
||||
This function assumes that this event did not occur during inferior
|
||||
initialization, where their event info may be incomplete (see
|
||||
do_initial_child_stuff and win32_add_all_dlls for more info on
|
||||
how we handle DLL loading during that phase). */
|
||||
|
||||
static void
|
||||
handle_load_dll (void)
|
||||
void
|
||||
windows_nat::handle_load_dll ()
|
||||
{
|
||||
LOAD_DLL_DEBUG_INFO *event = ¤t_event.u.LoadDll;
|
||||
const char *dll_name;
|
||||
@@ -1144,15 +1139,10 @@ handle_load_dll (void)
|
||||
win32_add_one_solib (dll_name, (CORE_ADDR) (uintptr_t) event->lpBaseOfDll);
|
||||
}
|
||||
|
||||
/* Handle a DLL unload event.
|
||||
/* See nat/windows-nat.h. */
|
||||
|
||||
This function assumes that this event did not occur during inferior
|
||||
initialization, where their event info may be incomplete (see
|
||||
do_initial_child_stuff and win32_add_one_solib for more info
|
||||
on how we handle DLL loading during that phase). */
|
||||
|
||||
static void
|
||||
handle_unload_dll (void)
|
||||
void
|
||||
windows_nat::handle_unload_dll ()
|
||||
{
|
||||
CORE_ADDR load_addr =
|
||||
(CORE_ADDR) (uintptr_t) current_event.u.UnloadDll.lpBaseOfDll;
|
||||
|
||||
Reference in New Issue
Block a user