mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 14:49:38 +08:00
* windows-nat.c (windows_initialization_done): New variable.
(get_windows_debug_event): Issue error when process dies before completely initializing. (do_initial_windows_stuff): Set flag to indicate when we are done with the initial steps of attaching to the child.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2010-01-27 Christopher Faylor <me+cygwin@cgf.cx>
|
||||||
|
|
||||||
|
* windows-nat.c (windows_initialization_done): New variable.
|
||||||
|
(get_windows_debug_event): Issue error when process dies before
|
||||||
|
completely initializing.
|
||||||
|
(do_initial_windows_stuff): Set flag to indicate when we are done with
|
||||||
|
the initial steps of attaching to the child.
|
||||||
|
|
||||||
2010-01-27 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2010-01-27 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
* symtab.h (struct symbol <symtab>): New comment on NULL values.
|
* symtab.h (struct symbol <symtab>): New comment on NULL values.
|
||||||
|
@ -123,6 +123,8 @@ enum
|
|||||||
static uintptr_t dr[8];
|
static uintptr_t dr[8];
|
||||||
static int debug_registers_changed;
|
static int debug_registers_changed;
|
||||||
static int debug_registers_used;
|
static int debug_registers_used;
|
||||||
|
|
||||||
|
static int windows_initialization_done;
|
||||||
#define DR6_CLEAR_VALUE 0xffff0ff0
|
#define DR6_CLEAR_VALUE 0xffff0ff0
|
||||||
|
|
||||||
/* The string sent by cygwin when it processes a signal.
|
/* The string sent by cygwin when it processes a signal.
|
||||||
@ -1399,11 +1401,19 @@ get_windows_debug_event (struct target_ops *ops,
|
|||||||
(unsigned) current_event.dwProcessId,
|
(unsigned) current_event.dwProcessId,
|
||||||
(unsigned) current_event.dwThreadId,
|
(unsigned) current_event.dwThreadId,
|
||||||
"EXIT_PROCESS_DEBUG_EVENT"));
|
"EXIT_PROCESS_DEBUG_EVENT"));
|
||||||
if (saw_create != 1)
|
if (!windows_initialization_done)
|
||||||
break;
|
{
|
||||||
ourstatus->kind = TARGET_WAITKIND_EXITED;
|
target_terminal_ours ();
|
||||||
ourstatus->value.integer = current_event.u.ExitProcess.dwExitCode;
|
target_mourn_inferior ();
|
||||||
retval = main_thread_id;
|
error (_("During startup program exited with code 0x%x."),
|
||||||
|
(unsigned int) current_event.u.ExitProcess.dwExitCode);
|
||||||
|
}
|
||||||
|
else if (saw_create == 1)
|
||||||
|
{
|
||||||
|
ourstatus->kind = TARGET_WAITKIND_EXITED;
|
||||||
|
ourstatus->value.integer = current_event.u.ExitProcess.dwExitCode;
|
||||||
|
retval = main_thread_id;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LOAD_DLL_DEBUG_EVENT:
|
case LOAD_DLL_DEBUG_EVENT:
|
||||||
@ -1598,6 +1608,7 @@ do_initial_windows_stuff (struct target_ops *ops, DWORD pid, int attaching)
|
|||||||
terminal_init_inferior_with_pgrp (pid);
|
terminal_init_inferior_with_pgrp (pid);
|
||||||
target_terminal_inferior ();
|
target_terminal_inferior ();
|
||||||
|
|
||||||
|
windows_initialization_done = 0;
|
||||||
inf->stop_soon = STOP_QUIETLY;
|
inf->stop_soon = STOP_QUIETLY;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
@ -1610,6 +1621,7 @@ do_initial_windows_stuff (struct target_ops *ops, DWORD pid, int attaching)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
windows_initialization_done = 1;
|
||||||
inf->stop_soon = NO_STOP_QUIETLY;
|
inf->stop_soon = NO_STOP_QUIETLY;
|
||||||
stop_after_trap = 0;
|
stop_after_trap = 0;
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user