diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-07-05 19:03:47 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-07-05 19:03:47 +0000 |
commit | 2ec3381a434f400b97eeef9acd154c3cc0139ccb (patch) | |
tree | a47bfad5bd0d295e4ffb33bde9172eb40abdc8da /gdb | |
parent | e8b42ce4f8a8c3f8f67ed0d040f95aa982fcf2ee (diff) | |
download | gdb-2ec3381a434f400b97eeef9acd154c3cc0139ccb.zip gdb-2ec3381a434f400b97eeef9acd154c3cc0139ccb.tar.gz gdb-2ec3381a434f400b97eeef9acd154c3cc0139ccb.tar.bz2 |
gdb/
* 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.
gdb/doc/
* doc/gdb.texinfo (KOD): Remove node.
(GDB/MI Kod Commands): Remove commented out node.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/MAINTAINERS | 3 | ||||
-rw-r--r-- | gdb/Makefile.in | 6 | ||||
-rw-r--r-- | gdb/NEWS | 3 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 61 | ||||
-rw-r--r-- | gdb/kod-cisco.c | 318 | ||||
-rw-r--r-- | gdb/kod.c | 229 | ||||
-rw-r--r-- | gdb/kod.h | 62 | ||||
-rw-r--r-- | gdb/mi/mi-cmds.c | 4 | ||||
-rw-r--r-- | gdb/remote.c | 3 | ||||
-rw-r--r-- | gdb/target.h | 9 |
12 files changed, 21 insertions, 693 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0f592a3..5f81508 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +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-04 Daniel Jacobowitz <dan@codesourcery.com> * remote.c (init_remote_state): Use xrealloc instead of xmalloc. diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS index c43b93a..96108cd 100644 --- a/gdb/MAINTAINERS +++ b/gdb/MAINTAINERS @@ -418,7 +418,6 @@ dwarf readers Elena Zannoni ezannoni@redhat.com 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, global) jtc at acorntoolworks dot com 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 diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 8d4cf04..6b1e88d 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -532,7 +532,6 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c \ 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) $(YYOBJ) \ 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) $(symtab_h) $(gdbtypes_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) @@ -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: diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 01b6de6..fccf6cc 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2006-07-05 Daniel Jacobowitz <dan@codesourcery.com> + + * doc/gdb.texinfo (KOD): Remove node. + (GDB/MI Kod Commands): Remove commented out node. + 2006-07-01 Eli Zaretskii <eliz@gnu.org> * gdb.texinfo (GDB/MI Output Syntax, GDB/MI Simple Examples) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 0d07a9c..c566971 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -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 to the remote monitor. @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 is @samp{symbol-file}. @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 diff --git a/gdb/kod-cisco.c b/gdb/kod-cisco.c deleted file mode 100644 index 2ed67f6..0000000 --- a/gdb/kod-cisco.c +++ /dev/null @@ -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); -} diff --git a/gdb/kod.c b/gdb/kod.c deleted file mode 100644 index ff48494..0000000 --- a/gdb/kod.c +++ /dev/null @@ -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 (¤t_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 (¤t_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); -} diff --git a/gdb/kod.h b/gdb/kod.h deleted file mode 100644 index f88d8f6..0000000 --- a/gdb/kod.h +++ /dev/null @@ -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 diff --git a/gdb/mi/mi-cmds.c b/gdb/mi/mi-cmds.c index 1b25b49..498062d 100644 --- a/gdb/mi/mi-cmds.c +++ b/gdb/mi/mi-cmds.c @@ -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 }, diff --git a/gdb/remote.c b/gdb/remote.c index c8e93d0..da0f5ca 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -5140,9 +5140,6 @@ remote_xfer_partial (struct target_ops *ops, enum target_object object, objects!!! Instead specify new query packets. */ switch (object) { - case TARGET_OBJECT_KOD: - query_type = 'K'; - break; case TARGET_OBJECT_AVR: query_type = 'R'; break; diff --git a/gdb/target.h b/gdb/target.h index bf4917f..7018c52 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -211,17 +211,10 @@ enum target_signal target_signal_from_name (char *); 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. */ |