* mi/mi-cmd-break.c (mi_cmd_break_passcount): Fix typo.
[deliverable/binutils-gdb.git] / gdb / symmisc.c
index b292c3b6850264901f046aa44acdff94850774ba..117a22bf29d70405f0f273c5e143ea89eff71ab0 100644 (file)
@@ -23,6 +23,7 @@
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "bfd.h"
+#include "filenames.h"
 #include "symfile.h"
 #include "objfiles.h"
 #include "breakpoint.h"
@@ -78,46 +79,6 @@ struct print_symbol_args
 
 static int print_symbol (void *);
 \f
-/* Free all the storage associated with the struct symtab <- S.
-   Note that some symtabs have contents that all live inside one big block of
-   memory, and some share the contents of another symbol table and so you
-   should not free the contents on their behalf (except sometimes the
-   linetable, which maybe per symtab even when the rest is not).
-   It is s->free_code that says which alternative to use.  */
-
-void
-free_symtab (struct symtab *s)
-{
-  switch (s->free_code)
-    {
-    case free_nothing:
-      /* All the contents are part of a big block of memory (an obstack),
-         and some other symtab is in charge of freeing that block.
-         Therefore, do nothing.  */
-      break;
-
-    case free_linetable:
-      /* Everything will be freed either by our `free_func'
-         or by some other symtab, except for our linetable.
-         Free that now.  */
-      if (LINETABLE (s))
-       xfree (LINETABLE (s));
-      break;
-    }
-
-  /* If there is a single block of memory to free, free it.  */
-  if (s->free_func != NULL)
-    s->free_func (s);
-
-  /* Free source-related stuff */
-  if (s->line_charpos != NULL)
-    xfree (s->line_charpos);
-  if (s->fullname != NULL)
-    xfree (s->fullname);
-  if (s->debugformat != NULL)
-    xfree (s->debugformat);
-  xfree (s);
-}
 
 void
 print_symbol_bcache_statistics (void)
@@ -264,6 +225,9 @@ dump_msymbols (struct objfile *objfile, struct ui_file *outfile)
        case mst_text:
          ms_type = 'T';
          break;
+       case mst_text_gnu_ifunc:
+         ms_type = 'i';
+         break;
        case mst_solib_trampoline:
          ms_type = 'S';
          break;
@@ -335,7 +299,8 @@ dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
   fprintf_filtered (outfile, "Read from object file %s (", objfile->name);
   gdb_print_host_address (objfile, outfile);
   fprintf_filtered (outfile, ")\n");
-  fprintf_filtered (outfile, "Language: %s\n", language_str (symtab->language));
+  fprintf_filtered (outfile, "Language: %s\n",
+                   language_str (symtab->language));
 
   /* First print the line table.  */
   l = LINETABLE (symtab);
@@ -351,7 +316,7 @@ dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
        }
     }
   /* Now print the block info, but only for primary symtabs since we will
-     print lots of duplicate info otherwise. */
+     print lots of duplicate info otherwise.  */
   if (symtab->primary)
     {
       fprintf_filtered (outfile, "\nBlockvector:\n\n");
@@ -448,8 +413,8 @@ maintenance_print_symbols (char *args, int from_tty)
 
   if (args == NULL)
     {
-      error (_("\
-Arguments missing: an output file name and an optional symbol file name"));
+      error (_("Arguments missing: an output file name "
+              "and an optional symbol file name"));
     }
   argv = gdb_buildargv (args);
   cleanups = make_cleanup_freeargv (argv);
@@ -457,7 +422,7 @@ Arguments missing: an output file name and an optional symbol file name"));
   if (argv[0] != NULL)
     {
       filename = argv[0];
-      /* If a second arg is supplied, it is a source file name to match on */
+      /* If a second arg is supplied, it is a source file name to match on */
       if (argv[1] != NULL)
        {
          symname = argv[1];
@@ -474,7 +439,7 @@ Arguments missing: an output file name and an optional symbol file name"));
 
   immediate_quit++;
   ALL_SYMTABS (objfile, s)
-    if (symname == NULL || strcmp (symname, s->filename) == 0)
+    if (symname == NULL || filename_cmp (symname, s->filename) == 0)
     dump_symtab (objfile, s, outfile);
   immediate_quit--;
   do_cleanups (cleanups);
@@ -668,7 +633,8 @@ maintenance_print_msymbols (char *args, int from_tty)
 
   if (args == NULL)
     {
-      error (_("print-msymbols takes an output file name and optional symbol file name"));
+      error (_("print-msymbols takes an output file "
+              "name and optional symbol file name"));
     }
   argv = gdb_buildargv (args);
   cleanups = make_cleanup_freeargv (argv);
@@ -676,7 +642,7 @@ maintenance_print_msymbols (char *args, int from_tty)
   if (argv[0] != NULL)
     {
       filename = argv[0];
-      /* If a second arg is supplied, it is a source file name to match on */
+      /* If a second arg is supplied, it is a source file name to match on */
       if (argv[1] != NULL)
        {
          symname = xfullpath (argv[1]);
@@ -697,8 +663,8 @@ maintenance_print_msymbols (char *args, int from_tty)
   immediate_quit++;
   ALL_PSPACES (pspace)
     ALL_PSPACE_OBJFILES (pspace, objfile)
-      if (symname == NULL
-         || (!stat (objfile->name, &obj_st) && sym_st.st_ino == obj_st.st_ino))
+      if (symname == NULL || (!stat (objfile->name, &obj_st)
+                             && sym_st.st_ino == obj_st.st_ino))
        dump_msymbols (objfile, outfile);
   immediate_quit--;
   fprintf_filtered (outfile, "\n\n");
@@ -764,12 +730,15 @@ maintenance_info_symtabs (char *regexp, int from_tty)
                               symtab->dirname ? symtab->dirname : "(null)");
              printf_filtered ("          fullname %s\n",
                               symtab->fullname ? symtab->fullname : "(null)");
-             printf_filtered ("          blockvector ((struct blockvector *) %s)%s\n",
+             printf_filtered ("          "
+                              "blockvector ((struct blockvector *) %s)%s\n",
                               host_address_to_string (symtab->blockvector),
                               symtab->primary ? " (primary)" : "");
-             printf_filtered ("          linetable ((struct linetable *) %s)\n",
+             printf_filtered ("          "
+                              "linetable ((struct linetable *) %s)\n",
                               host_address_to_string (symtab->linetable));
-             printf_filtered ("          debugformat %s\n", symtab->debugformat);
+             printf_filtered ("          debugformat %s\n",
+                              symtab->debugformat);
              printf_filtered ("        }\n");
            }
        }
@@ -795,7 +764,7 @@ block_depth (struct block *block)
 }
 \f
 
-/* Do early runtime initializations. */
+/* Do early runtime initializations.  */
 void
 _initialize_symmisc (void)
 {
This page took 0.025862 seconds and 4 git commands to generate.