2004-08-02 Andrew Cagney <cagney@gnu.org>
[binutils-gdb.git] / gdb / gdb-stabs.h
index 09b372167459e27abb7058b8a4e61ba537593927..097f9d94384ac93f19edc1982e003e75383f003c 100644 (file)
@@ -1,5 +1,6 @@
 /* Definitions for symbol-reading containing "stabs", for GDB.
-   Copyright 1992 Free Software Foundation, Inc.
+   Copyright 1992, 1993, 1995, 1996, 1997, 1999, 2000
+   Free Software Foundation, Inc.
    Contributed by Cygnus Support.  Written by John Gilmore.
 
    This file is part of GDB.
 #if !defined (GDBSTABS_H)
 #define GDBSTABS_H
 
-/* Offsets in the psymtab's section_offsets array for various kinds of
-   stabs symbols.  Every psymtab built from stabs will have these offsets
-   filled in by these guidelines, so that when actually reading symbols, the
-   proper offset can simply be selected and added to the symbol value.  */
-
-#define        SECT_OFF_TEXT   0
-#define        SECT_OFF_DATA   1
-#define        SECT_OFF_BSS    2
-#define        SECT_OFF_RODATA 3
-#define        SECT_OFF_MAX    4       /* Count of possible values */
-
 /* The stab_section_info chain remembers info from the ELF symbol table,
    while psymtabs are being built for the other symbol tables in the 
    objfile.  It is destroyed at the complation of psymtab-reading.
 struct stab_section_info
   {
     char *filename;
-    CORE_ADDR sections[SECT_OFF_MAX];
     struct stab_section_info *next;
     int found;                 /* Count of times it's found in searching */
+    size_t num_sections;
+    CORE_ADDR sections[1];
   };
 
 /* Information is passed among various dbxread routines for accessing
@@ -78,6 +69,9 @@ struct dbx_symfile_info
     asection *text_section;
     asection *data_section;
     asection *bss_section;
+
+    /* Pointer to the separate ".stab" section, if there is one.  */
+    asection *stab_section;
   };
 
 #define DBX_SYMFILE_INFO(o)    ((o)->sym_stab_info)
@@ -91,5 +85,6 @@ struct dbx_symfile_info
 #define DBX_TEXT_SECTION(o)    (DBX_SYMFILE_INFO(o)->text_section)
 #define DBX_DATA_SECTION(o)    (DBX_SYMFILE_INFO(o)->data_section)
 #define DBX_BSS_SECTION(o)     (DBX_SYMFILE_INFO(o)->bss_section)
+#define DBX_STAB_SECTION(o)    (DBX_SYMFILE_INFO(o)->stab_section)
 
 #endif /* GDBSTABS_H */