aboutsummaryrefslogtreecommitdiff
path: root/sim/d10v/interp.c
diff options
context:
space:
mode:
authorTom Rix <trix@redhat.com>2002-06-15 11:01:34 +0000
committerTom Rix <trix@redhat.com>2002-06-15 11:01:34 +0000
commit3d2957e64ee7ea47e2903e9e63f807fd10f3b9cb (patch)
treea91e4594353dcb1421b9cbc2c52e36c04141fdd3 /sim/d10v/interp.c
parente75700dfba681d16e0598f8b120319387bb41ab0 (diff)
downloadgdb-3d2957e64ee7ea47e2903e9e63f807fd10f3b9cb.zip
gdb-3d2957e64ee7ea47e2903e9e63f807fd10f3b9cb.tar.gz
gdb-3d2957e64ee7ea47e2903e9e63f807fd10f3b9cb.tar.bz2
Fix for transfers across segments.
Diffstat (limited to 'sim/d10v/interp.c')
-rw-r--r--sim/d10v/interp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index e465a80..0f7295d 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -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;
}