From 169a7369fc9650d6a2e98829bdf5d9da1838dc9a Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Fri, 12 Apr 2002 22:50:42 +0000 Subject: [PATCH] 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. --- gdb/ChangeLog | 3 +++ gdb/d10v-tdep.c | 26 ++++++++++++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index acbadb9d74b..adfa6533acc 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 f2ee7d56991..df3567934bb 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) -- 2.30.2