* config/tc-sparc.c (md_show_usage): Add missing backslash at end
[deliverable/binutils-gdb.git] / gdb / stabsread.h
index 67cefc250d35b57004b9dea8ed78f681179f9b56..c08635f711b9d56af3ce9e5a1c4ed4bd870dc10b 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.
@@ -40,10 +40,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
    have the correct data for that slot yet.
 
    The use of the LOC_BLOCK code in this chain is nonstandard--
-   it refers to a FORTRAN common block rather than the usual meaning.  */
+   it refers to a FORTRAN common block rather than the usual meaning, and
+   the such LOC_BLOCK symbols use their fields in nonstandard ways.  */
 
 EXTERN struct symbol *global_sym_chain[HASHSIZE];
 
+extern void common_block_start PARAMS ((char *, struct objfile *));
+extern void common_block_end PARAMS ((struct objfile *));
+
 /* Kludge for xcoffread.c */
 
 struct pending_stabs
@@ -55,15 +59,6 @@ struct pending_stabs
 
 EXTERN struct pending_stabs *global_stabs;
 
-/* List of symbols declared since the last BCOMM.  This list is a tail
-   of local_symbols.  When ECOMM is seen, the symbols on the list
-   are noted so their proper addresses can be filled in later,
-   using the common block base address gotten from the assembler
-   stabs.  */
-
-EXTERN struct pending *common_block;
-EXTERN int common_block_i;
-
 /* The type code that process_one_symbol saw on its previous invocation.
    Used to detect pairs of N_SO symbols. */
 
@@ -111,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
@@ -123,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.  */
 
@@ -168,33 +167,75 @@ end_stabs PARAMS ((void));
 
 extern void
 finish_global_stabs PARAMS ((struct objfile *objfile));
+
+extern void 
+resolve_cfront_continuation PARAMS((struct objfile * objfile, 
+               struct symbol * sym, char * p));
+\f
+EXTERN int os9k_stabs;
+\f
+/* 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.h because
+/* 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 *,
                            struct section_offsets *, struct objfile *));
 
-extern void
-elfstab_build_psymtabs PARAMS ((struct objfile *objfile,
-                               struct section_offsets *section_offsets,
-                               int mainline,
-                               file_ptr staboff, unsigned int stabsize,
-                               file_ptr stabstroffset,
-                               unsigned int stabstrsize));
-
-extern void
-pastab_build_psymtabs PARAMS ((struct objfile *, struct section_offsets *,
-                              int));
+extern void elfstab_build_psymtabs
+  PARAMS ((struct objfile *objfile,
+          struct section_offsets *section_offsets,
+          int mainline,
+          file_ptr staboff, unsigned int stabsize,
+          file_ptr stabstroffset,
+          unsigned int stabstrsize));
+
+extern void coffstab_build_psymtabs
+  PARAMS ((struct objfile *objfile,
+          struct section_offsets *section_offsets,
+          int mainline,
+          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 process_later PARAMS ((struct symbol *, char *));
 
 #undef EXTERN
This page took 0.025203 seconds and 4 git commands to generate.