X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fwin32-nat.c;h=9845d46192d713e8e82390e34c1b69cea9be62a3;hb=c1299d67f5e87927ba19ac99524d238905b9c406;hp=cdaac2df2a34ed32392962202868e793dff17804;hpb=6780dcde86b72d360dc07c759a371fc70bad5050;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/win32-nat.c b/gdb/win32-nat.c index cdaac2df2a..9845d46192 100644 --- a/gdb/win32-nat.c +++ b/gdb/win32-nat.c @@ -86,9 +86,6 @@ static int debug_registers_used; #define DEBUG_MEM(x) if (debug_memory) printf_unfiltered x #define DEBUG_EXCEPT(x) if (debug_exceptions) printf_unfiltered x -/* Forward declaration */ -extern struct target_ops child_ops; - static void child_stop (void); static int win32_child_thread_alive (ptid_t); void child_kill_inferior (void); @@ -358,15 +355,15 @@ do_child_fetch_inferior_registers (int r) if (r == I387_FISEG_REGNUM) { l = *((long *) context_offset) & 0xffff; - supply_register (r, (char *) &l); + regcache_raw_supply (current_regcache, r, (char *) &l); } else if (r == I387_FOP_REGNUM) { l = (*((long *) context_offset) >> 16) & ((1 << 11) - 1); - supply_register (r, (char *) &l); + regcache_raw_supply (current_regcache, r, (char *) &l); } else if (r >= 0) - supply_register (r, context_offset); + regcache_raw_supply (current_regcache, r, context_offset); else { for (r = 0; r < NUM_REGS; r++) @@ -392,7 +389,8 @@ do_child_store_inferior_registers (int r) if (!current_thread) /* Windows sometimes uses a non-existent thread id in its events */; else if (r >= 0) - regcache_collect (r, ((char *) ¤t_thread->context) + mappings[r]); + regcache_raw_collect (current_regcache, r, + ((char *) ¤t_thread->context) + mappings[r]); else { for (r = 0; r < NUM_REGS; r++) @@ -1441,7 +1439,7 @@ do_initial_child_stuff (DWORD pid) dr[i] = 0; current_event.dwProcessId = pid; memset (¤t_event, 0, sizeof (current_event)); - push_target (&child_ops); + push_target (&deprecated_child_ops); child_init_thread_list (); disable_breakpoints_in_shlibs (1); child_clear_solibs (); @@ -1653,7 +1651,7 @@ child_detach (char *args, int from_tty) gdb_flush (gdb_stdout); } inferior_ptid = null_ptid; - unpush_target (&child_ops); + unpush_target (&deprecated_child_ops); } char * @@ -1903,7 +1901,7 @@ child_mourn_inferior (void) { (void) child_continue (DBG_CONTINUE, -1); i386_cleanup_dregs(); - unpush_target (&child_ops); + unpush_target (&deprecated_child_ops); generic_mourn_inferior (); } @@ -2067,48 +2065,46 @@ child_close (int x) PIDGET (inferior_ptid))); } -struct target_ops child_ops; - static void init_child_ops (void) { - child_ops.to_shortname = "child"; - child_ops.to_longname = "Win32 child process"; - child_ops.to_doc = "Win32 child process (started by the \"run\" command)."; - child_ops.to_open = child_open; - child_ops.to_close = child_close; - child_ops.to_attach = child_attach; - child_ops.to_detach = child_detach; - child_ops.to_resume = child_resume; - child_ops.to_wait = child_wait; - child_ops.to_fetch_registers = child_fetch_inferior_registers; - child_ops.to_store_registers = child_store_inferior_registers; - child_ops.to_prepare_to_store = child_prepare_to_store; - child_ops.to_xfer_memory = child_xfer_memory; - child_ops.to_files_info = child_files_info; - child_ops.to_insert_breakpoint = memory_insert_breakpoint; - child_ops.to_remove_breakpoint = memory_remove_breakpoint; - child_ops.to_terminal_init = terminal_init_inferior; - child_ops.to_terminal_inferior = terminal_inferior; - child_ops.to_terminal_ours_for_output = terminal_ours_for_output; - child_ops.to_terminal_ours = terminal_ours; - child_ops.to_terminal_save_ours = terminal_save_ours; - child_ops.to_terminal_info = child_terminal_info; - child_ops.to_kill = child_kill_inferior; - child_ops.to_create_inferior = child_create_inferior; - child_ops.to_mourn_inferior = child_mourn_inferior; - child_ops.to_can_run = child_can_run; - child_ops.to_thread_alive = win32_child_thread_alive; - child_ops.to_pid_to_str = cygwin_pid_to_str; - child_ops.to_stop = child_stop; - child_ops.to_stratum = process_stratum; - child_ops.to_has_all_memory = 1; - child_ops.to_has_memory = 1; - child_ops.to_has_stack = 1; - child_ops.to_has_registers = 1; - child_ops.to_has_execution = 1; - child_ops.to_magic = OPS_MAGIC; - child_ops.to_pid_to_exec_file = child_pid_to_exec_file; + deprecated_child_ops.to_shortname = "child"; + deprecated_child_ops.to_longname = "Win32 child process"; + deprecated_child_ops.to_doc = "Win32 child process (started by the \"run\" command)."; + deprecated_child_ops.to_open = child_open; + deprecated_child_ops.to_close = child_close; + deprecated_child_ops.to_attach = child_attach; + deprecated_child_ops.to_detach = child_detach; + deprecated_child_ops.to_resume = child_resume; + deprecated_child_ops.to_wait = child_wait; + deprecated_child_ops.to_fetch_registers = child_fetch_inferior_registers; + deprecated_child_ops.to_store_registers = child_store_inferior_registers; + deprecated_child_ops.to_prepare_to_store = child_prepare_to_store; + deprecated_child_ops.deprecated_xfer_memory = child_xfer_memory; + deprecated_child_ops.to_files_info = child_files_info; + deprecated_child_ops.to_insert_breakpoint = memory_insert_breakpoint; + deprecated_child_ops.to_remove_breakpoint = memory_remove_breakpoint; + deprecated_child_ops.to_terminal_init = terminal_init_inferior; + deprecated_child_ops.to_terminal_inferior = terminal_inferior; + deprecated_child_ops.to_terminal_ours_for_output = terminal_ours_for_output; + deprecated_child_ops.to_terminal_ours = terminal_ours; + deprecated_child_ops.to_terminal_save_ours = terminal_save_ours; + deprecated_child_ops.to_terminal_info = child_terminal_info; + deprecated_child_ops.to_kill = child_kill_inferior; + deprecated_child_ops.to_create_inferior = child_create_inferior; + deprecated_child_ops.to_mourn_inferior = child_mourn_inferior; + deprecated_child_ops.to_can_run = child_can_run; + deprecated_child_ops.to_thread_alive = win32_child_thread_alive; + deprecated_child_ops.to_pid_to_str = cygwin_pid_to_str; + deprecated_child_ops.to_stop = child_stop; + deprecated_child_ops.to_stratum = process_stratum; + deprecated_child_ops.to_has_all_memory = 1; + deprecated_child_ops.to_has_memory = 1; + deprecated_child_ops.to_has_stack = 1; + deprecated_child_ops.to_has_registers = 1; + deprecated_child_ops.to_has_execution = 1; + deprecated_child_ops.to_magic = OPS_MAGIC; + deprecated_child_ops.to_pid_to_exec_file = child_pid_to_exec_file; } void @@ -2124,47 +2120,54 @@ _initialize_win32_nat (void) add_com_alias ("sharedlibrary", "dll-symbols", class_alias, 1); - add_show_from_set (add_set_cmd ("shell", class_support, var_boolean, - (char *) &useshell, - "Set use of shell to start subprocess.", - &setlist), - &showlist); - - add_show_from_set (add_set_cmd ("new-console", class_support, var_boolean, - (char *) &new_console, - "Set creation of new console when creating child process.", - &setlist), - &showlist); - - add_show_from_set (add_set_cmd ("new-group", class_support, var_boolean, - (char *) &new_group, - "Set creation of new group when creating child process.", - &setlist), - &showlist); - - add_show_from_set (add_set_cmd ("debugexec", class_support, var_boolean, - (char *) &debug_exec, - "Set whether to display execution in child process.", - &setlist), - &showlist); - - add_show_from_set (add_set_cmd ("debugevents", class_support, var_boolean, - (char *) &debug_events, - "Set whether to display kernel events in child process.", - &setlist), - &showlist); - - add_show_from_set (add_set_cmd ("debugmemory", class_support, var_boolean, - (char *) &debug_memory, - "Set whether to display memory accesses in child process.", - &setlist), - &showlist); - - add_show_from_set (add_set_cmd ("debugexceptions", class_support, var_boolean, - (char *) &debug_exceptions, - "Set whether to display kernel exceptions in child process.", - &setlist), - &showlist); + deprecated_add_show_from_set + (add_set_cmd ("shell", class_support, var_boolean, + (char *) &useshell, + "Set use of shell to start subprocess.", + &setlist), + &showlist); + + deprecated_add_show_from_set + (add_set_cmd ("new-console", class_support, var_boolean, + (char *) &new_console, + "Set creation of new console when creating child process.", + &setlist), + &showlist); + + deprecated_add_show_from_set + (add_set_cmd ("new-group", class_support, var_boolean, + (char *) &new_group, + "Set creation of new group when creating child process.", + &setlist), + &showlist); + + deprecated_add_show_from_set + (add_set_cmd ("debugexec", class_support, var_boolean, + (char *) &debug_exec, + "Set whether to display execution in child process.", + &setlist), + &showlist); + + deprecated_add_show_from_set + (add_set_cmd ("debugevents", class_support, var_boolean, + (char *) &debug_events, + "Set whether to display kernel events in child process.", + &setlist), + &showlist); + + deprecated_add_show_from_set + (add_set_cmd ("debugmemory", class_support, var_boolean, + (char *) &debug_memory, + "Set whether to display memory accesses in child process.", + &setlist), + &showlist); + + deprecated_add_show_from_set + (add_set_cmd ("debugexceptions", class_support, var_boolean, + (char *) &debug_exceptions, + "Set whether to display kernel exceptions in child process.", + &setlist), + &showlist); add_info ("dll", info_dll_command, "Status of loaded DLLs."); add_info_alias ("sharedlibrary", "dll", 1); @@ -2177,7 +2180,7 @@ _initialize_win32_nat (void) "Display selectors infos.", &info_w32_cmdlist); - add_target (&child_ops); + add_target (&deprecated_child_ops); } /* Hardware watchpoint support, adapted from go32-nat.c code. */ @@ -2441,7 +2444,7 @@ fetch_elf_core_registers (char *core_reg_sect, return; } for (r = 0; r < NUM_REGS; r++) - supply_register (r, core_reg_sect + mappings[r]); + regcache_raw_supply (current_regcache, r, core_reg_sect + mappings[r]); } static struct core_fns win32_elf_core_fns =