diff --git a/gdb/ChangeLog b/gdb/ChangeLog index acbadb9d74..adfa6533ac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -18,6 +18,9 @@ 2002-04-12 Michael Snyder + * 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. diff --git a/gdb/d10v-tdep.c b/gdb/d10v-tdep.c index f2ee7d5699..df3567934b 100644 --- a/gdb/d10v-tdep.c +++ b/gdb/d10v-tdep.c @@ -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)