This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR13984 - gdb stops controlling a thread after "Remote 'g' packet reply is too long: ..." error message


On 04/10/2016 09:49 AM, Orgad Shaneh wrote:
Please review the attached patch. It was inspired by the patch
attached to the bug report.

Usually, when you receive that message from GDB it because your target reported an incorrect register set as a 'g' reply.

The correct solution is to fix your remote target to reply the proper register set.

From the description, it sounds like QEMU needs to be adjusted.



 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

     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);

This is a serious error. If GDB fetches a bogus register set reply, it will most definitely do the wrong thing after this.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]