diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ccb361f81a..9a87c29e29 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2005-03-08 Joel Brobecker + + * infcmd.c (run_command_1): New function, extracted from + run_command. + (run_command): Replace implementation by call to run_command_1. + (start_command): Use run_command_1 to insert the temporary + breakpoint and run the program. Remove code that's no longer + needed, as already done at the proper time by run_command_1. + 2005-03-08 Daniel Jacobowitz * symfile.c (clear_symtab_users): Call diff --git a/gdb/infcmd.c b/gdb/infcmd.c index f04dc8a3d8..e2db3d4c2d 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -400,8 +400,12 @@ Start it from the beginning? ")) } } +/* Implement the "run" command. If TBREAK_AT_MAIN is set, then insert + a temporary breakpoint at the begining of the main program before + running the program. */ + static void -run_command (char *args, int from_tty) +run_command_1 (char *args, int from_tty, int tbreak_at_main) { char *exec_file; @@ -425,6 +429,10 @@ run_command (char *args, int from_tty) reopen_exec_file (); reread_symbols (); + /* Insert the temporary breakpoint if a location was specified. */ + if (tbreak_at_main) + tbreak_command (main_name (), 0); + exec_file = (char *) get_exec_file (0); /* We keep symbols from add-symbol-file, on the grounds that the @@ -486,6 +494,12 @@ run_command (char *args, int from_tty) } +static void +run_command (char *args, int from_tty) +{ + run_command_1 (args, from_tty, 0); +} + static void run_no_args_command (char *args, int from_tty) { @@ -506,15 +520,8 @@ start_command (char *args, int from_tty) if (!have_minimal_symbols ()) error (_("No symbol table loaded. Use the \"file\" command.")); - /* If the inferior is already running, we want to ask the user if we - should restart it or not before we insert the temporary breakpoint. - This makes sure that this command doesn't have any side effect if - the user changes its mind. */ - kill_if_already_running (from_tty); - - /* Insert the temporary breakpoint, and run... */ - tbreak_command (main_name (), 0); - run_command (args, from_tty); + /* Run the program until reaching the main procedure... */ + run_command_1 (args, from_tty, 1); } void