This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[PATCH]: Remove "xbreak" and "txbreak" to hppa target code.
- From: Michael Snyder <msnyder at cygnus dot com>
- To: gdb-patches at sources dot redhat dot com
- Cc: gdb at sources dot redhat dot com
- Date: Thu, 31 Jan 2002 18:02:03 -0800
- Subject: [PATCH]: Remove "xbreak" and "txbreak" to hppa target code.
These two commands were implemented in a completely non-portable
way, so that they might work on hppa architecture, but would not
be likely to work in general.
Removing them from core gdb and putting them in the hppa module.
Leaving the code in breakpoint.c (it certainly can't live
anywhere else), but it will not be called except from hppa-tdep.
2002-01-31 Michael Snyder <msnyder@redhat.com>
* breakpoint.c (break_at_finish_command): Export.
(break_at_finish_at_depth_command): Export.
(tbreak_at_finish_command): Export.
(_initialize_breakpoint): Delete "xbreak" and "tbreak" commands.
* hppa-tdep.c (_initialize_hppa_tdep): Add "xbreak" and
"tbreak" commands, which are HPPA specific.
Index: breakpoint.c
===================================================================
RCS file: /cvs/src/src/gdb/breakpoint.c,v
retrieving revision 1.59
diff -c -3 -p -r1.59 breakpoint.c
*** breakpoint.c 2002/02/01 01:08:05 1.59
--- breakpoint.c 2002/02/01 02:00:21
*************** break_command (char *arg, int from_tty)
*** 4961,4973 ****
break_command_1 (arg, 0, from_tty);
}
! static void
break_at_finish_command (char *arg, int from_tty)
{
break_at_finish_command_1 (arg, 0, from_tty);
}
! static void
break_at_finish_at_depth_command (char *arg, int from_tty)
{
break_at_finish_at_depth_command_1 (arg, 0, from_tty);
--- 4961,4973 ----
break_command_1 (arg, 0, from_tty);
}
! void
break_at_finish_command (char *arg, int from_tty)
{
break_at_finish_command_1 (arg, 0, from_tty);
}
! void
break_at_finish_at_depth_command (char *arg, int from_tty)
{
break_at_finish_at_depth_command_1 (arg, 0, from_tty);
*************** tbreak_command (char *arg, int from_tty)
*** 4979,4985 ****
break_command_1 (arg, BP_TEMPFLAG, from_tty);
}
! static void
tbreak_at_finish_command (char *arg, int from_tty)
{
break_at_finish_command_1 (arg, BP_TEMPFLAG, from_tty);
--- 4979,4985 ----
break_command_1 (arg, BP_TEMPFLAG, from_tty);
}
! void
tbreak_at_finish_command (char *arg, int from_tty)
{
break_at_finish_command_1 (arg, BP_TEMPFLAG, from_tty);
*************** so it will be deleted when hit. Equival
*** 7357,7367 ****
by using \"enable delete\" on the breakpoint number.");
c->completer = location_completer;
- c = add_com ("txbreak", class_breakpoint, tbreak_at_finish_command,
- "Set temporary breakpoint at procedure exit. Either there should\n\
- be no argument or the argument must be a depth.\n");
- c->completer = location_completer;
-
c = add_com ("hbreak", class_breakpoint, hbreak_command,
"Set a hardware assisted breakpoint. Args like \"break\" command.\n\
Like \"break\" except the breakpoint requires hardware support,\n\
--- 7357,7362 ----
*************** Do \"help breakpoints\" for info on othe
*** 7493,7522 ****
add_com_alias ("bre", "break", class_run, 1);
add_com_alias ("brea", "break", class_run, 1);
! add_com ("xbreak", class_breakpoint, break_at_finish_command,
! concat ("Set breakpoint at procedure exit. \n\
! Argument may be function name, or \"*\" and an address.\n\
! If function is specified, break at end of code for that function.\n\
! If an address is specified, break at the end of the function that contains \n\
! that exact address.\n",
! "With no arg, uses current execution address of selected stack frame.\n\
! This is useful for breaking on return to a stack frame.\n\
! \n\
! Multiple breakpoints at one place are permitted, and useful if conditional.\n\
! \n\
! Do \"help breakpoints\" for info on other commands dealing with breakpoints.", NULL));
! add_com_alias ("xb", "xbreak", class_breakpoint, 1);
! add_com_alias ("xbr", "xbreak", class_breakpoint, 1);
! add_com_alias ("xbre", "xbreak", class_breakpoint, 1);
! add_com_alias ("xbrea", "xbreak", class_breakpoint, 1);
!
! if (xdb_commands)
{
add_com_alias ("ba", "break", class_breakpoint, 1);
add_com_alias ("bu", "ubreak", class_breakpoint, 1);
- add_com ("bx", class_breakpoint, break_at_finish_at_depth_command,
- "Set breakpoint at procedure exit. Either there should\n\
- be no argument or the argument must be a depth.\n");
}
if (dbx_commands)
--- 7488,7497 ----
add_com_alias ("bre", "break", class_run, 1);
add_com_alias ("brea", "break", class_run, 1);
! if (xdb_commands)
{
add_com_alias ("ba", "break", class_breakpoint, 1);
add_com_alias ("bu", "ubreak", class_breakpoint, 1);
}
if (dbx_commands)
Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.19
diff -c -3 -p -r1.19 hppa-tdep.c
*** hppa-tdep.c 2002/01/13 15:48:56 1.19
--- hppa-tdep.c 2002/02/01 02:00:21
*************** hppa_skip_permanent_breakpoint (void)
*** 4675,4685 ****
--- 4675,4717 ----
void
_initialize_hppa_tdep (void)
{
+ struct cmd_list_element *c;
+ void break_at_finish_command (char *arg, int from_tty);
+ void tbreak_at_finish_command (char *arg, int from_tty);
+ void break_at_finish_at_depth_command (char *arg, int from_tty);
+
tm_print_insn = print_insn_hppa;
add_cmd ("unwind", class_maintenance, unwind_command,
"Print unwind table entry at given address.",
&maintenanceprintlist);
+
+ add_com ("xbreak", class_breakpoint, break_at_finish_command,
+ concat ("Set breakpoint at procedure exit. \n\
+ Argument may be function name, or \"*\" and an address.\n\
+ If function is specified, break at end of code for that function.\n\
+ If an address is specified, break at the end of the function that contains \n\
+ that exact address.\n",
+ "With no arg, uses current execution address of selected stack frame.\n\
+ This is useful for breaking on return to a stack frame.\n\
+ \n\
+ Multiple breakpoints at one place are permitted, and useful if conditional.\n\
+ \n\
+ Do \"help breakpoints\" for info on other commands dealing with breakpoints.", NULL));
+ add_com_alias ("xb", "xbreak", class_breakpoint, 1);
+ add_com_alias ("xbr", "xbreak", class_breakpoint, 1);
+ add_com_alias ("xbre", "xbreak", class_breakpoint, 1);
+ add_com_alias ("xbrea", "xbreak", class_breakpoint, 1);
+
+ c = add_com ("txbreak", class_breakpoint, tbreak_at_finish_command,
+ "Set temporary breakpoint at procedure exit. Either there should\n\
+ be no argument or the argument must be a depth.\n");
+ c->completer = location_completer;
+
+ if (xdb_commands)
+ add_com ("bx", class_breakpoint, break_at_finish_at_depth_command,
+ "Set breakpoint at procedure exit. Either there should\n\
+ be no argument or the argument must be a depth.\n");
}
/* Copy the function value from VALBUF into the proper location