aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r--gdb/infcmd.c31
1 files changed, 12 insertions, 19 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index c66809d..d87afa4 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -172,7 +172,7 @@ Start it from the beginning? "))
if (args)
set_args_command (args);
- exec_file = (char *) get_exec_file ();
+ exec_file = (char *) get_exec_file (1);
if (from_tty)
{
printf ("Starting program: %s%s\n",
@@ -299,7 +299,6 @@ jump_command (arg, from_tty)
int from_tty;
{
register CORE_ADDR addr;
- struct symtabs_and_lines sals;
struct symtab_and_line sal;
ERROR_NO_INFERIOR;
@@ -307,14 +306,7 @@ jump_command (arg, from_tty)
if (!arg)
error_no_arg ("starting address");
- sals = decode_line_spec (arg, 1);
- if (sals.nelts != 1)
- {
- error ("Unreasonable jump request");
- }
-
- sal = sals.sals[0];
- free (sals.sals);
+ sal = decode_line_spec (arg, 1);
if (sal.symtab == 0 && sal.pc == 0)
error ("No source file has been specified.");
@@ -326,7 +318,7 @@ jump_command (arg, from_tty)
struct symbol *fn = get_frame_function (get_current_frame ());
struct symbol *sfn = find_pc_function (sal.pc);
if (fn != 0 && sfn != fn
- && ! query ("That is not in function %s. Continue there? ",
+ && ! query ("Line %d is not in `%s'. Jump anyway? ",
sal.line, SYMBOL_NAME (fn)))
error ("Not confirmed.");
}
@@ -482,14 +474,13 @@ finish_command (arg, from_tty)
struct type *value_type;
register value val;
- if (TYPE_CODE (SYMBOL_TYPE (function)) != TYPE_CODE_VOID)
- value_type = SYMBOL_TYPE (function);
- else
+ value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (function));
+ if (TYPE_CODE (value_type) == TYPE_CODE_VOID)
return;
val = value_being_returned (value_type, stop_registers);
printf ("Value returned is $%d = ", record_latest_value (val));
- value_print (val, stdout);
+ value_print (val, stdout, 0);
putchar ('\n');
}
}
@@ -679,7 +670,7 @@ registers_info (addr_exp)
/* If virtual format is floating, print it that way. */
if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT
&& ! INVALID_FLOAT (virtual_buffer, REGISTER_VIRTUAL_SIZE (i)))
- val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, stdout);
+ val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, stdout, 0);
/* Else if virtual format is too long for printf,
print in hex a byte at a time. */
else if (REGISTER_VIRTUAL_SIZE (i) > sizeof (long))
@@ -743,7 +734,7 @@ attach_command (args, from_tty)
{
char *exec_file;
int pid;
- int remote;
+ int remote = 0;
dont_repeat();
@@ -765,7 +756,7 @@ attach_command (args, from_tty)
error ("Inferior not killed.");
}
- exec_file = (char *) get_exec_file ();
+ exec_file = (char *) get_exec_file (1);
if (from_tty)
{
@@ -802,13 +793,15 @@ detach_command (args, from_tty)
char *args;
int from_tty;
{
- char *exec_file = (char *)get_exec_file ();
int signal = 0;
if (!inferior_pid)
error ("Not currently tracing a program\n");
if (from_tty)
{
+ char *exec_file = (char *)get_exec_file (0);
+ if (exec_file == 0)
+ exec_file = "";
printf ("Detaching program: %s pid %d\n",
exec_file, inferior_pid);
fflush (stdout);