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]

[commit] Remove KOD


Back in January, I got a consensus that Kernel Object Display should be
removed.  This patch does so.  While undoubtedly a useful feature at the
time, there are no longer any targets available which implement it, and
the protocol was undocumented.

I've built this and checked it in.

-- 
Daniel Jacobowitz
CodeSourcery

2006-07-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote.c (remote_xfer_partial): Remove KOD support.
	* target.h (enum target_object): Remove TARGET_OBJECT_KOD.
	* MAINTAINERS: Move Kernel Object Display entry to past maintainers.
	* Makefile.in (SFILES, kod_h, COMMON_OBS, kod.o, kod-cisco.o): Remove KOD
	support.
	* mi/mi-cmds.c (mi_cmds): Remove dummy KOD commands.
	* NEWS: Mention KOD.
	* kod.h, kod.c, kod-cisco.c: Delete files.

2006-07-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* doc/gdb.texinfo (KOD): Remove node.
	(GDB/MI Kod Commands): Remove commented out node.

Index: src/gdb/remote.c
===================================================================
--- src.orig/gdb/remote.c	2006-07-05 11:34:35.000000000 -0400
+++ src/gdb/remote.c	2006-07-05 11:41:52.000000000 -0400
@@ -5140,9 +5140,6 @@ remote_xfer_partial (struct target_ops *
      objects!!!  Instead specify new query packets.  */
   switch (object)
     {
-    case TARGET_OBJECT_KOD:
-      query_type = 'K';
-      break;
     case TARGET_OBJECT_AVR:
       query_type = 'R';
       break;
Index: src/gdb/target.h
===================================================================
--- src.orig/gdb/target.h	2006-07-05 11:34:35.000000000 -0400
+++ src/gdb/target.h	2006-07-05 11:41:52.000000000 -0400
@@ -211,17 +211,10 @@ enum target_signal target_signal_from_na
    in the name.  The old code's failure to do this lead to much
    confusion and duplication of effort as each target object attempted
    to locally take responsibility for something it didn't have to
-   worry about.
-
-   NOTE: cagney/2003-10-17: With a TARGET_OBJECT_KOD object, for
-   backward compatibility with the "target_query" method that this
-   replaced, when OFFSET and LEN are both zero, return the "minimum"
-   buffer size.  See "remote.c" for further information.  */
+   worry about.  */
 
 enum target_object
 {
-  /* Kernel Object Display transfer.  See "kod.c" and "remote.c".  */
-  TARGET_OBJECT_KOD,
   /* AVR target specific transfer.  See "avr-tdep.c" and "remote.c".  */
   TARGET_OBJECT_AVR,
   /* Transfer up-to LEN bytes of memory starting at OFFSET.  */
Index: src/gdb/kod-cisco.c
===================================================================
--- src.orig/gdb/kod-cisco.c	2006-07-05 11:32:50.000000000 -0400
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,318 +0,0 @@
-/* Kernel Object Display facility for Cisco
-   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
-   
-   Written by Tom Tromey <tromey@cygnus.com>.
-   
-This file is part of GDB.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include "defs.h"
-#include "gdb_string.h"
-#include "kod.h"
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-/* Define this to turn off communication with target.  */
-/* #define FAKE_PACKET */
-
-/* Size of buffer used for remote communication.  */
-#define PBUFSIZ 400
-
-/* Pointers to gdb callbacks.  */
-static void (*gdb_kod_display) (char *);
-static void (*gdb_kod_query) (char *, char *, int *);
-
-
-
-/* Initialize and return library name and version.
-   The gdb side of KOD, kod.c, passes us two functions: one for
-   displaying output (presumably to the user) and the other for
-   querying the target.  */
-char *
-cisco_kod_open (kod_display_callback_ftype *display_func,
-		kod_query_callback_ftype *query_func)
-{
-  char buffer[PBUFSIZ];
-  int bufsiz = PBUFSIZ;
-  int i, count;
-
-  gdb_kod_display = display_func;
-  gdb_kod_query = query_func;
-
-  /* Get the OS info, and check the version field.  This is the stub
-     version, which we use to see whether we will understand what
-     comes back.  This is lame, but the `qKoL' request doesn't
-     actually provide enough configurability.
-     
-     Right now the only defined version number is `0.0.0'.
-     This stub supports qKoI and the `a' (any) object requests qKaL
-     and qKaI.  Each `a' object is returned as a 4-byte integer ID.
-     An info request on an object returns a pair of 4-byte integers;
-     the first is the object pointer and the second is the thread ID.  */
-
-#ifndef FAKE_PACKET
-  (*gdb_kod_query) ("oI;", buffer, &bufsiz);
-#else
-  strcpy (buffer, "Cisco IOS/Classic/13.4 0.0.0");
-#endif
-
-  count = 2;
-  for (i = 0; count && buffer[i] != '\0'; ++i)
-    {
-      if (buffer[i] == ' ')
-	--count;
-    }
-
-  if (buffer[i] == '\0')
-    error (_("Remote returned malformed packet."));
-  if (strcmp (&buffer[i], "0.0.0"))
-    error (_("Remote returned unknown stub version: %s."), &buffer[i]);
-
-  /* Return name, version, and description.  I hope we have enough
-     space.  */
-  return (xstrdup ("gdbkodcisco v0.0.0 - Cisco Kernel Object Display"));
-}
-
-/* Close the connection.  */
-void
-cisco_kod_close (void)
-{
-}
-
-/* Print a "bad packet" message.  */
-static void
-bad_packet (void)
-{
-  (*gdb_kod_display) ("Remote target returned malformed packet.\n");
-}
-
-/* Print information about currently known kernel objects.
-   We currently ignore the argument.  There is only one mode of
-   querying the Cisco kernel: we ask for a dump of everything, and
-   it returns it.  */
-void
-cisco_kod_request (char *arg, int from_tty)
-{
-  char buffer[PBUFSIZ], command[PBUFSIZ];
-  int done = 0, i;
-  int fail = 0;
-
-  char **sync_ids = NULL;
-  int sync_len = 0;
-  int sync_next = 0;
-  char *prev_id = NULL;
-
-  if (! arg || strcmp (arg, "any"))
-    {
-      /* "Top-level" command.  This is really silly, but it also seems
-	 to be how KOD is defined.  */
-      /* Even sillier is the fact that this first line must start
-	 with the word "List".  See kod.tcl.  */
-      (*gdb_kod_display) ("List of Cisco Kernel Objects\n");
-      (*gdb_kod_display) ("Object\tDescription\n");
-      (*gdb_kod_display) ("any\tAny and all objects\n");
-      return;
-    }
-
-  while (! done)
-    {
-      int off = 0;		/* Where we are in the string.  */
-      long count;		/* Number of objects in this packet.  */
-      int bufsiz = PBUFSIZ;
-      char *s_end;
-
-      strcpy (command, "aL");
-      if (prev_id)
-	{
-	  strcat (command, ",");
-	  strcat (command, prev_id);
-	}
-      strcat (command, ";");
-
-#ifndef FAKE_PACKET
-      /* We talk to the target by calling through the query function
-	 passed to us when we were initialized.  */
-      (*gdb_kod_query) (command, buffer, &bufsiz);
-#else
-      /* Fake up a multi-part packet.  */
-      if (! strncmp (&command[3], "a500005a", 8))
-	strcpy (buffer, "KAL,01,1,f500005f;f500005f;");
-      else
-	strcpy (buffer, "KAL,02,0,a500005a;a500005a;de02869f;");
-#endif
-
-      /* Empty response is an error.  */
-      if (strlen (buffer) == 0)
-	{
-	  (*gdb_kod_display) ("Remote target did not recognize kernel object query command.\n");
-	  fail = 1;
-	  break;
-	}
-
-      /* If we don't get a `K' response then the buffer holds the
-	 target's error message.  */
-      if (buffer[0] != 'K')
-	{
-	  (*gdb_kod_display) (buffer);
-	  fail = 1;
-	  break;
-	}
-
-      /* Make sure we get the response we expect.  */
-      if (strncmp (buffer, "KAL,", 4))
-	{
-	  bad_packet ();
-	  fail = 1;
-	  break;
-	}
-      off += 4;
-
-      /* Parse out the count.  We expect to convert exactly two
-	 characters followed by a comma.  */
-      count = strtol (&buffer[off], &s_end, 16);
-      if (s_end - &buffer[off] != 2 || buffer[off + 2] != ',')
-	{
-	  bad_packet ();
-	  fail = 1;
-	  break;
-	}
-      off += 3;
-
-      /* Parse out the `done' flag.  */
-      if ((buffer[off] != '0' && buffer[off] != '1')
-	  || buffer[off + 1] != ',')
-	{
-	  bad_packet ();
-	  fail = 1;
-	  break;
-	}
-      done = buffer[off] == '1';
-      off += 2;
-
-      /* Id of the last item; we might this to construct the next
-	 request.  */
-      prev_id = &buffer[off];
-      if (strlen (prev_id) < 8 || buffer[off + 8] != ';')
-	{
-	  bad_packet ();
-	  fail = 1;
-	  break;
-	}
-      buffer[off + 8] = '\0';
-      off += 9;
-
-      sync_len += count;
-      sync_ids = (char **) xrealloc (sync_ids, sync_len * sizeof (char *));
-
-      for (i = 0; i < count; ++i)
-	{
-	  if (strlen (&buffer[off]) < 8 || buffer[off + 8] != ';')
-	    {
-	      bad_packet ();
-	      fail = 1;
-	      break;
-	    }
-	  buffer[off + 8] = '\0';
-	  sync_ids[sync_next++] = xstrdup (&buffer[off]);
-	  off += 9;
-	}
-
-      if (buffer[off] != '\0')
-	{
-	  bad_packet ();
-	  fail = 1;
-	  break;
-	}
-    }
-
-  /* We've collected all the sync object IDs.  Now query to get the
-     specific information, and arrange to print this info.  */
-  if (! fail)
-    {
-      (*gdb_kod_display) ("Object ID\tObject Pointer\tThread ID\n");
-
-      for (i = 0; i < sync_next; ++i)
-	{
-	  int off = 0;
-	  int bufsiz = PBUFSIZ;
-
-	  /* For now assume a query can be accomplished in a single
-	     transaction.  This is implied in the protocol document.
-	     See comments above, and the KOD protocol document, to
-	     understand the parsing of the return value.  */
-	  strcpy (command, "aI,");
-	  strcat (command, sync_ids[i]);
-	  strcat (command, ";");
-
-#ifndef FAKE_PACKET
-	  (*gdb_kod_query) (command, buffer, &bufsiz);
-#else
-	  strcpy (buffer, "KAI,");
-	  strcat (buffer, sync_ids[i]);
-	  strcat (buffer, ",ffef00a0,cd00123d;");
-#endif
-
-	  if (strlen (buffer) == 0)
-	    {
-	      (*gdb_kod_display) ("Remote target did not recognize KOD command.\n");
-	      break;
-	    }
-
-	  if (strncmp (buffer, "KAI,", 4))
-	    {
-	      bad_packet ();
-	      break;
-	    }
-	  off += 4;
-
-	  if (strncmp (&buffer[off], sync_ids[i], 8)
-	      || buffer[off + 8] != ',')
-	    {
-	      bad_packet ();
-	      break;
-	    }
-	  off += 9;
-
-	  /* Extract thread id and sync object pointer.  */
-	  if (strlen (&buffer[off]) != 2 * 8 + 2
-	      || buffer[off + 8] != ','
-	      || buffer[off + 17] != ';')
-	    {
-	      bad_packet ();
-	      break;
-	    }
-
-	  buffer[off + 8] = '\0';
-	  buffer[off + 17] = '\0';
-
-	  /* Display the result.  */
-	  (*gdb_kod_display) (sync_ids[i]);
-	  (*gdb_kod_display) ("\t");
-	  (*gdb_kod_display) (&buffer[off]);
-	  (*gdb_kod_display) ("\t");
-	  (*gdb_kod_display) (&buffer[off + 9]);
-	  (*gdb_kod_display) ("\n");
-	}
-    }
-
-  /* Free memory.  */
-  for (i = 0; i < sync_next; ++i)
-    xfree (sync_ids[i]);
-  xfree (sync_ids);
-}
Index: src/gdb/kod.c
===================================================================
--- src.orig/gdb/kod.c	2006-07-05 11:32:19.000000000 -0400
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,229 +0,0 @@
-/* Kernel Object Display generic routines and callbacks
-   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
-
-   Written by Fernando Nasser <fnasser@cygnus.com> for Cygnus Solutions.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-#include "defs.h"
-#include "command.h"
-#include "gdbcmd.h"
-#include "target.h"
-#include "gdb_string.h"
-#include "kod.h"
-
-/* Prototypes for exported functions.  */
-void _initialize_kod (void);
-
-/* Prototypes for local functions.  */
-static void info_kod_command (char *, int);
-static void load_kod_library (char *);
-
-/* Prototypes for callbacks.  These are passed into the KOD modules.  */
-static void gdb_kod_display (char *);
-static void gdb_kod_query (char *, char *, int *);
-
-/* These functions are imported from the KOD module.
-   
-   gdb_kod_open - initiates the KOD connection to the remote.  The
-   first argument is the display function the module should use to
-   communicate with the user.  The second argument is the query
-   function the display should use to communicate with the target.
-   This should call error() if there is an error.  Otherwise it should
-   return a malloc()d string of the form:
-   
-   NAME VERSION - DESCRIPTION
-   
-   Neither NAME nor VERSION should contain a hyphen.
-
-   
-   gdb_kod_request - This is used when the user enters an "info
-   <module>" request.  The remaining arguments are passed as the first
-   argument.  The second argument is the standard `from_tty'
-   argument.
-
-   
-   gdb_kod_close - This is called when the KOD connection to the
-   remote should be terminated.  */
-
-static char *(*gdb_kod_open) (kod_display_callback_ftype *display,
-			      kod_query_callback_ftype *query);
-static void (*gdb_kod_request) (char *, int);
-static void (*gdb_kod_close) ();
-
-
-/* Name of inferior's operating system.  */
-char *operating_system;
-
-/* We save a copy of the OS so that we can properly reset when
-   switching OS's.  */
-static char *old_operating_system;
-
-/* Print a line of data generated by the module.  */
-
-static void
-gdb_kod_display (char *arg)
-{
-  printf_filtered ("%s", arg);
-}
-
-/* Queries the target on behalf of the module.  */
-
-static void
-gdb_kod_query (char *arg, char *result, int *maxsiz)
-{
-  LONGEST bufsiz = 0;
-
-  /* Check if current target has remote_query capabilities.  If not,
-     it does not have kod either.  */
-  bufsiz = target_read_partial (&current_target, TARGET_OBJECT_KOD,
-				NULL, NULL, 0, 0);
-  if (bufsiz < 0)
-    {
-      strcpy (result,
-              "ERR: Kernel Object Display not supported by current target\n");
-      return;
-    }
-
-  /* Just get the maximum buffer size.  */
-
-  /* Check if *we* were called just for getting the buffer size.  */
-  if (*maxsiz == 0)
-    {
-      *maxsiz = bufsiz;
-      strcpy (result, "OK");
-      return;
-    }
-
-  /* Check if caller can handle a buffer this large, if not, adjust.  */
-  if (bufsiz > *maxsiz)
-    bufsiz = *maxsiz;
-
-  /* See if buffer can hold the query (usually it can, as the query is
-     short).  */
-  if (strlen (arg) >= bufsiz)
-    error (_("kod: query argument too long"));
-
-  /* Send actual request.  */
-  if (target_read_partial (&current_target, TARGET_OBJECT_KOD,
-			   arg, result, 0, bufsiz) < 0)
-    strcpy (result, "ERR: remote query failed");
-}
-
-/* Print name of kod command after selecting the appropriate kod
-   formatting library module.  As a side effect we create a new "info"
-   subcommand which is what the user actually uses to query the OS.  */
-
-static void
-kod_set_os (char *arg, int from_tty, struct cmd_list_element *command)
-{
-  char *p;
-
-  /* If we had already had an open OS, close it.  */
-  if (gdb_kod_close)
-    (*gdb_kod_close) ();
-
-  /* Also remove the old OS's command.  */
-  if (old_operating_system)
-    {
-      delete_cmd (old_operating_system, &infolist);
-      xfree (old_operating_system);
-    }
-
-  if (! operating_system || ! *operating_system)
-    {
-      /* If user set operating system to empty, we want to forget we
-	 had a module open.  Setting these variables is just nice for
-	 debugging and clarity.  */
-      gdb_kod_open = NULL;
-      gdb_kod_request = NULL;
-      gdb_kod_close = NULL;
-    }
-  else
-    {
-      char *kodlib;
-
-      old_operating_system = xstrdup (operating_system);
-
-      load_kod_library (operating_system);
-
-      kodlib = (*gdb_kod_open) (gdb_kod_display, gdb_kod_query);
-
-      /* Add kod related info commands to gdb.  */
-      add_info (operating_system, info_kod_command,
-		_("Displays information about Kernel Objects."));
-
-      p = strrchr (kodlib, '-');
-      if (p != NULL)
-	p++;
-      else
-	p = "Unknown KOD library";
-      printf_filtered ("%s - %s\n", operating_system, p);
-
-      xfree (kodlib);
-    }
-}
-
-/* Print information about currently known kernel objects of the
-   specified type or a list of all known kernel object types if
-   argument is empty.  */
-
-static void
-info_kod_command (char *arg, int from_tty)
-{
-  (*gdb_kod_request) (arg, from_tty);
-}
-
-/* Print name of kod command after selecting the appropriate kod
-   formatting library module.  */
-
-static void
-load_kod_library (char *lib)
-{
-#if 0
-  /* FIXME: Don't have the eCos code here.  */
-  if (! strcmp (lib, "ecos"))
-    {
-      gdb_kod_open = ecos_kod_open;
-      gdb_kod_request = ecos_kod_request;
-      gdb_kod_close = ecos_kod_close;
-    }
-  else
-#endif /* 0 */
-   if (! strcmp (lib, "cisco"))
-    {
-      gdb_kod_open = cisco_kod_open;
-      gdb_kod_request = cisco_kod_request;
-      gdb_kod_close = cisco_kod_close;
-    }
-  else
-    error (_("Unknown operating system: %s."), operating_system);
-}
-
-void
-_initialize_kod (void)
-{
-  struct cmd_list_element *c;
-
-  add_setshow_string_cmd ("os", no_class, &operating_system, _("\
-Set operating system"), _("\
-Show operating system"), NULL,
-			  kod_set_os,
-			  NULL, /* FIXME: i18n: */
-			  &setlist, &showlist);
-}
Index: src/gdb/kod.h
===================================================================
--- src.orig/gdb/kod.h	2006-07-05 11:32:19.000000000 -0400
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,62 +0,0 @@
-/* Kernel Object Display facility for Cisco
-   Copyright (C) 1999 Free Software Foundation, Inc.
-   
-This file is part of GDB.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#ifndef KOD_H
-#define KOD_H
-
-typedef void kod_display_callback_ftype (char *);
-typedef void kod_query_callback_ftype (char *, char *, int *);
-
-/* ???/???: Functions imported from the library for all supported
-   OSes.  FIXME: we really should do something better, such as
-   dynamically loading the KOD modules.  */
-
-/* FIXME: cagney/1999-09-20: The kod-cisco.c et.al. kernel modules
-   should register themselve with kod.c during the _initialization*()
-   phase.  With that implemented the extern declarations below would
-   be replaced with the KOD register function that the various kernel
-   modules should call.  An example of this mechanism can be seen in
-   gdbarch.c:register_gdbarch_init(). */
-
-#if 0
-/* Don't have ecos code yet. */
-extern char *ecos_kod_open (kod_display_callback_ftype *display_func,
-			    kod_query_callback_ftype *query_func);
-extern void ecos_kod_request (char *, int);
-extern void ecos_kod_close (void);
-#endif
-
-/* Initialize and return library name and version.  The gdb side of
-   KOD, kod.c, passes us two functions: one for displaying output
-   (presumably to the user) and the other for querying the target.  */
-
-extern char *cisco_kod_open (kod_display_callback_ftype *display_func,
-			     kod_query_callback_ftype *query_func);
-
-/* Print information about currently known kernel objects.  We
-   currently ignore the argument.  There is only one mode of querying
-   the Cisco kernel: we ask for a dump of everything, and it returns
-   it.  */
-
-extern void cisco_kod_request (char *arg, int from_tty);
-
-extern void cisco_kod_close (void);
-
-#endif
Index: src/gdb/MAINTAINERS
===================================================================
--- src.orig/gdb/MAINTAINERS	2006-07-05 11:38:09.000000000 -0400
+++ src/gdb/MAINTAINERS	2006-07-05 11:38:37.000000000 -0400
@@ -418,7 +418,6 @@ dwarf readers		Elena Zannoni		ezannoni@r
 elf reader		Elena Zannoni		ezannoni@redhat.com
 stabs reader		Elena Zannoni		ezannoni@redhat.com
 readline/		Elena Zannoni		ezannoni@redhat.com
-Kernel Object Display	Fernando Nasser		fnasser@redhat.com
 NetBSD native & host	Jason Thorpe		thorpej@netbsd.org
 Pascal support		Pierre Muller		muller@sources.redhat.com
 avr			Theodore A. Roth	troth@openavr.org
@@ -568,7 +567,7 @@ J.T. Conklin (dcache, NetBSD, remote, gl
 Frank Ch. Eigler (sim)				fche at redhat dot com
 Per Bothner (Java)				per at bothner dot com
 Anthony Green (Java)				green at redhat dot com
-Fernando Nasser (testsuite/, mi, cli)           fnasser at redhat dot com
+Fernando Nasser (testsuite/, mi, cli, KOD)      fnasser at redhat dot com
 Mark Salter (testsuite/lib+config)		msalter at redhat dot com
 Jim Kingdon (web pages)				kingdon at panix dot com
 Jim Ingham (gdbtk, libgui)			jingham at apple dot com
Index: src/gdb/Makefile.in
===================================================================
--- src.orig/gdb/Makefile.in	2006-07-05 11:40:46.000000000 -0400
+++ src/gdb/Makefile.in	2006-07-05 11:41:02.000000000 -0400
@@ -532,7 +532,6 @@ SFILES = ada-exp.y ada-lang.c ada-typepr
 	infcmd.c inflow.c infrun.c \
 	interps.c \
 	jv-exp.y jv-lang.c jv-valprint.c jv-typeprint.c \
-	kod.c kod-cisco.c \
 	language.c linespec.c \
 	m2-exp.y m2-lang.c m2-typeprint.c m2-valprint.c \
 	macrotab.c macroexp.c macrocmd.c macroscope.c main.c maint.c \
@@ -726,7 +725,6 @@ inf_ptrace_h = inf-ptrace.h
 inf_ttrace_h = inf-ttrace.h
 interps_h = interps.h $(exceptions_h)
 jv_lang_h = jv-lang.h
-kod_h = kod.h
 language_h = language.h
 libunwind_frame_h = libunwind-frame.h $(libunwind_h)
 linespec_h = linespec.h
@@ -928,7 +926,6 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $
 	memattr.o mem-break.o target.o parse.o language.o buildsym.o \
 	std-regs.o \
 	signals.o \
-	kod.o kod-cisco.o \
 	gdb-events.o \
 	exec.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o \
 	dbxread.o coffread.o coff-pe-read.o elfread.o \
@@ -2198,9 +2195,6 @@ jv-typeprint.o: jv-typeprint.c $(defs_h)
 jv-valprint.o: jv-valprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) \
 	$(gdbcore_h) $(expression_h) $(value_h) $(demangle_h) $(valprint_h) \
 	$(language_h) $(jv_lang_h) $(c_lang_h) $(annotate_h) $(gdb_string_h)
-kod.o: kod.c $(defs_h) $(command_h) $(gdbcmd_h) $(target_h) $(gdb_string_h) \
-	$(kod_h)
-kod-cisco.o: kod-cisco.c $(defs_h) $(gdb_string_h) $(kod_h)
 language.o: language.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
 	$(value_h) $(gdbcmd_h) $(expression_h) $(language_h) $(target_h) \
 	$(parser_defs_h) $(jv_lang_h) $(demangle_h)
Index: src/gdb/doc/gdb.texinfo
===================================================================
--- src.orig/gdb/doc/gdb.texinfo	2006-07-05 11:38:47.000000000 -0400
+++ src/gdb/doc/gdb.texinfo	2006-07-05 11:41:29.000000000 -0400
@@ -11977,7 +11977,6 @@ and @code{show architecture}.
 * Target Commands::             Commands for managing targets
 * Byte Order::                  Choosing target byte order
 * Remote::                      Remote debugging
-* KOD::                         Kernel Object Display
 
 @end menu
 
@@ -12264,52 +12263,6 @@ Send an arbitrary @var{command} string t
 @end table
 
 
-@node KOD
-@section Kernel Object Display
-@cindex kernel object display
-@cindex KOD
-
-Some targets support kernel object display.  Using this facility,
-@value{GDBN} communicates specially with the underlying operating system
-and can display information about operating system-level objects such as
-mutexes and other synchronization objects.  Exactly which objects can be
-displayed is determined on a per-OS basis.
-
-@kindex set os
-Use the @code{set os} command to set the operating system.  This tells
-@value{GDBN} which kernel object display module to initialize:
-
-@smallexample
-(@value{GDBP}) set os cisco
-@end smallexample
-
-@kindex show os
-The associated command @code{show os} displays the operating system
-set with the @code{set os} command; if no operating system has been
-set, @code{show os} will display an empty string @samp{""}.
-
-If @code{set os} succeeds, @value{GDBN} will display some information
-about the operating system, and will create a new @code{info} command
-which can be used to query the target.  The @code{info} command is named
-after the operating system:
-
-@kindex info cisco
-@smallexample
-(@value{GDBP}) info cisco
-List of Cisco Kernel Objects
-Object     Description
-any        Any and all objects
-@end smallexample
-
-Further subcommands can be used to query about particular objects known
-by the kernel.
-
-There is currently no way to determine whether a given operating
-system is supported other than to try setting it with @kbd{set os
-@var{name}}, where @var{name} is the name of the operating system you
-want to try.
-
-
 @node Remote Debugging
 @chapter Debugging remote programs
 
@@ -20719,20 +20672,6 @@ The corresponding @value{GDBN} command i
 
 @ignore
 @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-@node GDB/MI Kod Commands
-@section @sc{gdb/mi} Kod Commands
-
-The Kod commands are not implemented.
-
-@c @subheading -kod-info
-
-@c @subheading -kod-list
-
-@c @subheading -kod-list-object-types
-
-@c @subheading -kod-show
-
-@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 @node GDB/MI Memory Overlay Commands
 @section @sc{gdb/mi} Memory Overlay Commands
 
Index: src/gdb/mi/mi-cmds.c
===================================================================
--- src.orig/gdb/mi/mi-cmds.c	2006-07-05 11:40:46.000000000 -0400
+++ src/gdb/mi/mi-cmds.c	2006-07-05 11:41:07.000000000 -0400
@@ -94,10 +94,6 @@ struct mi_cmd mi_cmds[] =
   { "inferior-tty-set", { NULL, 0 }, NULL, mi_cmd_inferior_tty_set},
   { "inferior-tty-show", { NULL, 0 }, NULL, mi_cmd_inferior_tty_show},
   { "interpreter-exec", { NULL, 0 }, 0, mi_cmd_interpreter_exec},
-  { "kod-info", { NULL, 0 }, NULL, NULL },
-  { "kod-list", { NULL, 0 }, NULL, NULL },
-  { "kod-list-object-types", { NULL, 0 }, NULL, NULL },
-  { "kod-show", { NULL, 0 }, NULL, NULL },
   { "overlay-auto", { NULL, 0 }, NULL, NULL },
   { "overlay-list-mapping-state", { NULL, 0 }, NULL, NULL },
   { "overlay-list-overlays", { NULL, 0 }, NULL, NULL },
Index: src/gdb/NEWS
===================================================================
--- src.orig/gdb/NEWS	2006-07-05 11:41:54.000000000 -0400
+++ src/gdb/NEWS	2006-07-05 11:44:17.000000000 -0400
@@ -7,6 +7,9 @@
 
 The ARM Demon monitor support (RDP protocol, "target rdp").
 
+Kernel Object Display, an embedded debugging feature which only worked with
+an obsolete version of Cisco IOS.
+
 * New remote packets
 
 qSupported:


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