* win32-i386-low.c (i386_get_thread_context): Handle systems that

don't support CONTEXT_EXTENDED_REGISTERS.
	(i386_win32_breakpoint, i386_win32_breakpoint_len): New.
	(the_low_target): Install them.
	* win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
	failing with ERROR_PIPE_NOT_CONNECTED.
This commit is contained in:
Pedro Alves
2009-07-04 18:13:28 +00:00
parent dd8f35ac84
commit 912cf4ba32
3 changed files with 52 additions and 9 deletions

View File

@@ -1407,7 +1407,22 @@ get_child_debug_event (struct target_waitstatus *ourstatus)
interruption, but high enough so gdbserver doesn't become a
bottleneck. */
if (!WaitForDebugEvent (&current_event, 250))
return 0;
{
DWORD e = GetLastError();
if (e == ERROR_PIPE_NOT_CONNECTED)
{
/* This will happen if the loader fails to succesfully
load the application, e.g., if the main executable
tries to pull in a non-existing export from a
DLL. */
ourstatus->kind = TARGET_WAITKIND_EXITED;
ourstatus->value.integer = 1;
return 1;
}
return 0;
}
}
gotevent: