From: Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
[deliverable/binutils-gdb.git] / gdb / stabsread.h
index 8d18ac85e40db8e98ecd847168b0acd6d173d274..0a1d1650761461c130f350e3673ca6928feb83e6 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. */
 
@@ -152,7 +147,7 @@ extern void
 add_undefined_type PARAMS ((struct type *));
 
 extern struct symbol *
-define_symbol PARAMS ((unsigned int, char *, int, int, struct objfile *));
+define_symbol PARAMS ((CORE_ADDR, char *, int, int, struct objfile *));
 
 extern void
 stabsread_init PARAMS ((void));
@@ -168,33 +163,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.029299 seconds and 4 git commands to generate.