aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/remote.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d1f0be7..f16b7b6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-15 Daniel Jacobowitz <dan@codesourcery.com>
+
+ PR remote/2158
+ * remote.c (remote_write_bytes): Throttle packet alignment
+ for small packets.
+
2006-10-16 Jeff Johnston <jjohnstn@redhat.com>
* linux-thread-db.c (thread_db_wait): Don't bother continuing if
diff --git a/gdb/remote.c b/gdb/remote.c
index 9a9e94d..d8d42f6 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -4013,8 +4013,9 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
payload_size);
/* If not all TODO bytes fit, then we'll need another packet. Make
- a second try to keep the end of the packet aligned. */
- if (nr_bytes < todo)
+ a second try to keep the end of the packet aligned. Don't do
+ this if the packet is tiny. */
+ if (nr_bytes < todo && nr_bytes > 2 * REMOTE_ALIGN_WRITES)
{
int new_nr_bytes;