aboutsummaryrefslogtreecommitdiff
path: root/gdb/sh-tdep.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-03-27 19:11:11 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-03-27 19:11:11 +0000
commitbac718a6270c531c3a2a334a4231f9fe244e3577 (patch)
treea73d5425e9535aa7f67499ea86b6ffd986c7210a /gdb/sh-tdep.c
parent506c7aa0d5a2920f15435738eae9948f2ba5e6a1 (diff)
downloadgdb-bac718a6270c531c3a2a334a4231f9fe244e3577.zip
gdb-bac718a6270c531c3a2a334a4231f9fe244e3577.tar.gz
gdb-bac718a6270c531c3a2a334a4231f9fe244e3577.tar.bz2
* config/sh/tm-sh.h (DEPRECATED_BIG_REMOTE_BREAKPOINT,
DEPRECATED_LITTLE_REMOTE_BREAKPOINT): Remove. * remote.c: Remove code under #ifdef DEPRECATED_REMOTE_BREAKPOINT, DEPRECATED_BIG_REMOTE_BREAKPOINT, DEPRECATED_LITTLE_REMOTE_BREAKPOINT. * sh-tdep.c (sh_breakpoint_from_pc): Return remote breakpoint sequence if target_shortname is "remote". doc/ChangeLog: * gdbint.texinfo (Target Conditionals): Remove mention of DEPRECATED_REMOTE_BREAKPOINT, DEPRECATED_BIG_REMOTE_BREAKPOINT, and DEPRECATED_LITTLE_REMOTE_BREAKPOINT.
Diffstat (limited to 'gdb/sh-tdep.c')
-rw-r--r--gdb/sh-tdep.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index 59f374b..61ca104 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -389,6 +389,24 @@ sh_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr)
/* 0xc3c3 is trapa #c3, and it works in big and little endian modes */
static unsigned char breakpoint[] = { 0xc3, 0xc3 };
+ /* For remote stub targets, trapa #20 is used. */
+ if (strcmp (target_shortname, "remote") == 0)
+ {
+ static unsigned char big_remote_breakpoint[] = { 0xc3, 0x20 };
+ static unsigned char little_remote_breakpoint[] = { 0x20, 0xc3 };
+
+ if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+ {
+ *lenptr = sizeof (big_remote_breakpoint);
+ return big_remote_breakpoint;
+ }
+ else
+ {
+ *lenptr = sizeof (little_remote_breakpoint);
+ return little_remote_breakpoint;
+ }
+ }
+
*lenptr = sizeof (breakpoint);
return breakpoint;
}