Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Michael Snyder <msnyder@cygnus.com>
To: gdb-patches@sources.redhat.com
Cc: gdb@sources.redhat.com
Subject: [PATCH]: Remove "xbreak" and "txbreak" to hppa target code.
Date: Thu, 31 Jan 2002 18:08:00 -0000	[thread overview]
Message-ID: <200202010202.g11223D00634@reddwarf.cygnus.com> (raw)


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


             reply	other threads:[~2002-02-01  2:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-31 18:08 Michael Snyder [this message]
2002-01-31 18:41 ` Andrew Cagney
2002-02-01 14:43 ` Michael Snyder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200202010202.g11223D00634@reddwarf.cygnus.com \
    --to=msnyder@cygnus.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox