From 9e0eb2b4807e86e1ebe2879c8fa7a12c2ce88a35 Mon Sep 17 00:00:00 2001 From: "Theodore A. Roth" Date: Wed, 5 Mar 2003 19:21:41 +0000 Subject: [PATCH] * avr-tdep.c (avr_io_reg_read_command): Fix to handle case when the number of io registers reported by remote target is not a multiple of step. --- gdb/ChangeLog | 6 ++++++ gdb/avr-tdep.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1ff487caab2..b3d3c106e27 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2003-03-04 Theodore A. Roth + + * avr-tdep.c (avr_io_reg_read_command): Fix to handle case when the + number of io registers reported by remote target is not a multiple of + step. + 2003-02-04 David Carlton * objfiles.c (allocate_objfile): Always set name. Add comment at diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index f2a81b17ec5..1811cbe93d3 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -1343,7 +1343,10 @@ avr_io_reg_read_command (char *args, int from_tty) for (i = 0; i < nreg; i += step) { - j = step - (nreg % step); /* how many registers this round? */ + /* how many registers this round? */ + j = step; + if ( (i+j) >= nreg) + j = nreg - i; /* last block is less than 8 registers */ snprintf (query, sizeof (query) - 1, "avr.io_reg:%x,%x", i, j); target_query ((int) 'R', query, buf, &bufsiz); -- 2.47.2