This is the mail archive of the gdb-patches@sourceware.org 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]

Delete gdbarch_qsupported


As discussed before, gdbarch_qsupported has multi-arch design
problems (it assumes gdb already has a half-correct gdbarch
selected).  This was added to have gdbserver send a target
description only iff gdb understands it.  We ended up with a registration
mechanism in remote.c instead to do the same, but without
the gdbarch callback's problem.  I've applied this patch to remove the
callback, so that nobody ends up using it oblivious of its problems.

-- 
Pedro Alves

2010-05-07  Pedro Alves  <pedro@codesourcery.com>

	* gdbarch.sh (qsupported): Delete.
	* gdbarch.h, gdbarch.c: Regenerate.
	* remote.c (remote_query_supported): Remove use of
	gdbarch_qsupported.

---
 gdb/gdbarch.c  |   23 -----------------------
 gdb/gdbarch.h  |    5 -----
 gdb/gdbarch.sh |    3 ---
 gdb/remote.c   |    4 ----
 4 files changed, 35 deletions(-)

Index: src/gdb/gdbarch.c
===================================================================
--- src.orig/gdb/gdbarch.c	2010-05-07 14:11:06.000000000 +0100
+++ src/gdb/gdbarch.c	2010-05-07 14:11:32.000000000 +0100
@@ -260,7 +260,6 @@ struct gdbarch
   int has_global_breakpoints;
   gdbarch_has_shared_address_space_ftype *has_shared_address_space;
   gdbarch_fast_tracepoint_valid_at_ftype *fast_tracepoint_valid_at;
-  const char * qsupported;
   gdbarch_auto_charset_ftype *auto_charset;
   gdbarch_auto_wide_charset_ftype *auto_wide_charset;
   const char * solib_symbols_extension;
@@ -408,7 +407,6 @@ struct gdbarch startup_gdbarch =
   0,  /* has_global_breakpoints */
   default_has_shared_address_space,  /* has_shared_address_space */
   default_fast_tracepoint_valid_at,  /* fast_tracepoint_valid_at */
-  0,  /* qsupported */
   default_auto_charset,  /* auto_charset */
   default_auto_wide_charset,  /* auto_wide_charset */
   0,  /* solib_symbols_extension */
@@ -681,7 +679,6 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of has_global_breakpoints, invalid_p == 0 */
   /* Skip verify of has_shared_address_space, invalid_p == 0 */
   /* Skip verify of fast_tracepoint_valid_at, invalid_p == 0 */
-  /* Skip verify of qsupported, invalid_p == 0 */
   /* Skip verify of auto_charset, invalid_p == 0 */
   /* Skip verify of auto_wide_charset, invalid_p == 0 */
   /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
@@ -1068,9 +1065,6 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: push_dummy_code = <%s>\n",
                       host_address_to_string (gdbarch->push_dummy_code));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: qsupported = %s\n",
-                      gdbarch->qsupported);
-  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_read_pc_p() = %d\n",
                       gdbarch_read_pc_p (gdbarch));
   fprintf_unfiltered (file,
@@ -3616,23 +3610,6 @@ set_gdbarch_fast_tracepoint_valid_at (st
 }
 
 const char *
-gdbarch_qsupported (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  /* Skip verify of qsupported, invalid_p == 0 */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_qsupported called\n");
-  return gdbarch->qsupported;
-}
-
-void
-set_gdbarch_qsupported (struct gdbarch *gdbarch,
-                        const char * qsupported)
-{
-  gdbarch->qsupported = qsupported;
-}
-
-const char *
 gdbarch_auto_charset (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
Index: src/gdb/gdbarch.h
===================================================================
--- src.orig/gdb/gdbarch.h	2010-05-07 14:09:12.000000000 +0100
+++ src/gdb/gdbarch.h	2010-05-07 14:11:32.000000000 +0100
@@ -923,11 +923,6 @@ typedef int (gdbarch_fast_tracepoint_val
 extern int gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, int *isize, char **msg);
 extern void set_gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, gdbarch_fast_tracepoint_valid_at_ftype *fast_tracepoint_valid_at);
 
-/* Not NULL if a target has additonal field for qSupported. */
-
-extern const char * gdbarch_qsupported (struct gdbarch *gdbarch);
-extern void set_gdbarch_qsupported (struct gdbarch *gdbarch, const char * qsupported);
-
 /* Return the "auto" target charset. */
 
 typedef const char * (gdbarch_auto_charset_ftype) (void);
Index: src/gdb/gdbarch.sh
===================================================================
--- src.orig/gdb/gdbarch.sh	2010-05-07 14:11:06.000000000 +0100
+++ src/gdb/gdbarch.sh	2010-05-07 14:11:32.000000000 +0100
@@ -767,9 +767,6 @@ m:int:has_shared_address_space:void:::de
 # True if a fast tracepoint can be set at an address.
 m:int:fast_tracepoint_valid_at:CORE_ADDR addr, int *isize, char **msg:addr, isize, msg::default_fast_tracepoint_valid_at::0
 
-# Not NULL if a target has additonal field for qSupported.
-v:const char *:qsupported:::0:0::0:gdbarch->qsupported
-
 # Return the "auto" target charset.
 f:const char *:auto_charset:void::default_auto_charset:default_auto_charset::0
 # Return the "auto" target wide charset.
Index: src/gdb/remote.c
===================================================================
--- src.orig/gdb/remote.c	2010-05-07 14:09:12.000000000 +0100
+++ src/gdb/remote.c	2010-05-07 14:11:32.000000000 +0100
@@ -3562,13 +3562,9 @@ remote_query_supported (void)
   if (remote_protocol_packets[PACKET_qSupported].support != PACKET_DISABLE)
     {
       char *q = NULL;
-      const char *qsupported = gdbarch_qsupported (target_gdbarch);
 
       if (rs->extended)
 	q = remote_query_supported_append (q, "multiprocess+");
-      
-      if (qsupported)
-	q = remote_query_supported_append (q, qsupported);
 
       if (remote_support_xml)
 	q = remote_query_supported_append (q, remote_support_xml);


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