Fri Jun 12 14:22:55 1998 Jason Molenda (crash@bugshack.cygnus.com)
[deliverable/binutils-gdb.git] / gdb / stabsread.h
index cf644248ba78294c258f8f4172ae6def39ad18f0..77ea2912b85075681928489df18760f17bc933bf 100644 (file)
@@ -15,7 +15,7 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 /* Definitions, prototypes, etc for stabs debugging format support
    functions.
@@ -106,11 +106,15 @@ struct header_file
 
 };
 
-EXTERN struct header_file *header_files;
+/* The table of header_files of this OBJFILE. */
+#define HEADER_FILES(OBJFILE) (DBX_SYMFILE_INFO (OBJFILE)->header_files)
 
-EXTERN int n_header_files;
+/* The actual length of HEADER_FILES. */
+#define N_HEADER_FILES(OBJFILE) (DBX_SYMFILE_INFO (OBJFILE)->n_header_files)
 
-EXTERN int n_allocated_header_files;
+/* The allocated lengh of HEADER_FILES. */
+#define N_ALLOCATED_HEADER_FILES(OBJFILE) \
+  (DBX_SYMFILE_INFO (OBJFILE)->n_allocated_header_files)
 
 /* Within each object file, various header files are assigned numbers.
    A type is defined or referred to with a pair of numbers
@@ -118,7 +122,7 @@ EXTERN int n_allocated_header_files;
    and TYPENUM is the number within that header file.
    TYPENUM is the index within the vector of types for that header file.
 
-   FILENUM == 1 is special; it refers to the main source of the object file,
+   FILENUM == 0 is special; it refers to the main source of the object file,
    and not to any header file.  FILENUM != 1 is interpreted by looking it up
    in the following table, which contains indices in header_files.  */
 
@@ -163,20 +167,39 @@ end_stabs PARAMS ((void));
 
 extern void
 finish_global_stabs PARAMS ((struct objfile *objfile));
+
 \f
 EXTERN int os9k_stabs;
 \f
-/* Functions exported by dbxread.c.  These are not in stabsread.h because
+/* COFF files can have multiple .stab sections, if they are linked
+   using --split-by-reloc.  This linked list is used to pass the
+   information into the functions in dbxread.c.  */
+struct stab_section_list
+{
+  /* Next in list.  */
+  struct stab_section_list *next;
+
+  /* Stab section.  */
+  asection *section;
+};
+\f
+/* Functions exported by dbxread.c.  These are not in stabsread.c because
    they are only used by some stabs readers.  */
 
 extern struct partial_symtab *
 start_psymtab PARAMS ((struct objfile *, struct section_offsets *, char *,
-                      CORE_ADDR, int, struct partial_symbol *,
-                      struct partial_symbol *));
+                      CORE_ADDR, int, struct partial_symbol **,
+                      struct partial_symbol **));
 
 extern struct partial_symtab *
-end_psymtab PARAMS ((struct partial_symtab *, char **, int, int, CORE_ADDR,
-                    struct partial_symtab **, int));
+end_psymtab PARAMS ((struct partial_symtab *pst,
+                    char **include_list,
+                    int num_includes,
+                    int capping_symbol_offset,
+                    CORE_ADDR capping_text,
+                    struct partial_symtab **dependency_list,
+                    int number_dependencies,
+                    int textlow_not_set));
 
 extern void
 process_one_symbol PARAMS ((int, int, CORE_ADDR, char *,
@@ -194,15 +217,33 @@ extern void coffstab_build_psymtabs
   PARAMS ((struct objfile *objfile,
           struct section_offsets *section_offsets,
           int mainline,
-          file_ptr staboff, unsigned int stabsize,
+          CORE_ADDR textaddr, unsigned int textsize,
+          struct stab_section_list *stabs,
           file_ptr stabstroffset,
           unsigned int stabstrsize));
 
+extern void stabsect_build_psymtabs
+  PARAMS ((struct objfile *objfile,
+          struct section_offsets *section_offsets,
+          int mainline,
+          char *stab_name,
+          char *stabstr_name,
+          char *text_name));
+
 extern void elfstab_offset_sections PARAMS ((struct objfile *,
                                             struct partial_symtab *));
 
-extern void
-pastab_build_psymtabs PARAMS ((struct objfile *, struct section_offsets *,
-                              int));
+extern void process_later 
+  PARAMS ((struct symbol *, char *, 
+          int (*f) PARAMS ((struct objfile *, struct symbol *, char *))));
+
+extern int symbol_reference_defined PARAMS ((char **));
+
+extern void ref_add PARAMS ((int, struct symbol *, char *, CORE_ADDR));
+
+extern struct symbol * ref_search PARAMS ((int));
+
+extern int resolve_cfront_continuation 
+  PARAMS ((struct objfile * objfile, struct symbol * sym, char * p));
 
 #undef EXTERN
This page took 0.024461 seconds and 4 git commands to generate.