projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
daily update
[deliverable/binutils-gdb.git]
/
gdb
/
dcache.c
diff --git
a/gdb/dcache.c
b/gdb/dcache.c
index 5fe1c47a81c74b0adc10aa37c543162d438dbe80..6e742746363b4cad7a67e24214bb6a0fcef8ef4d 100644
(file)
--- a/
gdb/dcache.c
+++ b/
gdb/dcache.c
@@
-1,5
+1,6
@@
/* Caching code.
/* Caching code.
- Copyright 1992-1993, 1995, 1998-1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright 1992, 1993, 1995, 1996, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-277,20
+278,24
@@
dcache_write_line (DCACHE *dcache, register struct dcache_block *db)
while (reg_len > 0)
{
s = XFORM(memaddr);
while (reg_len > 0)
{
s = XFORM(memaddr);
-
do
{
+
while (reg_len > 0)
{
if (db->state[s] == ENTRY_DIRTY)
break;
s++;
reg_len--;
if (db->state[s] == ENTRY_DIRTY)
break;
s++;
reg_len--;
- } while (reg_len > 0);
+
+ memaddr++;
+ myaddr++;
+ len--;
+ }
e = s;
e = s;
-
do
{
+
while (reg_len > 0)
{
if (db->state[e] != ENTRY_DIRTY)
break;
e++;
reg_len--;
if (db->state[e] != ENTRY_DIRTY)
break;
e++;
reg_len--;
- }
while (reg_len > 0);
+ }
dirty_len = e - s;
while (dirty_len > 0)
dirty_len = e - s;
while (dirty_len > 0)
@@
-303,6
+308,7
@@
dcache_write_line (DCACHE *dcache, register struct dcache_block *db)
memset (&db->state[XFORM(memaddr)], ENTRY_OK, res);
memaddr += res;
myaddr += res;
memset (&db->state[XFORM(memaddr)], ENTRY_OK, res);
memaddr += res;
myaddr += res;
+ len -= res;
dirty_len -= res;
}
}
dirty_len -= res;
}
}
This page took
0.027894 seconds
and
4
git commands to generate.