From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9518 invoked by alias); 13 Jun 2002 16:27:43 -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 9509 invoked from network); 13 Jun 2002 16:27:41 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 13 Jun 2002 16:27:41 -0000 Received: from redhat.com (romulus.sfbay.redhat.com [172.16.27.251]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id JAA02525 for ; Thu, 13 Jun 2002 09:27:40 -0700 (PDT) From: trix@redhat.com Message-ID: <3D08C70D.4CB485D4@redhat.com> Date: Thu, 13 Jun 2002 09:27:00 -0000 X-Accept-Language: en MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: patch d10v sim large transfers. Content-Type: multipart/mixed; boundary="------------5C89CC9CD8B4D375FE3D7677" X-SW-Source: 2002-06/txt/msg00214.txt.bz2 This is a multi-part message in MIME format. --------------5C89CC9CD8B4D375FE3D7677 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-length: 146 The size is never decrements in xfer_mem. If there are no objections, I will commit this patch. Tom -- Tom Rix GCC Engineer trix@redhat.com --------------5C89CC9CD8B4D375FE3D7677 Content-Type: text/plain; charset=us-ascii; name="sim-d10v-seg-1001-fa.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="sim-d10v-seg-1001-fa.patch" Content-length: 783 sim/d10v: 2002-06-13 Tom Rix * interp.c (xfer_mem): Fix transfers across multiple segments. Index: sim/d10v/interp.c =================================================================== RCS file: /cvs/src/src/sim/d10v/interp.c,v retrieving revision 1.11 diff -d -u -p -r1.11 interp.c --- sim/d10v/interp.c 9 Jun 2002 15:45:46 -0000 1.11 +++ sim/d10v/interp.c 13 Jun 2002 16:18:34 -0000 @@ -715,7 +715,7 @@ xfer_mem (SIM_ADDR virt, { int xfered = 0; - while (xfered < size) + while (0 < size) { uint8 *memory; unsigned long phys; @@ -754,9 +754,10 @@ xfer_mem (SIM_ADDR virt, virt += phys_size; buffer += phys_size; xfered += phys_size; + size -= phys_size; } - return size; + return xfered; } --------------5C89CC9CD8B4D375FE3D7677--