RFC: Support target specific qSupported

H.J. Lu hjl.tools@gmail.com
Wed Feb 3 18:31:00 GMT 2010


On Wed, Feb 3, 2010 at 9:56 AM, Daniel Jacobowitz <dan@codesourcery.com> wrote:
> On Wed, Feb 03, 2010 at 08:44:03AM -0800, H.J. Lu wrote:
>> @@ -566,6 +569,9 @@ init_remote_state (struct gdbarch *gdbarch)
>>        rs->buf = xrealloc (rs->buf, rs->buf_size);
>>      }
>>
>> +  /* Record our GDBARCH.  */
>> +  rs->gdbarch = gdbarch;
>> +
>>    return rsa;
>>  }
>>
>
> Sorry, I didn't notice this before.  Is target_gdbarch available at
> this point?  That's the one I'd expect.
>

Yes, I can use target_gdbarch. I checked in this patch to remove gdbarch
from remote_state.

Thanks.


-- 
H.J.
--diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index af536a7..ade4aa0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
 2010-02-03  H.J. Lu  <hongjiu.lu@intel.com>

+	* remote.c (remote_state): Remove gdbarch.
+	(init_remote_state): Don't set gdbarch.
+	(remote_query_supported): Pass target_gdbarch instead of
+	rs->gdbarch to gdbarch_qsupported.
+
+2010-02-03  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* gdbarch.sh: Add qsupported.

 	* gdbarch.c: Regenerated.
diff --git a/gdb/remote.c b/gdb/remote.c
index 2c3dfdb..709e424 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -327,9 +327,6 @@ struct remote_state
   /* Nonzero if the user has pressed Ctrl-C, but the target hasn't
      responded to that.  */
   int ctrlc_pending_p;
-
-  /* GDBARCH associated with this target.  */
-  struct gdbarch *gdbarch;
 };

 /* Private data that we'll store in (struct thread_info)->private.  */
@@ -569,9 +566,6 @@ init_remote_state (struct gdbarch *gdbarch)
       rs->buf = xrealloc (rs->buf, rs->buf_size);
     }

-  /* Record our GDBARCH.  */
-  rs->gdbarch = gdbarch;
-
   return rsa;
 }

@@ -3481,7 +3475,7 @@ remote_query_supported (void)
   rs->buf[0] = 0;
   if (remote_protocol_packets[PACKET_qSupported].support != PACKET_DISABLE)
     {
-      const char *qsupported = gdbarch_qsupported (rs->gdbarch);
+      const char *qsupported = gdbarch_qsupported (target_gdbarch);
       if (qsupported)
 	{
 	  char *q;



More information about the Gdb-patches mailing list