]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/hpread.c
import gdb-1999-07-07 post reformat
[thirdparty/binutils-gdb.git] / gdb / hpread.c
index 0b464ec3a3cc91940d259667111dce9a29aa839d..d14474e5fa55d95ed49253d7bf5ef063147b5387 100644 (file)
@@ -15,7 +15,8 @@
 
    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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.
 
    Written by the Center for Software Science at the University of Utah
    and by Cygnus Support.  */
    and internalize the HP C debug symbols within that objfile.  */
 
 struct hpread_symfile_info
-{
-  /* The contents of each of the debug sections (there are 4 of them).  */
-  char *gntt;
-  char *lntt;
-  char *slt;
-  char *vt;
+  {
+    /* The contents of each of the debug sections (there are 4 of them).  */
+    char *gntt;
+    char *lntt;
+    char *slt;
+    char *vt;
 
-  /* We keep the size of the $VT$ section for range checking.  */
-  unsigned int vt_size;
+    /* We keep the size of the $VT$ section for range checking.  */
+    unsigned int vt_size;
 
-  /* Some routines still need to know the number of symbols in the
-     main debug sections ($LNTT$ and $GNTT$). */
-  unsigned int lntt_symcount;
-  unsigned int gntt_symcount;
+    /* Some routines still need to know the number of symbols in the
+       main debug sections ($LNTT$ and $GNTT$). */
+    unsigned int lntt_symcount;
+    unsigned int gntt_symcount;
 
-  /* To keep track of all the types we've processed.  */
-  struct type **type_vector;
-  int type_vector_length;
+    /* To keep track of all the types we've processed.  */
+    struct type **type_vector;
+    int type_vector_length;
 
-  /* Keeps track of the beginning of a range of source lines.  */
-  sltpointer sl_index;
+    /* Keeps track of the beginning of a range of source lines.  */
+    sltpointer sl_index;
 
-  /* Some state variables we'll need.  */
-  int within_function;
+    /* Some state variables we'll need.  */
+    int within_function;
 
-  /* Keep track of the current function's address.  We may need to look
-     up something based on this address.  */
-  unsigned int current_function_value;
-};
+    /* Keep track of the current function's address.  We may need to look
+       up something based on this address.  */
+    unsigned int current_function_value;
+  };
 
 /* Accessor macros to get at the fields.  */
 #define HPUX_SYMFILE_INFO(o) \
@@ -105,20 +106,20 @@ struct hpread_symfile_info
    of the psymtab.  */
 
 struct symloc
-{
-  /* The offset within the file symbol table of first local symbol for
-     this file.  */
+  {
+    /* The offset within the file symbol table of first local symbol for
+       this file.  */
 
-  int ldsymoff;
+    int ldsymoff;
 
-  /* Length (in bytes) of the section of the symbol table devoted to
-     this file's symbols (actually, the section bracketed may contain
-     more than just this file's symbols).  If ldsymlen is 0, the only
-     reason for this thing's existence is the dependency list.
-     Nothing else will happen when it is read in.  */
+    /* Length (in bytes) of the section of the symbol table devoted to
+       this file's symbols (actually, the section bracketed may contain
+       more than just this file's symbols).  If ldsymlen is 0, the only
+       reason for this thing's existence is the dependency list.
+       Nothing else will happen when it is read in.  */
 
-  int ldsymlen;
-};
+    int ldsymlen;
+  };
 
 #define LDSYMOFF(p) (((struct symloc *)((p)->read_symtab_private))->ldsymoff)
 #define LDSYMLEN(p) (((struct symloc *)((p)->read_symtab_private))->ldsymlen)
@@ -132,12 +133,12 @@ extern int info_verbose;
 extern struct complaint string_table_offset_complaint;
 extern struct complaint lbrac_unmatched_complaint;
 extern struct complaint lbrac_mismatch_complaint;
-
 \f
-void hpread_symfile_init  PARAMS ((struct objfile *));
+
+void hpread_symfile_init PARAMS ((struct objfile *));
 
 static struct type *
-hpread_read_array_type PARAMS ((dnttpointer, union dnttentry *, struct objfile *));
+  hpread_read_array_type PARAMS ((dnttpointer, union dnttentry *, struct objfile *));
 
 static struct type *hpread_alloc_type
   PARAMS ((dnttpointer, struct objfile *));
@@ -185,7 +186,7 @@ static sltpointer hpread_record_lines
 static struct type *hpread_read_function_type
   PARAMS ((dnttpointer, union dnttentry *, struct objfile *));
 
-static struct type * hpread_type_lookup
+static struct type *hpread_type_lookup
   PARAMS ((dnttpointer, struct objfile *));
 
 static unsigned long hpread_get_depth
@@ -205,8 +206,8 @@ static union sltentry *hpread_get_slt PARAMS ((int, struct objfile *));
 static void hpread_psymtab_to_symtab PARAMS ((struct partial_symtab *));
 static void hpread_psymtab_to_symtab_1 PARAMS ((struct partial_symtab *));
 static int hpread_has_name PARAMS ((enum dntt_entry_type));
-
 \f
+
 /* Initialization for reading native HP C debug symbols from OBJFILE.
 
    It's only purpose in life is to set up the symbol reader's private
@@ -243,11 +244,11 @@ hpread_symfile_init (objfile)
                     bfd_section_size (objfile->obfd, gntt_section));
 
   bfd_get_section_contents (objfile->obfd, gntt_section, GNTT (objfile),
-                           0, bfd_section_size (objfile->obfd, gntt_section));
+                        0, bfd_section_size (objfile->obfd, gntt_section));
 
   GNTT_SYMCOUNT (objfile)
     = bfd_section_size (objfile->obfd, gntt_section)
-                       / sizeof (struct dntt_type_block);
+    / sizeof (struct dntt_type_block);
 
   /* Read in data from the $LNTT$ subspace.   Also keep track of the number
      of LNTT symbols.  */
@@ -260,11 +261,11 @@ hpread_symfile_init (objfile)
                     bfd_section_size (objfile->obfd, lntt_section));
 
   bfd_get_section_contents (objfile->obfd, lntt_section, LNTT (objfile),
-                           0, bfd_section_size (objfile->obfd, lntt_section));
+                        0, bfd_section_size (objfile->obfd, lntt_section));
 
   LNTT_SYMCOUNT (objfile)
     = bfd_section_size (objfile->obfd, lntt_section)
-                       / sizeof (struct dntt_type_block);
+    / sizeof (struct dntt_type_block);
 
   /* Read in data from the $SLT$ subspace.  $SLT$ contains information
      on source line numbers.  */
@@ -277,7 +278,7 @@ hpread_symfile_init (objfile)
                   bfd_section_size (objfile->obfd, slt_section));
 
   bfd_get_section_contents (objfile->obfd, slt_section, SLT (objfile),
-                           0, bfd_section_size (objfile->obfd, slt_section));
+                         0, bfd_section_size (objfile->obfd, slt_section));
 
   /* Read in data from the $VT$ subspace.  $VT$ contains things like
      names and constants.  Keep track of the number of symbols in the VT.  */
@@ -472,7 +473,7 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
                pst = hpread_start_psymtab (objfile, section_offsets,
                                            namestring, valu,
                                            (hp_symnum
-                                            * sizeof (struct dntt_type_block)),
+                                        * sizeof (struct dntt_type_block)),
                                            objfile->global_psymbols.next,
                                            objfile->static_psymbols.next);
                texthigh = valu;
@@ -482,8 +483,8 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
 
            case DNTT_TYPE_MODULE:
              /* A source file.  It's still unclear to me what the
-                real difference between a DNTT_TYPE_SRCFILE and DNTT_TYPE_MODULE
-                is supposed to be.  */
+                real difference between a DNTT_TYPE_SRCFILE and DNTT_TYPE_MODULE
+                is supposed to be.  */
              SET_NAMESTRING (dn_bufp, &namestring, objfile);
              valu = hpread_get_textlow (i, hp_symnum, objfile);
              valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
@@ -492,7 +493,7 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
                  pst = hpread_start_psymtab (objfile, section_offsets,
                                              namestring, valu,
                                              (hp_symnum
-                                              * sizeof (struct dntt_type_block)),
+                                        * sizeof (struct dntt_type_block)),
                                              objfile->global_psymbols.next,
                                              objfile->static_psymbols.next);
                  texthigh = valu;
@@ -502,7 +503,7 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
            case DNTT_TYPE_FUNCTION:
            case DNTT_TYPE_ENTRY:
              /* The beginning of a function.  DNTT_TYPE_ENTRY may also denote
-                a secondary entry point.  */
+                a secondary entry point.  */
              valu = dn_bufp->dfunc.hiaddr + ANOFFSET (section_offsets,
                                                       SECT_OFF_TEXT);
              if (valu > texthigh)
@@ -519,7 +520,7 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
            case DNTT_TYPE_BEGIN:
            case DNTT_TYPE_END:
              /* Scope block begin/end.  We only care about function
-                and file blocks right now.  */
+                and file blocks right now.  */
              if (dn_bufp->dend.endkind == DNTT_TYPE_MODULE)
                {
                  hpread_end_psymtab (pst, psymtab_include_list, includes_used,
@@ -573,9 +574,9 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
                    pst = hpread_start_psymtab (objfile, section_offsets,
                                                "globals", 0,
                                                (hp_symnum
-                                                * sizeof (struct dntt_type_block)),
-                                               objfile->global_psymbols.next,
-                                               objfile->static_psymbols.next);
+                                        * sizeof (struct dntt_type_block)),
+                                             objfile->global_psymbols.next,
+                                            objfile->static_psymbols.next);
                  }
                if (dn_bufp->dsvar.global)
                  {
@@ -603,8 +604,8 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
                {
                  pst = hpread_start_psymtab (objfile, section_offsets,
                                              "globals", 0,
-                                             (hp_symnum 
-                                              * sizeof (struct dntt_type_block)),
+                                             (hp_symnum
+                                        * sizeof (struct dntt_type_block)),
                                              objfile->global_psymbols.next,
                                              objfile->static_psymbols.next);
                }
@@ -673,7 +674,7 @@ hpread_get_slt (index, objfile)
      int index;
      struct objfile *objfile;
 {
-  return (union sltentry *)&(SLT (objfile)[index * sizeof (union sltentry)]);
+  return (union sltentry *) &(SLT (objfile)[index * sizeof (union sltentry)]);
 }
 
 /* Get the low address associated with some symbol (typically the start
@@ -697,8 +698,9 @@ hpread_get_textlow (global, index, objfile)
        dn_bufp = hpread_get_gntt (index++, objfile);
       else
        dn_bufp = hpread_get_lntt (index++, objfile);
-    } while (dn_bufp->dblock.kind != DNTT_TYPE_FUNCTION
-            && dn_bufp->dblock.kind != DNTT_TYPE_END);
+    }
+  while (dn_bufp->dblock.kind != DNTT_TYPE_FUNCTION
+        && dn_bufp->dblock.kind != DNTT_TYPE_END);
 
   /* Avoid going past a DNTT_TYPE_END when looking for a DNTT_TYPE_FUNCTION.  This
      might happen when a sourcefile has no functions.  */
@@ -825,7 +827,7 @@ hpread_has_name (kind)
 
 static struct partial_symtab *
 hpread_start_psymtab (objfile, section_offsets,
-                 filename, textlow, ldsymoff, global_syms, static_syms)
+                     filename, textlow, ldsymoff, global_syms, static_syms)
      struct objfile *objfile;
      struct section_offsets *section_offsets;
      char *filename;
@@ -854,7 +856,7 @@ hpread_start_psymtab (objfile, section_offsets,
 
 static struct partial_symtab *
 hpread_end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
-            capping_text, dependency_list, number_dependencies)
+                   capping_text, dependency_list, number_dependencies)
      struct partial_symtab *pst;
      char **include_list;
      int num_includes;
@@ -864,10 +866,10 @@ hpread_end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
      int number_dependencies;
 {
   int i;
-  struct objfile *objfile = pst -> objfile;
+  struct objfile *objfile = pst->objfile;
 
   if (capping_symbol_offset != -1)
-      LDSYMLEN(pst) = capping_symbol_offset - LDSYMOFF(pst);
+    LDSYMLEN (pst) = capping_symbol_offset - LDSYMOFF (pst);
   pst->texthigh = capping_text;
 
   pst->n_global_syms =
@@ -880,9 +882,9 @@ hpread_end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
     {
       pst->dependencies = (struct partial_symtab **)
        obstack_alloc (&objfile->psymbol_obstack,
-                      number_dependencies * sizeof (struct partial_symtab *));
+                   number_dependencies * sizeof (struct partial_symtab *));
       memcpy (pst->dependencies, dependency_list,
-            number_dependencies * sizeof (struct partial_symtab *));
+             number_dependencies * sizeof (struct partial_symtab *));
     }
   else
     pst->dependencies = 0;
@@ -890,19 +892,19 @@ hpread_end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
   for (i = 0; i < num_includes; i++)
     {
       struct partial_symtab *subpst =
-       allocate_psymtab (include_list[i], objfile);
+      allocate_psymtab (include_list[i], objfile);
 
       subpst->section_offsets = pst->section_offsets;
       subpst->read_symtab_private =
-         (char *) obstack_alloc (&objfile->psymbol_obstack,
-                                 sizeof (struct symloc));
-      LDSYMOFF(subpst) =
-       LDSYMLEN(subpst) =
-         subpst->textlow =
-           subpst->texthigh = 0;
+       (char *) obstack_alloc (&objfile->psymbol_obstack,
+                               sizeof (struct symloc));
+      LDSYMOFF (subpst) =
+       LDSYMLEN (subpst) =
+       subpst->textlow =
+       subpst->texthigh = 0;
 
       /* We could save slight bits of space by only making one of these,
-        shared by the entire set of include files.  FIXME-someday.  */
+         shared by the entire set of include files.  FIXME-someday.  */
       subpst->dependencies = (struct partial_symtab **)
        obstack_alloc (&objfile->psymbol_obstack,
                       sizeof (struct partial_symtab *));
@@ -911,8 +913,8 @@ hpread_end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
 
       subpst->globals_offset =
        subpst->n_global_syms =
-         subpst->statics_offset =
-           subpst->n_static_syms = 0;
+       subpst->statics_offset =
+       subpst->n_static_syms = 0;
 
       subpst->readin = 0;
       subpst->symtab = 0;
@@ -932,17 +934,17 @@ hpread_end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
       && pst->n_static_syms == 0)
     {
       /* Throw away this psymtab, it's empty.  We can't deallocate it, since
-        it is on the obstack, but we can forget to chain it on the list.  */
+         it is on the obstack, but we can forget to chain it on the list.  */
       /* Empty psymtabs happen as a result of header files which don't have
-        any symbols in them.  There can be a lot of them.  But this check
-        is wrong, in that a psymtab with N_SLINE entries but nothing else
-        is not empty, but we don't realize that.  Fixing that without slowing
-        things down might be tricky.  */
+         any symbols in them.  There can be a lot of them.  But this check
+         is wrong, in that a psymtab with N_SLINE entries but nothing else
+         is not empty, but we don't realize that.  Fixing that without slowing
+         things down might be tricky.  */
 
       discard_psymtab (pst);
 
       /* Indicate that psymtab was thrown away.  */
-      pst = (struct partial_symtab *)NULL;
+      pst = (struct partial_symtab *) NULL;
     }
   return pst;
 }
@@ -1209,15 +1211,15 @@ hpread_lookup_type (hp_type, objfile)
            {
              TYPE_VECTOR_LENGTH (objfile) = 100;
              TYPE_VECTOR (objfile) = (struct type **)
-               xmmalloc (objfile -> md,
-                         TYPE_VECTOR_LENGTH (objfile) * sizeof (struct type *));
+               xmmalloc (objfile->md,
+                    TYPE_VECTOR_LENGTH (objfile) * sizeof (struct type *));
            }
          while (index >= TYPE_VECTOR_LENGTH (objfile))
            TYPE_VECTOR_LENGTH (objfile) *= 2;
          TYPE_VECTOR (objfile) = (struct type **)
-           xmrealloc (objfile -> md,
+           xmrealloc (objfile->md,
                       (char *) TYPE_VECTOR (objfile),
-                     (TYPE_VECTOR_LENGTH (objfile) * sizeof (struct type *)));
+                  (TYPE_VECTOR_LENGTH (objfile) * sizeof (struct type *)));
          memset (&TYPE_VECTOR (objfile)[old_len], 0,
                  (TYPE_VECTOR_LENGTH (objfile) - old_len) *
                  sizeof (struct type *));
@@ -1282,7 +1284,7 @@ hpread_read_enum_type (hp_type, dn_bufp, objfile)
       sym = (struct symbol *) obstack_alloc (&objfile->symbol_obstack,
                                             sizeof (struct symbol));
       memset (sym, 0, sizeof (struct symbol));
-      SYMBOL_NAME (sym) = obsavestring (name, strlen (name), 
+      SYMBOL_NAME (sym) = obsavestring (name, strlen (name),
                                        &objfile->symbol_obstack);
       SYMBOL_CLASS (sym) = LOC_CONST;
       SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
@@ -1386,7 +1388,7 @@ hpread_read_function_type (hp_type, dn_bufp, objfile)
       SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
       if (paramp->dfparam.copyparam)
        {
-         SYMBOL_VALUE (sym) = paramp->dfparam.location ;
+         SYMBOL_VALUE (sym) = paramp->dfparam.location;
 #ifdef HPREAD_ADJUST_STACK_ADDRESS
          SYMBOL_VALUE (sym)
            += HPREAD_ADJUST_STACK_ADDRESS (CURRENT_FUNCTION_VALUE (objfile));
@@ -1462,7 +1464,7 @@ hpread_read_struct_type (hp_type, dn_bufp, objfile)
   type = hpread_alloc_type (hp_type, objfile);
   if ((TYPE_CODE (type) == TYPE_CODE_STRUCT) ||
       (TYPE_CODE (type) == TYPE_CODE_UNION))
-      return type;
+    return type;
 
   /* Get the basic type correct.  */
   if (dn_bufp->dblock.kind == DNTT_TYPE_STRUCT)
@@ -1566,9 +1568,9 @@ hpread_read_array_type (hp_type, dn_bufp, objfile)
   else if (dn_bufp->darray.arraylength == 0x7fffffff)
     {
       /* The HP debug format represents char foo[]; as an array with
-        length 0x7fffffff.  Internally GDB wants to represent this
-        as an array of length zero.  */
-     TYPE_LENGTH (type) = 0;
+         length 0x7fffffff.  Internally GDB wants to represent this
+         as an array of length zero.  */
+      TYPE_LENGTH (type) = 0;
     }
   else
     TYPE_LENGTH (type) = dn_bufp->darray.arraylength / 8;
@@ -1665,7 +1667,7 @@ hpread_type_lookup (hp_type, objfile)
 
        TYPE_CPLUS_SPECIFIC (structtype)
          = (struct cplus_struct_type *) &cplus_struct_default;
-       TYPE_NAME (structtype) = suffix;
+       TYPE_NAME (structtype) = suffix;
        return structtype;
       }
 
@@ -1827,7 +1829,7 @@ hpread_process_one_debug_symbol (dn_bufp, name, section_offsets, objfile,
        }
       start_subfile (name, NULL);
       break;
-      
+
     case DNTT_TYPE_MODULE:
       /* No need to do anything with these DNTT_TYPE_MODULE symbols anymore.  */
       break;
@@ -1840,7 +1842,7 @@ hpread_process_one_debug_symbol (dn_bufp, name, section_offsets, objfile,
                                                SL_INDEX (objfile),
                                                dn_bufp->dfunc.address,
                                                objfile, offset);
-      
+
       WITHIN_FUNCTION (objfile) = 1;
       CURRENT_FUNCTION_VALUE (objfile) = valu;