|
|
@ -364,43 +364,6 @@ do_chdir_cleanup (void *old_dir) |
|
|
} |
|
|
} |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
/* Do any commands attached to breakpoint we stopped at. Only if we
|
|
|
|
|
|
are always running synchronously. Or if we have just executed a |
|
|
|
|
|
command that doesn't start the target. */ |
|
|
|
|
|
static void |
|
|
|
|
|
command_line_handler_continuation (struct continuation_arg *arg, int error) |
|
|
|
|
|
{ |
|
|
|
|
|
extern int display_time; |
|
|
|
|
|
extern int display_space; |
|
|
|
|
|
|
|
|
|
|
|
long time_at_cmd_start = arg->data.longint; |
|
|
|
|
|
long space_at_cmd_start = arg->next->data.longint; |
|
|
|
|
|
|
|
|
|
|
|
if (error) |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
|
|
if (display_time) |
|
|
|
|
|
{ |
|
|
|
|
|
long cmd_time = get_run_time () - time_at_cmd_start; |
|
|
|
|
|
|
|
|
|
|
|
printf_unfiltered (_("Command execution time: %ld.%06ld\n"), |
|
|
|
|
|
cmd_time / 1000000, cmd_time % 1000000); |
|
|
|
|
|
} |
|
|
|
|
|
if (display_space) |
|
|
|
|
|
{ |
|
|
|
|
|
#ifdef HAVE_SBRK |
|
|
|
|
|
char *lim = (char *) sbrk (0); |
|
|
|
|
|
long space_now = lim - lim_at_start; |
|
|
|
|
|
long space_diff = space_now - space_at_cmd_start; |
|
|
|
|
|
|
|
|
|
|
|
printf_unfiltered (_("Space used: %ld (%c%ld for this command)\n"), |
|
|
|
|
|
space_now, |
|
|
|
|
|
(space_diff >= 0 ? '+' : '-'), |
|
|
|
|
|
space_diff); |
|
|
|
|
|
#endif |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* Execute the line P as a command.
|
|
|
/* Execute the line P as a command.
|
|
|
Pass FROM_TTY as second argument to the defining function. */ |
|
|
Pass FROM_TTY as second argument to the defining function. */ |
|
|
|
|
|
|
|
|
@ -534,24 +497,6 @@ execute_command (char *p, int from_tty) |
|
|
warned = 1; |
|
|
warned = 1; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* Set things up for this function to be compete later, once the
|
|
|
|
|
|
execution has completed, if we are doing an execution command, |
|
|
|
|
|
otherwise, just go ahead and finish. */ |
|
|
|
|
|
if (target_can_async_p () && target_executing) |
|
|
|
|
|
{ |
|
|
|
|
|
arg1 = |
|
|
|
|
|
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg)); |
|
|
|
|
|
arg2 = |
|
|
|
|
|
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg)); |
|
|
|
|
|
arg1->next = arg2; |
|
|
|
|
|
arg2->next = NULL; |
|
|
|
|
|
arg1->data.longint = time_at_cmd_start; |
|
|
|
|
|
#ifdef HAVE_SBRK |
|
|
|
|
|
arg2->data.longint = space_at_cmd_start; |
|
|
|
|
|
#endif |
|
|
|
|
|
add_continuation (command_line_handler_continuation, arg1); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* Read commands from `instream' and execute them
|
|
|
/* Read commands from `instream' and execute them
|
|
|
|