import gdb-1999-07-07 post reformat

This commit is contained in:
Jason Molenda 1999-07-07 20:11:14 +00:00
parent 103186c62b
commit 3a4b77d8be
1 changed files with 146 additions and 142 deletions

View File

@ -16,8 +16,9 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Foundation, Inc., 59 Temple Place - Suite 330,
*/ Boston, MA 02111-1307, USA.
*/
/* by Steve Chamberlain, sac@cygnus.com */ /* by Steve Chamberlain, sac@cygnus.com */
@ -84,16 +85,18 @@ static int last_sig = 0; /* Set if a signal was received from the
/* Thread information structure used to track information that is /* Thread information structure used to track information that is
not available in gdb's thread structure. */ not available in gdb's thread structure. */
typedef struct thread_info_struct typedef struct thread_info_struct
{ {
struct thread_info_struct *next; struct thread_info_struct *next;
DWORD id; DWORD id;
HANDLE h; HANDLE h;
char *name; char *name;
int suspend_count; int suspend_count;
CONTEXT context; CONTEXT context;
} thread_info; }
thread_info;
static thread_info thread_head = {NULL}; static thread_info thread_head =
{NULL};
/* The process and thread handles for the above context. */ /* The process and thread handles for the above context. */
@ -131,30 +134,30 @@ static int debug_exceptions = 0; /* show target exceptions */
#define context_offset(x) ((int)&(((CONTEXT *)NULL)->x)) #define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
static const int mappings[] = static const int mappings[] =
{ {
context_offset(Eax), context_offset (Eax),
context_offset(Ecx), context_offset (Ecx),
context_offset(Edx), context_offset (Edx),
context_offset(Ebx), context_offset (Ebx),
context_offset(Esp), context_offset (Esp),
context_offset(Ebp), context_offset (Ebp),
context_offset(Esi), context_offset (Esi),
context_offset(Edi), context_offset (Edi),
context_offset(Eip), context_offset (Eip),
context_offset(EFlags), context_offset (EFlags),
context_offset(SegCs), context_offset (SegCs),
context_offset(SegSs), context_offset (SegSs),
context_offset(SegDs), context_offset (SegDs),
context_offset(SegEs), context_offset (SegEs),
context_offset(SegFs), context_offset (SegFs),
context_offset(SegGs), context_offset (SegGs),
context_offset(FloatSave.RegisterArea[0 * 10]), context_offset (FloatSave.RegisterArea[0 * 10]),
context_offset(FloatSave.RegisterArea[1 * 10]), context_offset (FloatSave.RegisterArea[1 * 10]),
context_offset(FloatSave.RegisterArea[2 * 10]), context_offset (FloatSave.RegisterArea[2 * 10]),
context_offset(FloatSave.RegisterArea[3 * 10]), context_offset (FloatSave.RegisterArea[3 * 10]),
context_offset(FloatSave.RegisterArea[4 * 10]), context_offset (FloatSave.RegisterArea[4 * 10]),
context_offset(FloatSave.RegisterArea[5 * 10]), context_offset (FloatSave.RegisterArea[5 * 10]),
context_offset(FloatSave.RegisterArea[6 * 10]), context_offset (FloatSave.RegisterArea[6 * 10]),
context_offset(FloatSave.RegisterArea[7 * 10]), context_offset (FloatSave.RegisterArea[7 * 10]),
}; };
/* This vector maps the target's idea of an exception (extracted /* This vector maps the target's idea of an exception (extracted
@ -184,7 +187,7 @@ thread_rec (DWORD id, int get_context)
{ {
thread_info *th; thread_info *th;
for (th = &thread_head; (th = th->next) != NULL; ) for (th = &thread_head; (th = th->next) != NULL;)
if (th->id == id) if (th->id == id)
{ {
if (!th->suspend_count && get_context) if (!th->suspend_count && get_context)
@ -205,7 +208,7 @@ thread_rec (DWORD id, int get_context)
/* Add a thread to the thread list */ /* Add a thread to the thread list */
static thread_info * static thread_info *
child_add_thread(DWORD id, HANDLE h) child_add_thread (DWORD id, HANDLE h)
{ {
thread_info *th; thread_info *th;
@ -213,7 +216,7 @@ child_add_thread(DWORD id, HANDLE h)
return th; return th;
th = (thread_info *) xmalloc (sizeof (*th)); th = (thread_info *) xmalloc (sizeof (*th));
memset(th, 0, sizeof (*th)); memset (th, 0, sizeof (*th));
th->id = id; th->id = id;
th->h = h; th->h = h;
th->next = thread_head.next; th->next = thread_head.next;
@ -316,7 +319,7 @@ child_store_inferior_registers (int r)
static int static int
handle_load_dll (PTR dummy) handle_load_dll (PTR dummy)
{ {
LOAD_DLL_DEBUG_INFO * event = &current_event.u.LoadDll; LOAD_DLL_DEBUG_INFO *event = &current_event.u.LoadDll;
DWORD dll_name_ptr; DWORD dll_name_ptr;
DWORD done; DWORD done;
char dll_buf[MAX_PATH + 1]; char dll_buf[MAX_PATH + 1];
@ -324,7 +327,7 @@ handle_load_dll (PTR dummy)
struct objfile *objfile; struct objfile *objfile;
MEMORY_BASIC_INFORMATION minfo; MEMORY_BASIC_INFORMATION minfo;
dll_buf[0] = dll_buf[sizeof(dll_buf) - 1] = '\0'; dll_buf[0] = dll_buf[sizeof (dll_buf) - 1] = '\0';
/* The following code attempts to find the name of the dll by reading the /* The following code attempts to find the name of the dll by reading the
name from the processes memory. Unfortunately it doesn't work right. name from the processes memory. Unfortunately it doesn't work right.
@ -332,7 +335,8 @@ handle_load_dll (PTR dummy)
#ifdef DOESNT_WORK #ifdef DOESNT_WORK
memset (&minfo, 0, sizeof minfo); memset (&minfo, 0, sizeof minfo);
if (VirtualQueryEx (current_process_handle, (LPCVOID) event->lpBaseOfDll, if (VirtualQueryEx (current_process_handle, (LPCVOID) event->lpBaseOfDll,
&minfo, sizeof(minfo)) && minfo.BaseAddress) { &minfo, sizeof (minfo)) && minfo.BaseAddress)
{
DWORD len; DWORD len;
IMAGE_DOS_HEADER *hmm0 = (IMAGE_DOS_HEADER *) minfo.BaseAddress; IMAGE_DOS_HEADER *hmm0 = (IMAGE_DOS_HEADER *) minfo.BaseAddress;
HMODULE hmm = (HMODULE) (((DWORD) hmm0) + hmm0->e_lfanew); HMODULE hmm = (HMODULE) (((DWORD) hmm0) + hmm0->e_lfanew);
@ -410,18 +414,18 @@ handle_load_dll (PTR dummy)
/* FIXME!! It would be nice to define one symbol which pointed to the /* FIXME!! It would be nice to define one symbol which pointed to the
front of the dll if we can't find any symbols. */ front of the dll if we can't find any symbols. */
if (!(dll_basename = strrchr(dll_name, '/'))) if (!(dll_basename = strrchr (dll_name, '/')))
dll_basename = dll_name; dll_basename = dll_name;
else else
dll_basename++; dll_basename++;
ALL_OBJFILES(objfile) ALL_OBJFILES (objfile)
{ {
char *objfile_basename; char *objfile_basename;
objfile_basename = strrchr(objfile->name, '/'); objfile_basename = strrchr (objfile->name, '/');
if (objfile_basename && if (objfile_basename &&
strcmp(dll_basename, objfile_basename + 1) == 0) strcmp (dll_basename, objfile_basename + 1) == 0)
{ {
printf_unfiltered ("%x:%s (symbols previously loaded)\n", printf_unfiltered ("%x:%s (symbols previously loaded)\n",
event->lpBaseOfDll, dll_name); event->lpBaseOfDll, dll_name);
@ -457,14 +461,14 @@ handle_output_debug_string (struct target_waitstatus *ourstatus)
|| !s || !*s) || !s || !*s)
return gotasig; return gotasig;
if (strncmp(s, CYGWIN_SIGNAL_STRING, sizeof(CYGWIN_SIGNAL_STRING) - 1)) if (strncmp (s, CYGWIN_SIGNAL_STRING, sizeof (CYGWIN_SIGNAL_STRING) - 1))
{ {
warning (s); warning (s);
} }
else else
{ {
char *p; char *p;
/*last_sig = */strtol(s + sizeof(CYGWIN_SIGNAL_STRING) - 1, &p, 0); /*last_sig = */ strtol (s + sizeof (CYGWIN_SIGNAL_STRING) - 1, &p, 0);
gotasig = target_signal_from_host (last_sig); gotasig = target_signal_from_host (last_sig);
ourstatus->value.sig = gotasig; ourstatus->value.sig = gotasig;
if (gotasig) if (gotasig)
@ -548,7 +552,7 @@ child_continue (DWORD continue_status, int id)
current_event.dwThreadId, current_event.dwThreadId,
continue_status); continue_status);
if (res) if (res)
for (th = &thread_head; (th = th->next) != NULL; ) for (th = &thread_head; (th = th->next) != NULL;)
if (((id == -1) || (id == th->id)) && th->suspend_count) if (((id == -1) || (id == th->id)) && th->suspend_count)
{ {
for (i = 0; i < th->suspend_count; i++) for (i = 0; i < th->suspend_count; i++)
@ -630,7 +634,7 @@ child_wait (int pid, struct target_waitstatus *ourstatus)
current_event.dwProcessId, current_event.dwThreadId, current_event.dwProcessId, current_event.dwThreadId,
"LOAD_DLL_DEBUG_EVENT")); "LOAD_DLL_DEBUG_EVENT"));
catch_errors (handle_load_dll, NULL, "", RETURN_MASK_ALL); catch_errors (handle_load_dll, NULL, "", RETURN_MASK_ALL);
registers_changed(); /* mark all regs invalid */ registers_changed (); /* mark all regs invalid */
break; break;
case UNLOAD_DLL_DEBUG_EVENT: case UNLOAD_DLL_DEBUG_EVENT:
@ -888,7 +892,7 @@ child_create_inferior (exec_file, allargs, env)
&si, &si,
&pi); &pi);
if (!ret) if (!ret)
error ("Error creating process %s, (error %d)\n", exec_file, GetLastError()); error ("Error creating process %s, (error %d)\n", exec_file, GetLastError ());
exception_count = 0; exception_count = 0;
event_count = 0; event_count = 0;
@ -926,7 +930,7 @@ child_stop ()
{ {
DEBUG_EVENTS (("gdb: GenerateConsoleCtrlEvent (CTRLC_EVENT, 0)\n")); DEBUG_EVENTS (("gdb: GenerateConsoleCtrlEvent (CTRLC_EVENT, 0)\n"));
CHECK (GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0)); CHECK (GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0));
registers_changed(); /* refresh register state */ registers_changed (); /* refresh register state */
} }
int int
@ -971,7 +975,7 @@ child_kill_inferior (void)
/* this may fail in an attached process so don't check. */ /* this may fail in an attached process so don't check. */
(void) CloseHandle (current_thread->h); (void) CloseHandle (current_thread->h);
target_mourn_inferior(); /* or just child_mourn_inferior? */ target_mourn_inferior (); /* or just child_mourn_inferior? */
} }
void void
@ -1029,10 +1033,10 @@ child_close ()
DEBUG_EVENTS (("gdb: child_close, inferior_pid=%d\n", inferior_pid)); DEBUG_EVENTS (("gdb: child_close, inferior_pid=%d\n", inferior_pid));
} }
struct target_ops child_ops ; struct target_ops child_ops;
static void static void
init_child_ops(void) init_child_ops (void)
{ {
child_ops.to_shortname = "child"; child_ops.to_shortname = "child";
child_ops.to_longname = "Win32 child process"; child_ops.to_longname = "Win32 child process";
@ -1080,7 +1084,7 @@ void
_initialize_inftarg () _initialize_inftarg ()
{ {
struct cmd_list_element *c; struct cmd_list_element *c;
init_child_ops() ; init_child_ops ();
add_show_from_set add_show_from_set
(add_set_cmd ("new-console", class_support, var_boolean, (add_set_cmd ("new-console", class_support, var_boolean,
@ -1133,7 +1137,7 @@ _initialize_inftarg ()
static int static int
win32_child_thread_alive (int pid) win32_child_thread_alive (int pid)
{ {
return WaitForSingleObject(thread_rec (pid, FALSE)->h, 0) == WAIT_OBJECT_0 ? return WaitForSingleObject (thread_rec (pid, FALSE)->h, 0) == WAIT_OBJECT_0 ?
FALSE : TRUE; FALSE : TRUE;
} }