X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gdb%2Fremote-mips.c;h=ffe0f1c6f2c0a40e22fb594b74285a61c5557e67;hb=a69ab7d8031f2abc52c8a6781bed299b8401a496;hp=971da6d5dda639e3a4741a66976b57ff62162fb2;hpb=a34e466a4813592ef802e20999f70bd68242c448;p=pf3gnuchains%2Fsourceware.git diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c index 971da6d5dd..ffe0f1c6f2 100644 --- a/gdb/remote-mips.c +++ b/gdb/remote-mips.c @@ -1,7 +1,7 @@ /* Remote debugging interface for MIPS remote debugging protocol. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, + 2003, 2004, 2006, 2007 Free Software Foundation, Inc. Contributed by Cygnus Support. Written by Ian Lance Taylor . @@ -20,8 +20,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ #include "defs.h" #include "inferior.h" @@ -31,6 +31,7 @@ #include "gdbcore.h" #include "serial.h" #include "target.h" +#include "exceptions.h" #include "remote-utils.h" #include "gdb_string.h" #include "gdb_stat.h" @@ -107,7 +108,7 @@ static unsigned int mips_fetch_word (CORE_ADDR addr); static int mips_store_word (CORE_ADDR addr, unsigned int value, char *old_contents); -static int mips_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, +static int mips_xfer_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len, int write, struct mem_attrib *attrib, struct target_ops *target); @@ -496,7 +497,7 @@ mips_error (char *string,...) printf_unfiltered ("Ending remote MIPS debugging.\n"); target_mourn_inferior (); - throw_exception (RETURN_ERROR); + deprecated_throw_reason (RETURN_ERROR); } /* putc_readable - print a character, displaying non-printable chars in @@ -1212,7 +1213,7 @@ mips_request (int cmd, { if (mips_need_reply) internal_error (__FILE__, __LINE__, - "mips_request: Trying to send command before reply"); + _("mips_request: Trying to send command before reply")); sprintf (buff, "0x0 %c 0x%s 0x%s", cmd, paddr_nz (addr), paddr_nz (data)); mips_send_packet (buff, 1); mips_need_reply = 1; @@ -1223,7 +1224,7 @@ mips_request (int cmd, if (!mips_need_reply) internal_error (__FILE__, __LINE__, - "mips_request: Trying to get reply before command"); + _("mips_request: Trying to get reply before command")); mips_need_reply = 0; @@ -1583,7 +1584,7 @@ device is attached to the target board (e.g., /dev/ttya).\n" of some sort. That doesn't happen here (in fact, it may not be possible to get the monitor to send the appropriate packet). */ - flush_cached_frames (); + reinit_frame_cache (); registers_changed (); stop_pc = read_pc (); print_stack_frame (get_selected_frame (NULL), 0, SRC_AND_LOC); @@ -2028,7 +2029,7 @@ mips_store_word (CORE_ADDR addr, unsigned int val, char *old_contents) static int mask_address_p = 1; static int -mips_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, +mips_xfer_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len, int write, struct mem_attrib *attrib, struct target_ops *target) { int i; @@ -2147,7 +2148,7 @@ Give up (and stop debugging it)? ")) printf_unfiltered ("Ending remote MIPS debugging.\n"); target_mourn_inferior (); - throw_exception (RETURN_QUIT); + deprecated_throw_reason (RETURN_QUIT); } target_terminal_inferior (); @@ -2196,7 +2197,7 @@ Can't pass arguments to remote MIPS board; arguments ignored."); /* FIXME: Should we set inferior_ptid here? */ - proceed (entry_pt, TARGET_SIGNAL_DEFAULT, 0); + write_pc (entry_pt); } /* Clean up after a process. Actually nothing to do. */ @@ -2215,27 +2216,28 @@ mips_mourn_inferior (void) /* Insert a breakpoint. On targets that don't have built-in breakpoint support, we read the contents of the target location and stash it, then overwrite it with a breakpoint instruction. ADDR is - the target location in the target machine. CONTENTS_CACHE is a - pointer to memory allocated for saving the target contents. It is - guaranteed by the caller to be long enough to save the breakpoint - length returned by BREAKPOINT_FROM_PC. */ + the target location in the target machine. BPT is the breakpoint + being inserted or removed, which contains memory for saving the + target contents. */ static int -mips_insert_breakpoint (CORE_ADDR addr, char *contents_cache) +mips_insert_breakpoint (struct bp_target_info *bp_tgt) { if (monitor_supports_breakpoints) - return set_breakpoint (addr, MIPS_INSN32_SIZE, BREAK_FETCH); + return set_breakpoint (bp_tgt->placed_address, MIPS_INSN32_SIZE, + BREAK_FETCH); else - return memory_insert_breakpoint (addr, contents_cache); + return memory_insert_breakpoint (bp_tgt); } static int -mips_remove_breakpoint (CORE_ADDR addr, char *contents_cache) +mips_remove_breakpoint (struct bp_target_info *bp_tgt) { if (monitor_supports_breakpoints) - return clear_breakpoint (addr, MIPS_INSN32_SIZE, BREAK_FETCH); + return clear_breakpoint (bp_tgt->placed_address, MIPS_INSN32_SIZE, + BREAK_FETCH); else - return memory_remove_breakpoint (addr, contents_cache); + return memory_remove_breakpoint (bp_tgt); } /* Tell whether this target can support a hardware breakpoint. CNT @@ -2539,7 +2541,7 @@ common_breakpoint (int set, CORE_ADDR addr, int len, enum break_type type) flags = "f"; break; default: - internal_error (__FILE__, __LINE__, "failed internal consistency check"); + internal_error (__FILE__, __LINE__, _("failed internal consistency check")); } cmd = 'B'; @@ -2656,7 +2658,8 @@ mips_load_srec (char *args) bfd_get_section_contents (abfd, s, buffer, i, numbytes); - reclen = mips_make_srec (srec, '3', s->vma + i, buffer, numbytes); + reclen = mips_make_srec (srec, '3', s->vma + i, + buffer, numbytes); send_srec (srec, reclen, s->vma + i); if (deprecated_ui_load_progress_hook) @@ -3173,7 +3176,8 @@ pmon_load_fast (char *file) the line: */ for (; ((binamount - binptr) > 0);) { - pmon_make_fastrec (&bp, binbuf, &binptr, binamount, &reclen, &csum, &zerofill); + pmon_make_fastrec (&bp, binbuf, &binptr, binamount, + &reclen, &csum, &zerofill); if (reclen >= (MAXRECSIZE - CHECKSIZE)) { reclen = pmon_checkset (reclen, &bp, &csum); @@ -3367,56 +3371,60 @@ of the TFTP temporary file, if it differs from the filename seen by the board."; add_target (&ddb_ops); add_target (&lsi_ops); - deprecated_add_show_from_set - (add_set_cmd ("timeout", no_class, var_zinteger, - (char *) &mips_receive_wait, - "Set timeout in seconds for remote MIPS serial I/O.", - &setlist), - &showlist); - - deprecated_add_show_from_set - (add_set_cmd ("retransmit-timeout", no_class, var_zinteger, - (char *) &mips_retransmit_wait, "\ -Set retransmit timeout in seconds for remote MIPS serial I/O.\n\ + add_setshow_zinteger_cmd ("timeout", no_class, &mips_receive_wait, _("\ +Set timeout in seconds for remote MIPS serial I/O."), _("\ +Show timeout in seconds for remote MIPS serial I/O."), NULL, + NULL, + NULL, /* FIXME: i18n: */ + &setlist, &showlist); + + add_setshow_zinteger_cmd ("retransmit-timeout", no_class, + &mips_retransmit_wait, _("\ +Set retransmit timeout in seconds for remote MIPS serial I/O."), _("\ +Show retransmit timeout in seconds for remote MIPS serial I/O."), _("\ This is the number of seconds to wait for an acknowledgement to a packet\n\ -before resending the packet.", &setlist), - &showlist); - - deprecated_add_show_from_set - (add_set_cmd ("syn-garbage-limit", no_class, var_zinteger, - (char *) &mips_syn_garbage, "\ -Set the maximum number of characters to ignore when scanning for a SYN.\n\ +before resending the packet."), + NULL, + NULL, /* FIXME: i18n: */ + &setlist, &showlist); + + add_setshow_zinteger_cmd ("syn-garbage-limit", no_class, + &mips_syn_garbage, _("\ +Set the maximum number of characters to ignore when scanning for a SYN."), _("\ +Show the maximum number of characters to ignore when scanning for a SYN."), _("\ This is the maximum number of characters GDB will ignore when trying to\n\ synchronize with the remote system. A value of -1 means that there is no\n\ limit. (Note that these characters are printed out even though they are\n\ -ignored.)", - &setlist), - &showlist); - - deprecated_add_show_from_set - (add_set_cmd ("monitor-prompt", class_obscure, var_string, - (char *) &mips_monitor_prompt, - "Set the prompt that GDB expects from the monitor.", - &setlist), - &showlist); - - deprecated_add_show_from_set - (add_set_cmd ("monitor-warnings", class_obscure, var_zinteger, - (char *) &monitor_warnings, - "Set printing of monitor warnings.\n" - "When enabled, monitor warnings about hardware breakpoints " - "will be displayed.", - &setlist), - &showlist); - - add_com ("pmon ", class_obscure, pmon_command, - "Send a packet to PMON (must be in debug mode)."); - - deprecated_add_show_from_set - (add_set_cmd ("mask-address", no_class, - var_boolean, &mask_address_p, "\ -Set zeroing of upper 32 bits of 64-bit addresses when talking to PMON targets.\n\ -Use \"on\" to enable the masking and \"off\" to disable it.\n", - &setlist), - &showlist); +ignored.)"), + NULL, + NULL, /* FIXME: i18n: */ + &setlist, &showlist); + + add_setshow_string_cmd ("monitor-prompt", class_obscure, + &mips_monitor_prompt, _("\ +Set the prompt that GDB expects from the monitor."), _("\ +Show the prompt that GDB expects from the monitor."), NULL, + NULL, + NULL, /* FIXME: i18n: */ + &setlist, &showlist); + + add_setshow_zinteger_cmd ("monitor-warnings", class_obscure, + &monitor_warnings, _("\ +Set printing of monitor warnings."), _("\ +Show printing of monitor warnings."), _("\ +When enabled, monitor warnings about hardware breakpoints will be displayed."), + NULL, + NULL, /* FIXME: i18n: */ + &setlist, &showlist); + + add_com ("pmon", class_obscure, pmon_command, + _("Send a packet to PMON (must be in debug mode).")); + + add_setshow_boolean_cmd ("mask-address", no_class, &mask_address_p, _("\ +Set zeroing of upper 32 bits of 64-bit addresses when talking to PMON targets."), _("\ +Show zeroing of upper 32 bits of 64-bit addresses when talking to PMON targets."), _("\ +Use \"on\" to enable the masking and \"off\" to disable it."), + NULL, + NULL, /* FIXME: i18n: */ + &setlist, &showlist); }