X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Finfcmd.c;h=f7ce69a94ef550ae61006b1cc38b34530eaaff82;hb=07b287a0d1bda52b43a2aec41838149cadb019c5;hp=c3e602b4fadc2fc12e496b6783d43f901627e959;hpb=f5656eadf4383cc733b96ff49ba8efbea6922ad3;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/infcmd.c b/gdb/infcmd.c index c3e602b4fa..f7ce69a94e 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -1,6 +1,6 @@ /* Memory-access and commands for "inferior" process, for GDB. - Copyright (C) 1986-2012 Free Software Foundation, Inc. + Copyright (C) 1986-2013 Free Software Foundation, Inc. This file is part of GDB. @@ -57,20 +57,6 @@ #include "continuations.h" #include "linespec.h" -/* Functions exported for general use, in inferior.h: */ - -void all_registers_info (char *, int); - -void registers_info (char *, int); - -void nexti_command (char *, int); - -void stepi_command (char *, int); - -void continue_command (char *, int); - -void interrupt_target_command (char *args, int from_tty); - /* Local functions: */ static void nofp_registers_info (char *, int); @@ -708,6 +694,24 @@ ensure_not_tfind_mode (void) error (_("Cannot execute this command while looking at trace frames.")); } +/* Throw an error indicating the current thread is running. */ + +static void +error_is_running (void) +{ + error (_("Cannot execute this command while " + "the selected thread is running.")); +} + +/* Calls error_is_running if the current thread is running. */ + +static void +ensure_not_running (void) +{ + if (is_running (inferior_ptid)) + error_is_running (); +} + void continue_1 (int all_threads) { @@ -738,7 +742,7 @@ continue_1 (int all_threads) } /* continue [-a] [proceed-count] [&] */ -void +static void continue_command (char *args, int from_tty) { int async_exec = 0; @@ -857,13 +861,13 @@ next_command (char *count_string, int from_tty) /* Likewise, but step only one instruction. */ -void +static void stepi_command (char *count_string, int from_tty) { step_1 (0, 1, count_string); } -void +static void nexti_command (char *count_string, int from_tty) { step_1 (1, 1, count_string); @@ -1028,7 +1032,7 @@ step_once (int skip_subroutines, int single_inst, int count, int thread) CORE_ADDR pc; /* Step at an inlined function behaves like "down". */ - if (!skip_subroutines && !single_inst + if (!skip_subroutines && inline_skipped_frames (inferior_ptid)) { ptid_t resume_ptid; @@ -1446,7 +1450,6 @@ get_return_value (struct value *function, struct type *value_type) struct regcache *stop_regs = stop_registers; struct gdbarch *gdbarch; struct value *value; - struct ui_out *uiout = current_uiout; struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); /* If stop_registers were not saved, use the current registers. */ @@ -2155,7 +2158,7 @@ default_print_registers_info (struct gdbarch *gdbarch, val = allocate_value (regtype); /* Get the data in raw format. */ - if (! frame_register_read (frame, i, value_contents_raw (val))) + if (! deprecated_frame_register_read (frame, i, value_contents_raw (val))) mark_value_bytes_unavailable (val, 0, TYPE_LENGTH (value_type (val))); default_print_one_register_info (file, @@ -2276,7 +2279,7 @@ registers_info (char *addr_exp, int fpregs) } } -void +static void all_registers_info (char *addr_exp, int from_tty) { registers_info (addr_exp, 1); @@ -2791,7 +2794,7 @@ interrupt_target_1 (int all_threads) if the `-a' switch is used. */ /* interrupt [-a] */ -void +static void interrupt_target_command (char *args, int from_tty) { if (target_can_async_p ()) @@ -2865,10 +2868,13 @@ info_proc_cmd_1 (char *args, enum info_proc_what what, int from_tty) { struct gdbarch *gdbarch = get_current_arch (); - if (gdbarch_info_proc_p (gdbarch)) - gdbarch_info_proc (gdbarch, args, what); - else - target_info_proc (args, what); + if (!target_info_proc (args, what)) + { + if (gdbarch_info_proc_p (gdbarch)) + gdbarch_info_proc (gdbarch, args, what); + else + error (_("Not supported on this target.")); + } } /* Implement `info proc' when given without any futher parameters. */