*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / symfile.h
index c9f4e65509537a31fe4c7bff4a805ee5e0ddf8da..1e8c7abe7fdfa8e5136515db25da2930a187a752 100644 (file)
@@ -1,7 +1,7 @@
 /* Definitions for reading symbol files into GDB.
 
    Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010
+   2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -32,6 +32,11 @@ struct obj_section;
 struct obstack;
 struct block;
 
+/* Comparison function for symbol look ups.  */
+
+typedef int (symbol_compare_ftype) (const char *string1,
+                                   const char *string2);
+
 /* Partial symbols are stored in the psymbol_cache and pointers to
    them are kept in a dynamically grown array that is obtained from
    malloc and grown as necessary via realloc.  Each objfile typically
@@ -75,7 +80,7 @@ struct section_addr_info
   /* The number of sections for which address information is
      available.  */
   size_t num_sections;
-  /* Sections whose names are file format dependent. */
+  /* Sections whose names are file format dependent.  */
   struct other_sections
   {
     CORE_ADDR addr;
@@ -204,7 +209,10 @@ struct quick_symbol_functions
   void (*expand_all_symtabs) (struct objfile *objfile);
 
   /* Read all symbol tables associated with OBJFILE which have the
-     file name FILENAME.  */
+     file name FILENAME.
+     This is for the purposes of examining code only, e.g., expand_line_sal.
+     The routine may ignore debug info that is known to not be useful with
+     code, e.g., DW_TAG_type_unit for dwarf debug info.  */
   void (*expand_symtabs_with_filename) (struct objfile *objfile,
                                        const char *filename);
 
@@ -215,7 +223,7 @@ struct quick_symbol_functions
   /* Find global or static symbols in all tables that are in NAMESPACE 
      and for which MATCH (symbol name, NAME) == 0, passing each to 
      CALLBACK, reading in partial symbol symbol tables as needed.  Look
-     through global symbols if GLOBAL and otherwise static symbols.  
+     through global symbols if GLOBAL and otherwise static symbols.
      Passes NAME, NAMESPACE, and DATA to CALLBACK with each symbol
      found.  After each block is processed, passes NULL to CALLBACK.
      MATCH must be weaker than strcmp_iw in the sense that
@@ -225,7 +233,7 @@ struct quick_symbol_functions
             strcmp(x,y) == 0 --> ORDERED_COMPARE(x,y) == 0 
      and 
             strcmp(x,y) <= 0 --> ORDERED_COMPARE(x,y) <= 0
-     (allowing strcmp(x,y) < 0 while ORDERED_COMPARE(x, y) == 0). 
+     (allowing strcmp(x,y) < 0 while ORDERED_COMPARE(x, y) == 0).
      CALLBACK returns 0 to indicate that the scan should continue, or
      non-zero to indicate that the scan should be terminated.  */
 
@@ -234,9 +242,8 @@ struct quick_symbol_functions
                                int (*callback) (struct block *,
                                                 struct symbol *, void *),
                                void *data,
-                               int (*match) (const char *, const char *),
-                               int (*ordered_compare) (const char *,
-                                                       const char *));
+                               symbol_compare_ftype *match,
+                               symbol_compare_ftype *ordered_compare);
 
   /* Expand all symbol tables in OBJFILE matching some criteria.
 
@@ -280,9 +287,9 @@ struct quick_symbol_functions
                            void (*fun) (const char *, void *),
                            void *data);
 
-  /* Call a callback for every file defined in OBJFILE.  FUN is the
-     callback.  It is passed the file's name, the file's full name,
-     and the DATA passed to this function.  */
+  /* Call a callback for every file defined in OBJFILE whose symtab is
+     not already read in.  FUN is the callback.  It is passed the file's name,
+     the file's full name, and the DATA passed to this function.  */
   void (*map_symbol_filenames) (struct objfile *objfile,
                                void (*fun) (const char *, const char *,
                                             void *),
@@ -358,7 +365,7 @@ struct sym_fns
 };
 
 extern struct section_addr_info *
-          build_section_addr_info_from_objfile (const struct objfile *objfile);
+  build_section_addr_info_from_objfile (const struct objfile *objfile);
 
 extern void relative_addr_info_to_section_offsets
   (struct section_offsets *section_offsets, int num_sections,
@@ -447,9 +454,10 @@ extern void free_section_addr_info (struct section_addr_info *);
 
 extern char *obsavestring (const char *, int, struct obstack *);
 
-/* Concatenate NULL terminated variable argument list of `const char *' strings;
-   return the new string.  Space is found in the OBSTACKP.  Argument list must
-   be terminated by a sentinel expression `(char *) NULL'.  */
+/* Concatenate NULL terminated variable argument list of `const char
+   *' strings; return the new string.  Space is found in the OBSTACKP.
+   Argument list must be terminated by a sentinel expression `(char *)
+   NULL'.  */
 
 extern char *obconcat (struct obstack *obstackp, ...) ATTRIBUTE_SENTINEL;
 
This page took 0.024724 seconds and 4 git commands to generate.