*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / psympriv.h
index ec9801b87ff519c84321e4963f3b5561648f5a28..df7b874e07454035765c728072b452159fe7fa13 100644 (file)
@@ -1,6 +1,6 @@
 /* Private partial symbol table definitions.
 
-   Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,12 +32,12 @@ struct psymbol_allocation_list;
    normal symtab once the partial_symtab has been referenced.  */
 
 /* This structure is space critical.  See space comments at the top of
-   symtab.h. */
+   symtab.h.  */
 
 struct partial_symbol
 {
 
-  /* The general symbol info required for all types of symbols. */
+  /* The general symbol info required for all types of symbols.  */
 
   struct general_symbol_info ginfo;
 
@@ -45,7 +45,7 @@ struct partial_symbol
 
   ENUM_BITFIELD(domain_enum_tag) domain : 6;
 
-  /* Address class (for info_symbols) */
+  /* Address class (for info_symbols) */
 
   ENUM_BITFIELD(address_class) aclass : 6;
 
@@ -71,7 +71,7 @@ struct partial_symtab
 
   struct partial_symtab *next;
 
-  /* Name of the source file which this partial_symtab defines */
+  /* Name of the source file which this partial_symtab defines */
 
   const char *filename;
 
@@ -92,7 +92,8 @@ struct partial_symtab
   struct section_offsets *section_offsets;
 
   /* Range of text addresses covered by this file; texthigh is the
-     beginning of the next section. */
+     beginning of the next section.  Do not use if PSYMTABS_ADDRMAP_SUPPORTED
+     is set.  */
 
   CORE_ADDR textlow;
   CORE_ADDR texthigh;
@@ -112,7 +113,7 @@ struct partial_symtab
 
   /* Global symbol list.  This list will be sorted after readin to
      improve access.  Binary search will be the usual method of
-     finding a symbol within it. globals_offset is an integer offset
+     finding a symbol within it.  globals_offset is an integer offset
      within global_psymbols[].  */
 
   int globals_offset;
@@ -135,6 +136,12 @@ struct partial_symtab
 
   unsigned char readin;
 
+  /* True iff objfile->psymtabs_addrmap is properly populated for this
+     partial_symtab.  For discontiguous overlapping psymtabs is the only usable
+     info in PSYMTABS_ADDRMAP.  */
+
+  unsigned char psymtabs_addrmap_supported;
+
   /* Pointer to symtab eventually allocated for this source file, 0 if
      !readin or if we haven't looked for the symtab after it was readin.  */
 
@@ -157,12 +164,12 @@ extern void sort_pst_symbols (struct partial_symtab *);
 
 /* Add any kind of symbol to a psymbol_allocation_list.  */
 
-extern const
-struct partial_symbol *add_psymbol_to_list (const char *, int, int, domain_enum,
-                                           enum address_class,
-                                           struct psymbol_allocation_list *,
-                                           long, CORE_ADDR,
-                                           enum language, struct objfile *);
+extern void add_psymbol_to_list (const char *, int,
+                                int, domain_enum,
+                                enum address_class,
+                                struct psymbol_allocation_list *,
+                                long, CORE_ADDR,
+                                enum language, struct objfile *);
 
 extern void init_psymbol_list (struct objfile *, int);
 
@@ -182,10 +189,4 @@ extern void discard_psymtab (struct partial_symtab *);
 #define        ALL_OBJFILE_PSYMTABS(objfile, p) \
     for ((p) = (objfile) -> psymtabs; (p) != NULL; (p) = (p) -> next)
 
-/* Traverse all psymtabs in all objfiles.  */
-
-#define        ALL_PSYMTABS(objfile, p) \
-  ALL_OBJFILES (objfile)        \
-    ALL_OBJFILE_PSYMTABS (objfile, p)
-
 #endif /* PSYMPRIV_H */
This page took 0.025562 seconds and 4 git commands to generate.