OSDN Git Service

2002-04-12 Michael Snyder <msnyder@redhat.com>
authormsnyder <msnyder>
Fri, 12 Apr 2002 22:50:40 +0000 (22:50 +0000)
committermsnyder <msnyder>
Fri, 12 Apr 2002 22:50:40 +0000 (22:50 +0000)
* d10v-tdep.c (d10v_make_iaddr): Make it idempotent,
in case it gets applied to an address that is already
in the instruction space.

gdb/ChangeLog
gdb/d10v-tdep.c

index acbadb9..adfa653 100644 (file)
@@ -18,6 +18,9 @@
 
 2002-04-12  Michael Snyder  <msnyder@redhat.com>
 
+       * d10v-tdep.c (d10v_make_iaddr): Make it idempotent,
+       in case it gets applied to an address that is already
+       in the instruction space.
        * cli/cli-decode.c (help_list): Allow long lines to wrap.
        * symfile.c: Fix indentation, long lines.
        * source.c: White space fix-up.
index f2ee7d5..df35679 100644 (file)
@@ -356,18 +356,6 @@ d10v_register_virtual_type (int reg_nr)
     return builtin_type_int16;
 }
 
-static CORE_ADDR
-d10v_make_daddr (CORE_ADDR x)
-{
-  return ((x) | DMEM_START);
-}
-
-static CORE_ADDR
-d10v_make_iaddr (CORE_ADDR x)
-{
-  return (((x) << 2) | IMEM_START);
-}
-
 static int
 d10v_daddr_p (CORE_ADDR x)
 {
@@ -380,6 +368,20 @@ d10v_iaddr_p (CORE_ADDR x)
   return (((x) & 0x3000000) == IMEM_START);
 }
 
+static CORE_ADDR
+d10v_make_daddr (CORE_ADDR x)
+{
+  return ((x) | DMEM_START);
+}
+
+static CORE_ADDR
+d10v_make_iaddr (CORE_ADDR x)
+{
+  if (d10v_iaddr_p (x))
+    return x;  /* Idempotency -- x is already in the IMEM space. */
+  else
+    return (((x) << 2) | IMEM_START);
+}
 
 static CORE_ADDR
 d10v_convert_iaddr_to_raw (CORE_ADDR x)