From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10674 invoked by alias); 13 Apr 2002 00:34:09 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 10648 invoked from network); 13 Apr 2002 00:34:07 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 13 Apr 2002 00:34:07 -0000 Received: from redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id RAA16032; Fri, 12 Apr 2002 17:34:06 -0700 (PDT) Message-ID: <3CB77A2E.F72688E2@redhat.com> Date: Fri, 12 Apr 2002 17:34:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Accept-Language: en MIME-Version: 1.0 To: Andrew Cagney CC: Michael Snyder , gdb-patches@sources.redhat.com, jimb@redhat.com Subject: Re: [PATCH] d10v_make_iaddr: make it idempotent. References: <200204122239.g3CMdVB13335@reddwarf.sfbay.redhat.com> <3CB76D5E.5040506@cygnus.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-04/txt/msg00482.txt.bz2 Andrew Cagney wrote: > > > 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. > > Michael, I don't understand this change. Why does it need to be > idempotent - isn't that a bug somewhere else? If you say "x/i 0x20001234", you don't want it to apply the transform to that address. > And why move the code? Just because I called dq0v_iaddr_p. I have a preference for ordering functions rather than adding prototypes. I guess that's not the best thing to do... > > Andrew > > > Index: d10v-tdep.c > > =================================================================== > > RCS file: /cvs/cvsfiles/devo/gdb/d10v-tdep.c,v > > retrieving revision 2.88 > > diff -c -3 -p -r2.88 d10v-tdep.c > > *** d10v-tdep.c 2002/04/09 03:00:45 2.88 > > --- d10v-tdep.c 2002/04/12 22:47:30 > > *************** d10v_register_virtual_type (int reg_nr) > > *** 356,373 **** > > 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) > > { > > --- 356,361 ---- > > *************** d10v_iaddr_p (CORE_ADDR x) > > *** 380,385 **** > > --- 368,387 ---- > > 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) > >