diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index a08cc45..622cf5f 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -93,8 +93,8 @@ set_cmd_prefix (struct cmd_list_element *c, struct cmd_list_element **list)
 }
 
 static void
-print_help_for_command (struct cmd_list_element *c, char *prefix, int recurse,
-			struct ui_file *stream);
+print_help_for_command (struct cmd_list_element *c, const char *prefix,
+			int recurse, struct ui_file *stream);
 
 
 /* Set the callback function for the specified command.  For each both
@@ -330,7 +330,7 @@ struct cmd_list_element *
 add_prefix_cmd (const char *name, enum command_class class,
 		cmd_cfunc_ftype *fun,
 		char *doc, struct cmd_list_element **prefixlist,
-		char *prefixname, int allow_unknown,
+		const char *prefixname, int allow_unknown,
 		struct cmd_list_element **list)
 {
   struct cmd_list_element *c = add_cmd (name, class, fun, doc, list);
@@ -357,7 +357,8 @@ add_prefix_cmd (const char *name, enum command_class class,
 struct cmd_list_element *
 add_abbrev_prefix_cmd (const char *name, enum command_class class,
 		       cmd_cfunc_ftype *fun, char *doc,
-		       struct cmd_list_element **prefixlist, char *prefixname,
+		       struct cmd_list_element **prefixlist,
+		       const char *prefixname,
 		       int allow_unknown, struct cmd_list_element **list)
 {
   struct cmd_list_element *c = add_cmd (name, class, fun, doc, list);
@@ -883,7 +884,7 @@ add_com_alias (const char *name, const char *oldname, enum command_class class,
 void 
 apropos_cmd (struct ui_file *stream, 
 	     struct cmd_list_element *commandlist,
-	     struct re_pattern_buffer *regex, char *prefix)
+	     struct re_pattern_buffer *regex, const char *prefix)
 {
   struct cmd_list_element *c;
   int returnvalue;
@@ -1011,7 +1012,7 @@ help_cmd (const char *command, struct ui_file *stream)
  * If you call this routine with a class >= 0, it recurses.
  */
 void
-help_list (struct cmd_list_element *list, char *cmdtype,
+help_list (struct cmd_list_element *list, const char *cmdtype,
 	   enum command_class class, struct ui_file *stream)
 {
   int len;
@@ -1145,8 +1146,8 @@ print_doc_line (struct ui_file *stream, char *str)
    If RECURSE is non-zero, also print one-line descriptions
    of all prefixed subcommands.  */
 static void
-print_help_for_command (struct cmd_list_element *c, char *prefix, int recurse,
-			struct ui_file *stream)
+print_help_for_command (struct cmd_list_element *c, const char *prefix,
+			int recurse, struct ui_file *stream)
 {
   fprintf_filtered (stream, "%s%s -- ", prefix, c->name);
   print_doc_line (stream, c->doc);
@@ -1179,7 +1180,7 @@ print_help_for_command (struct cmd_list_element *c, char *prefix, int recurse,
  */
 void
 help_cmd_list (struct cmd_list_element *list, enum command_class class,
-	       char *prefix, int recurse, struct ui_file *stream)
+	       const char *prefix, int recurse, struct ui_file *stream)
 {
   struct cmd_list_element *c;
 
@@ -1505,7 +1506,7 @@ lookup_cmd (const char **line, struct cmd_list_element *list, char *cmdtype,
          values.  */
       int local_allow_unknown = (last_list ? last_list->allow_unknown :
 				 allow_unknown);
-      char *local_cmdtype = last_list ? last_list->prefixname : cmdtype;
+      const char *local_cmdtype = last_list ? last_list->prefixname : cmdtype;
       struct cmd_list_element *local_list =
 	(last_list ? *(last_list->prefixlist) : list);
 
diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h
index 9cd887d..1ddafd3 100644
--- a/gdb/cli/cli-decode.h
+++ b/gdb/cli/cli-decode.h
@@ -156,7 +156,7 @@ struct cmd_list_element
        plus any others needed to get to it.  Should end in a space.
        It is used before the word "command" in describing the
        commands reached through this prefix.  */
-    char *prefixname;
+    const char *prefixname;
 
     /* The prefix command of this command.  */
     struct cmd_list_element *prefix;
@@ -212,14 +212,14 @@ struct cmd_list_element
   };
 
 extern void help_cmd_list (struct cmd_list_element *, enum command_class,
-			   char *, int, struct ui_file *);
+			   const char *, int, struct ui_file *);
 
 /* Functions that implement commands about CLI commands.  */
 
 extern void help_cmd (const char *, struct ui_file *);
 
 extern void apropos_cmd (struct ui_file *, struct cmd_list_element *,
-                         struct re_pattern_buffer *, char *);
+                         struct re_pattern_buffer *, const char *);
 
 /* Used to mark commands that don't do anything.  If we just leave the
    function field NULL, the command is interpreted as a help topic, or
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index 7dc1ba4..1147073 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -1707,7 +1707,7 @@ show_user_1 (struct cmd_list_element *c, const char *prefix, const char *name,
 
   if (c->prefixlist != NULL)
     {
-      char *prefixname = c->prefixname;
+      const char *prefixname = c->prefixname;
 
       for (c = *c->prefixlist; c != NULL; c = c->next)
 	if (c->class == class_user || c->prefixlist != NULL)
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c
index 61ff085..0f936a4 100644
--- a/gdb/cli/cli-setshow.c
+++ b/gdb/cli/cli-setshow.c
@@ -670,7 +670,7 @@ do_show_command (const char *arg, int from_tty, struct cmd_list_element *c)
 /* Show all the settings in a list of show commands.  */
 
 void
-cmd_show_list (struct cmd_list_element *list, int from_tty, char *prefix)
+cmd_show_list (struct cmd_list_element *list, int from_tty, const char *prefix)
 {
   struct cleanup *showlist_chain;
   struct ui_out *uiout = current_uiout;
diff --git a/gdb/cli/cli-setshow.h b/gdb/cli/cli-setshow.h
index 7619bad..38a8148 100644
--- a/gdb/cli/cli-setshow.h
+++ b/gdb/cli/cli-setshow.h
@@ -29,6 +29,6 @@ extern void do_show_command (const char *arg, int from_tty,
 			     struct cmd_list_element *c);
 
 extern void cmd_show_list (struct cmd_list_element *list, int from_tty,
-			   char *prefix);
+			   const char *prefix);
 
 #endif /* !defined (CLI_SETSHOW_H) */
diff --git a/gdb/command.h b/gdb/command.h
index 1d63d2b..e676237 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -134,7 +134,7 @@ extern struct cmd_list_element *add_prefix_cmd (const char *, enum command_class
 						cmd_cfunc_ftype *fun,
 						char *,
 						struct cmd_list_element **,
-						char *, int,
+						const char *, int,
 						struct cmd_list_element **);
 
 extern struct cmd_list_element *add_abbrev_prefix_cmd (const char *,
@@ -142,7 +142,7 @@ extern struct cmd_list_element *add_abbrev_prefix_cmd (const char *,
 						       cmd_cfunc_ftype *fun,
 						       char *,
 						       struct cmd_list_element
-						       **, char *, int,
+						       **, const char *, int,
 						       struct cmd_list_element
 						       **);
 
@@ -224,7 +224,7 @@ extern VEC (char_ptr) *complete_on_enum (const char *const *enumlist,
 
 /* Functions that implement commands about CLI commands.  */
 
-extern void help_list (struct cmd_list_element *, char *,
+extern void help_list (struct cmd_list_element *, const char *,
 		       enum command_class, struct ui_file *);
 
 /* Method for show a set/show variable's VALUE on FILE.  If this
@@ -374,7 +374,7 @@ extern void
 
 /* Do a "show" command for each thing on a command list.  */
 
-extern void cmd_show_list (struct cmd_list_element *, int, char *);
+extern void cmd_show_list (struct cmd_list_element *, int, const char *);
 
 /* Used everywhere whenever at least one parameter is required and
    none is specified.  */
diff --git a/gdb/guile/scm-cmd.c b/gdb/guile/scm-cmd.c
index 57979c8..7b8e3a5 100644
--- a/gdb/guile/scm-cmd.c
+++ b/gdb/guile/scm-cmd.c
@@ -291,7 +291,7 @@ cmdscm_destroyer (struct cmd_list_element *self, void *context)
   /* We allocated the name, doc string, and perhaps the prefix name.  */
   xfree ((char *) self->name);
   xfree (self->doc);
-  xfree (self->prefixname);
+  xfree ((char *) self->prefixname);
 }
 
 /* Called by gdb to invoke the command.  */
diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c
index 524ba5a..f8f1f05 100644
--- a/gdb/python/py-cmd.c
+++ b/gdb/python/py-cmd.c
@@ -109,7 +109,7 @@ cmdpy_destroyer (struct cmd_list_element *self, void *context)
      name.  */
   xfree ((char *) self->name);
   xfree (self->doc);
-  xfree (self->prefixname);
+  xfree ((char *) self->prefixname);
 
   do_cleanups (cleanup);
 }
