From 03ab95933b85dd85c2f4fa5797017e6cee0c8466 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 10 Apr 2016 17:39:24 +0300 Subject: [PATCH] PR13984, gdb stops controlling a thread... ... after "Remote 'g' packet reply is too long: ..." error message PR13984: remote.c: Handle long g packets instead of failing --- gdb/remote.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gdb/remote.c b/gdb/remote.c index 5c407b6..e8951dc 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -7188,10 +7188,6 @@ process_g_packet (struct regcache *regcache) buf_len = strlen (rs->buf); - /* Further sanity checks, with knowledge of the architecture. */ - if (buf_len > 2 * rsa->sizeof_g_packet) - error (_("Remote 'g' packet reply is too long: %s"), rs->buf); - /* Save the size of the packet sent to us by the target. It is used as a heuristic when determining the max size of packets that the target can safely receive. */ @@ -7202,7 +7198,7 @@ process_g_packet (struct regcache *regcache) update our records. A 'g' reply that doesn't include a register's value implies either that the register is not available, or that the 'p' packet must be used. */ - if (buf_len < 2 * rsa->sizeof_g_packet) + if (buf_len != 2 * rsa->sizeof_g_packet) { rsa->sizeof_g_packet = buf_len / 2; -- 2.8.0.windows.1