From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3702 invoked by alias); 1 Feb 2002 02:08:58 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 3456 invoked from network); 1 Feb 2002 02:08:51 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 1 Feb 2002 02:08:51 -0000 Received: from reddwarf.cygnus.com (reddwarf.sfbay.redhat.com [205.180.231.12]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id SAA21747; Thu, 31 Jan 2002 18:08:49 -0800 (PST) Received: (from msnyder@localhost) by reddwarf.cygnus.com (8.11.2/8.11.2) id g11223D00634; Thu, 31 Jan 2002 18:02:03 -0800 Date: Thu, 31 Jan 2002 18:08:00 -0000 From: Michael Snyder Message-Id: <200202010202.g11223D00634@reddwarf.cygnus.com> To: gdb-patches@sources.redhat.com Subject: [PATCH]: Remove "xbreak" and "txbreak" to hppa target code. Cc: gdb@sources.redhat.com X-SW-Source: 2002-01/txt/msg00826.txt.bz2 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 * 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