mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-26 04:15:28 +00:00
2000-03-30 Michael Snyder <msnyder@cleaver.cygnus.com>
* defs.h (struct continuation_arg): make 'data' a union, to avoid casting problems when int and pointer are not the same size. * event-top.c (command_handler): use data as a union. (command_line_handler_continuation): ditto. * infcmd.c (step_1_continuation): use data as a union. Re-indent. (step_once): ditto. (finish_command_continuation): ditto. (finish_command): ditto. * breakpoint.c (until_break_command): use data as a union. (until_break_command_continuation): ditto. * utils.c (add_intermediate_continuation): fix typo in comment.
This commit is contained in:
parent
59233f88f1
commit
57e687d9ad
@ -1,3 +1,16 @@
|
|||||||
|
2000-03-30 Michael Snyder <msnyder@cleaver.cygnus.com>
|
||||||
|
|
||||||
|
* defs.h (struct continuation_arg): make 'data' a union, to avoid
|
||||||
|
casting problems when int and pointer are not the same size.
|
||||||
|
* event-top.c (command_handler): use data as a union.
|
||||||
|
(command_line_handler_continuation): ditto.
|
||||||
|
* infcmd.c (step_1_continuation): use data as a union. Re-indent.
|
||||||
|
(step_once): ditto. (finish_command_continuation): ditto.
|
||||||
|
(finish_command): ditto.
|
||||||
|
* breakpoint.c (until_break_command): use data as a union.
|
||||||
|
(until_break_command_continuation): ditto.
|
||||||
|
* utils.c (add_intermediate_continuation): fix typo in comment.
|
||||||
|
|
||||||
Thu Mar 30 12:09:50 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
Thu Mar 30 12:09:50 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||||
|
|
||||||
* gdbarch.h, gdbarch.c: Re-indent. Remove FIXMEs.
|
* gdbarch.h, gdbarch.c: Re-indent. Remove FIXMEs.
|
||||||
|
@ -5708,7 +5708,7 @@ until_break_command_continuation (struct continuation_arg *arg)
|
|||||||
{
|
{
|
||||||
struct cleanup *cleanups;
|
struct cleanup *cleanups;
|
||||||
|
|
||||||
cleanups = (struct cleanup *) arg->data;
|
cleanups = (struct cleanup *) arg->data.pointer;
|
||||||
do_exec_cleanups (cleanups);
|
do_exec_cleanups (cleanups);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5772,8 +5772,8 @@ until_break_command (arg, from_tty)
|
|||||||
the exec_cleanup_chain. */
|
the exec_cleanup_chain. */
|
||||||
arg1 =
|
arg1 =
|
||||||
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
|
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
|
||||||
arg1->next = NULL;
|
arg1->next = NULL;
|
||||||
arg1->data = (PTR) old_chain;
|
arg1->data.pointer = old_chain;
|
||||||
|
|
||||||
add_continuation (until_break_command_continuation, arg1);
|
add_continuation (until_break_command_continuation, arg1);
|
||||||
}
|
}
|
||||||
|
@ -650,7 +650,11 @@ extern void free_command_lines (struct command_line **);
|
|||||||
struct continuation_arg
|
struct continuation_arg
|
||||||
{
|
{
|
||||||
struct continuation_arg *next;
|
struct continuation_arg *next;
|
||||||
void *data;
|
union continuation_data {
|
||||||
|
void *pointer;
|
||||||
|
int integer;
|
||||||
|
long longint;
|
||||||
|
} data;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct continuation
|
struct continuation
|
||||||
|
@ -525,8 +525,8 @@ command_handler (char *command)
|
|||||||
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
|
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
|
||||||
arg1->next = arg2;
|
arg1->next = arg2;
|
||||||
arg2->next = NULL;
|
arg2->next = NULL;
|
||||||
arg1->data = (void *) time_at_cmd_start;
|
arg1->data.integer = time_at_cmd_start;
|
||||||
arg2->data = (void *) space_at_cmd_start;
|
arg2->data.integer = space_at_cmd_start;
|
||||||
add_continuation (command_line_handler_continuation, arg1);
|
add_continuation (command_line_handler_continuation, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -572,8 +572,8 @@ command_line_handler_continuation (struct continuation_arg *arg)
|
|||||||
extern int display_time;
|
extern int display_time;
|
||||||
extern int display_space;
|
extern int display_space;
|
||||||
|
|
||||||
long time_at_cmd_start = (long) arg->data;
|
long time_at_cmd_start = arg->data.longint;
|
||||||
long space_at_cmd_start = (long) arg->next->data;
|
long space_at_cmd_start = arg->next->data.longint;
|
||||||
|
|
||||||
bpstat_do_actions (&stop_bpstat);
|
bpstat_do_actions (&stop_bpstat);
|
||||||
/*do_cleanups (old_chain); *//*?????FIXME????? */
|
/*do_cleanups (old_chain); *//*?????FIXME????? */
|
||||||
|
52
gdb/infcmd.c
52
gdb/infcmd.c
@ -576,27 +576,27 @@ static void
|
|||||||
step_1_continuation (arg)
|
step_1_continuation (arg)
|
||||||
struct continuation_arg *arg;
|
struct continuation_arg *arg;
|
||||||
{
|
{
|
||||||
int count;
|
int count;
|
||||||
int skip_subroutines;
|
int skip_subroutines;
|
||||||
int single_inst;
|
int single_inst;
|
||||||
|
|
||||||
skip_subroutines = (int) arg->data;
|
skip_subroutines = arg->data.integer;
|
||||||
single_inst = (int) (arg->next)->data;
|
single_inst = arg->next->data.integer;
|
||||||
count = (int) ((arg->next)->next)->data;
|
count = arg->next->next->data.integer;
|
||||||
|
|
||||||
if (stop_step)
|
if (stop_step)
|
||||||
{
|
{
|
||||||
/* FIXME: On nexti, this may have already been done (when we hit the
|
/* FIXME: On nexti, this may have already been done (when we hit the
|
||||||
step resume break, I think). Probably this should be moved to
|
step resume break, I think). Probably this should be moved to
|
||||||
wait_for_inferior (near the top). */
|
wait_for_inferior (near the top). */
|
||||||
#if defined (SHIFT_INST_REGS)
|
#if defined (SHIFT_INST_REGS)
|
||||||
SHIFT_INST_REGS ();
|
SHIFT_INST_REGS ();
|
||||||
#endif
|
#endif
|
||||||
step_once (skip_subroutines, single_inst, count - 1);
|
step_once (skip_subroutines, single_inst, count - 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (!single_inst || skip_subroutines)
|
if (!single_inst || skip_subroutines)
|
||||||
do_exec_cleanups (ALL_CLEANUPS);
|
do_exec_cleanups (ALL_CLEANUPS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do just one step operation. If count >1 we will have to set up a
|
/* Do just one step operation. If count >1 we will have to set up a
|
||||||
@ -662,11 +662,11 @@ which has no line number information.\n", name);
|
|||||||
arg3 =
|
arg3 =
|
||||||
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
|
(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
|
||||||
arg1->next = arg2;
|
arg1->next = arg2;
|
||||||
arg1->data = (PTR) skip_subroutines;
|
arg1->data.integer = skip_subroutines;
|
||||||
arg2->next = arg3;
|
arg2->next = arg3;
|
||||||
arg2->data = (PTR) single_inst;
|
arg2->data.integer = single_inst;
|
||||||
arg3->next = NULL;
|
arg3->next = NULL;
|
||||||
arg3->data = (PTR) count;
|
arg3->data.integer = count;
|
||||||
add_intermediate_continuation (step_1_continuation, arg1);
|
add_intermediate_continuation (step_1_continuation, arg1);
|
||||||
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 1);
|
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 1);
|
||||||
}
|
}
|
||||||
@ -1108,9 +1108,9 @@ finish_command_continuation (arg)
|
|||||||
struct breakpoint *breakpoint;
|
struct breakpoint *breakpoint;
|
||||||
struct cleanup *cleanups;
|
struct cleanup *cleanups;
|
||||||
|
|
||||||
breakpoint = (struct breakpoint *) arg->data;
|
breakpoint = (struct breakpoint *) arg->data.pointer;
|
||||||
function = (struct symbol *) (arg->next)->data;
|
function = (struct symbol *) arg->next->data.pointer;
|
||||||
cleanups = (struct cleanup *) (arg->next->next)->data;
|
cleanups = (struct cleanup *) arg->next->next->data.pointer;
|
||||||
|
|
||||||
if (bpstat_find_breakpoint (stop_bpstat, breakpoint) != NULL
|
if (bpstat_find_breakpoint (stop_bpstat, breakpoint) != NULL
|
||||||
&& function != 0)
|
&& function != 0)
|
||||||
@ -1225,9 +1225,9 @@ finish_command (arg, from_tty)
|
|||||||
arg1->next = arg2;
|
arg1->next = arg2;
|
||||||
arg2->next = arg3;
|
arg2->next = arg3;
|
||||||
arg3->next = NULL;
|
arg3->next = NULL;
|
||||||
arg1->data = (PTR) breakpoint;
|
arg1->data.pointer = breakpoint;
|
||||||
arg2->data = (PTR) function;
|
arg2->data.pointer = function;
|
||||||
arg3->data = (PTR) old_chain;
|
arg3->data.pointer = old_chain;
|
||||||
add_continuation (finish_command_continuation, arg1);
|
add_continuation (finish_command_continuation, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -456,7 +456,7 @@ discard_all_continuations ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add a continuation to the continuation list, the gloabl list
|
/* Add a continuation to the continuation list, the global list
|
||||||
intermediate_continuation. The new continuation will be added at the front.*/
|
intermediate_continuation. The new continuation will be added at the front.*/
|
||||||
void
|
void
|
||||||
add_intermediate_continuation (continuation_hook, arg_list)
|
add_intermediate_continuation (continuation_hook, arg_list)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user