2003-11-23 Andrew Cagney <cagney@redhat.com>
[deliverable/binutils-gdb.git] / gdb / coffread.c
index 152ec339caf5681e690152959890d50040e3c7de..215be80ef96032760256a66ae283a131b1caae8a 100644 (file)
@@ -197,12 +197,12 @@ static void coff_symtab_read (long, unsigned int, struct objfile *);
 static void
 coff_locate_sections (bfd *abfd, asection *sectp, void *csip)
 {
-  register struct coff_symfile_info *csi;
+  struct coff_symfile_info *csi;
   const char *name;
 
   csi = (struct coff_symfile_info *) csip;
   name = bfd_get_section_name (abfd, sectp);
-  if (STREQ (name, ".text"))
+  if (DEPRECATED_STREQ (name, ".text"))
     {
       csi->textaddr = bfd_section_vma (abfd, sectp);
       csi->textsize += bfd_section_size (abfd, sectp);
@@ -211,7 +211,7 @@ coff_locate_sections (bfd *abfd, asection *sectp, void *csip)
     {
       csi->textsize += bfd_section_size (abfd, sectp);
     }
-  else if (STREQ (name, ".stabstr"))
+  else if (DEPRECATED_STREQ (name, ".stabstr"))
     {
       csi->stabstrsect = sectp;
     }
@@ -313,7 +313,7 @@ cs_section_address (struct coff_symbol *cs, bfd *abfd)
    or for associating a new type with the index.  */
 
 static struct type **
-coff_lookup_type (register int index)
+coff_lookup_type (int index)
 {
   if (index >= type_vector_length)
     {
@@ -339,8 +339,8 @@ coff_lookup_type (register int index)
 static struct type *
 coff_alloc_type (int index)
 {
-  register struct type **type_addr = coff_lookup_type (index);
-  register struct type *type = *type_addr;
+  struct type **type_addr = coff_lookup_type (index);
+  struct type *type = *type_addr;
 
   /* If we are referring to a type not known at all yet,
      allocate an empty type for it.
@@ -391,8 +391,8 @@ complete_symtab (char *name, CORE_ADDR start_addr, unsigned int size)
   if (current_objfile->ei.entry_point >= current_source_start_addr &&
       current_objfile->ei.entry_point < current_source_end_addr)
     {
-      current_objfile->ei.entry_file_lowpc = current_source_start_addr;
-      current_objfile->ei.entry_file_highpc = current_source_end_addr;
+      current_objfile->ei.deprecated_entry_file_lowpc = current_source_start_addr;
+      current_objfile->ei.deprecated_entry_file_highpc = current_source_end_addr;
     }
 }
 
@@ -469,9 +469,8 @@ coff_symfile_init (struct objfile *objfile)
    of the line table (minimum and maximum file offset) so that the
    mainline code can read the whole thing for efficiency.  */
 
-/* ARGSUSED */
 static void
-find_linenos (bfd *abfd, sec_ptr asect, void *vpinfo)
+find_linenos (bfd *abfd, struct bfd_section *asect, void *vpinfo)
 {
   struct coff_symfile_info *info;
   int size, count;
@@ -506,7 +505,6 @@ static bfd *symfile_bfd;
 
 /* Read a symbol file, after initialization by coff_symfile_init.  */
 
-/* ARGSUSED */
 static void
 coff_symfile_read (struct objfile *objfile, int mainline)
 {
@@ -515,7 +513,7 @@ coff_symfile_read (struct objfile *objfile, int mainline)
   bfd *abfd = objfile->obfd;
   coff_data_type *cdata = coff_data (abfd);
   char *name = bfd_get_filename (abfd);
-  register int val;
+  int val;
   unsigned int num_symbols;
   int symtab_offset;
   int stringtab_offset;
@@ -679,9 +677,9 @@ static void
 coff_symtab_read (long symtab_offset, unsigned int nsyms,
                  struct objfile *objfile)
 {
-  register struct context_stack *new;
+  struct context_stack *new;
   struct coff_symbol coff_symbol;
-  register struct coff_symbol *cs = &coff_symbol;
+  struct coff_symbol *cs = &coff_symbol;
   static struct internal_syment main_sym;
   static union internal_auxent main_aux;
   struct coff_symbol fcn_cs_saved;
@@ -821,7 +819,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
        case C_THUMBSTATFUNC:
          if (cs->c_name[0] == '.')
            {
-             if (STREQ (cs->c_name, ".text"))
+             if (DEPRECATED_STREQ (cs->c_name, ".text"))
                {
                  /* FIXME:  don't wire in ".text" as section name
                     or symbol name! */
@@ -928,15 +926,8 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
            if (cs->c_name[0] != '@' /* Skip tdesc symbols */ )
              {
                struct minimal_symbol *msym;
-
-               /* FIXME: cagney/2001-02-01: The nasty (int) -> (long)
-                   -> (void*) cast is to ensure that that the value of
-                   cs->c_sclass can be correctly stored in a void
-                   pointer in MSYMBOL_INFO.  Better solutions
-                   welcome. */
-               gdb_assert (sizeof (void *) >= sizeof (cs->c_sclass));
                msym = prim_record_minimal_symbol_and_info
-                 (cs->c_name, tmpaddr, ms_type, (void *) (long) cs->c_sclass,
+                 (cs->c_name, tmpaddr, ms_type, NULL,
                   sec, NULL, objfile);
                if (msym)
                  COFF_MAKE_MSYMBOL_SPECIAL (cs->c_sclass, msym);
@@ -953,7 +944,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
          break;
 
        case C_FCN:
-         if (STREQ (cs->c_name, ".bf"))
+         if (DEPRECATED_STREQ (cs->c_name, ".bf"))
            {
              within_function = 1;
 
@@ -975,7 +966,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
              new->name =
                process_coff_symbol (&fcn_cs_saved, &fcn_aux_saved, objfile);
            }
-         else if (STREQ (cs->c_name, ".ef"))
+         else if (DEPRECATED_STREQ (cs->c_name, ".ef"))
            {
              if (!within_function)
                error ("Bad coff function information\n");
@@ -1051,13 +1042,13 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
          break;
 
        case C_BLOCK:
-         if (STREQ (cs->c_name, ".bb"))
+         if (DEPRECATED_STREQ (cs->c_name, ".bb"))
            {
              tmpaddr = cs->c_value;
              tmpaddr += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
              push_context (++depth, tmpaddr);
            }
-         else if (STREQ (cs->c_name, ".eb"))
+         else if (DEPRECATED_STREQ (cs->c_name, ".eb"))
            {
              if (context_stack_depth <= 0)
                {               /* We attempted to pop an empty context stack */
@@ -1119,9 +1110,9 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
    in internal_auxent form, and skip any other auxents.  */
 
 static void
-read_one_sym (register struct coff_symbol *cs,
-             register struct internal_syment *sym,
-             register union internal_auxent *aux)
+read_one_sym (struct coff_symbol *cs,
+             struct internal_syment *sym,
+             union internal_auxent *aux)
 {
   int i;
 
@@ -1270,7 +1261,7 @@ static char *
 coff_getfilename (union internal_auxent *aux_entry)
 {
   static char buffer[BUFSIZ];
-  register char *temp;
+  char *temp;
   char *result;
 
   if (aux_entry->x_file.x_n.x_zeroes == 0)
@@ -1348,10 +1339,10 @@ free_linetab_cleanup (void *ignore)
 #endif
 
 static void
-enter_linenos (long file_offset, register int first_line,
-              register int last_line, struct objfile *objfile)
+enter_linenos (long file_offset, int first_line,
+              int last_line, struct objfile *objfile)
 {
-  register char *rawptr;
+  char *rawptr;
   struct internal_lineno lptr;
 
   if (!linetab)
@@ -1390,8 +1381,8 @@ enter_linenos (long file_offset, register int first_line,
 static void
 patch_type (struct type *type, struct type *real_type)
 {
-  register struct type *target = TYPE_TARGET_TYPE (type);
-  register struct type *real_target = TYPE_TARGET_TYPE (real_type);
+  struct type *target = TYPE_TARGET_TYPE (type);
+  struct type *real_target = TYPE_TARGET_TYPE (real_type);
   int field_size = TYPE_NFIELDS (real_target) * sizeof (struct field);
 
   TYPE_LENGTH (target) = TYPE_LENGTH (real_target);
@@ -1414,9 +1405,9 @@ patch_type (struct type *type, struct type *real_type)
 static void
 patch_opaque_types (struct symtab *s)
 {
-  register struct block *b;
+  struct block *b;
   struct dict_iterator iter;
-  register struct symbol *real_sym;
+  struct symbol *real_sym;
 
   /* Go through the per-file symbols only */
   b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
@@ -1431,15 +1422,15 @@ patch_opaque_types (struct symtab *s)
          TYPE_CODE (SYMBOL_TYPE (real_sym)) == TYPE_CODE_PTR &&
          TYPE_LENGTH (TYPE_TARGET_TYPE (SYMBOL_TYPE (real_sym))) != 0)
        {
-         register char *name = DEPRECATED_SYMBOL_NAME (real_sym);
-         register int hash = hashname (name);
-         register struct symbol *sym, *prev;
+         char *name = DEPRECATED_SYMBOL_NAME (real_sym);
+         int hash = hashname (name);
+         struct symbol *sym, *prev;
 
          prev = 0;
          for (sym = opaque_type_chain[hash]; sym;)
            {
              if (name[0] == DEPRECATED_SYMBOL_NAME (sym)[0] &&
-                 STREQ (name + 1, DEPRECATED_SYMBOL_NAME (sym) + 1))
+                 strcmp (name + 1, DEPRECATED_SYMBOL_NAME (sym) + 1) == 0)
                {
                  if (prev)
                    {
@@ -1472,11 +1463,11 @@ patch_opaque_types (struct symtab *s)
 }
 \f
 static struct symbol *
-process_coff_symbol (register struct coff_symbol *cs,
-                    register union internal_auxent *aux,
+process_coff_symbol (struct coff_symbol *cs,
+                    union internal_auxent *aux,
                     struct objfile *objfile)
 {
-  register struct symbol *sym
+  struct symbol *sym
   = (struct symbol *) obstack_alloc (&objfile->symbol_obstack,
                                     sizeof (struct symbol));
   char *name;
@@ -1643,11 +1634,6 @@ process_coff_symbol (register struct coff_symbol *cs,
                TYPE_NAME (SYMBOL_TYPE (sym)) =
                  concat (DEPRECATED_SYMBOL_NAME (sym), NULL);
            }
-#ifdef CXUX_TARGET
-         /* Ignore vendor section for Harris CX/UX targets. */
-         else if (cs->c_name[0] == '$')
-           break;
-#endif /* CXUX_TARGET */
 
          /* Keep track of any type which points to empty structured type,
             so it can be filled from a definition from another file.  A
@@ -1659,7 +1645,7 @@ process_coff_symbol (register struct coff_symbol *cs,
              TYPE_CODE (TYPE_TARGET_TYPE (SYMBOL_TYPE (sym))) !=
              TYPE_CODE_UNDEF)
            {
-             register int i = hashname (DEPRECATED_SYMBOL_NAME (sym));
+             int i = hashname (DEPRECATED_SYMBOL_NAME (sym));
 
              SYMBOL_VALUE_CHAIN (sym) = opaque_type_chain[i];
              opaque_type_chain[i] = sym;
@@ -1696,10 +1682,10 @@ process_coff_symbol (register struct coff_symbol *cs,
 /* Decode a coff type specifier;  return the type that is meant.  */
 
 static struct type *
-decode_type (register struct coff_symbol *cs, unsigned int c_type,
-            register union internal_auxent *aux)
+decode_type (struct coff_symbol *cs, unsigned int c_type,
+            union internal_auxent *aux)
 {
-  register struct type *type = 0;
+  struct type *type = 0;
   unsigned int new_c_type;
 
   if (c_type & ~N_BTMASK)
@@ -1718,7 +1704,7 @@ decode_type (register struct coff_symbol *cs, unsigned int c_type,
       else if (ISARY (c_type))
        {
          int i, n;
-         register unsigned short *dim;
+         unsigned short *dim;
          struct type *base_type, *index_type, *range_type;
 
          /* Define an array type.  */
@@ -1777,8 +1763,8 @@ decode_type (register struct coff_symbol *cs, unsigned int c_type,
    return the type that the function returns.  */
 
 static struct type *
-decode_function_type (register struct coff_symbol *cs, unsigned int c_type,
-                     register union internal_auxent *aux)
+decode_function_type (struct coff_symbol *cs, unsigned int c_type,
+                     union internal_auxent *aux)
 {
   if (aux->x_sym.x_tagndx.l == 0)
     cs->c_naux = 0;            /* auxent refers to function, not base type */
@@ -1789,8 +1775,8 @@ decode_function_type (register struct coff_symbol *cs, unsigned int c_type,
 /* basic C types */
 
 static struct type *
-decode_base_type (register struct coff_symbol *cs, unsigned int c_type,
-                 register union internal_auxent *aux)
+decode_base_type (struct coff_symbol *cs, unsigned int c_type,
+                 union internal_auxent *aux)
 {
   struct type *type;
 
@@ -1800,15 +1786,6 @@ decode_base_type (register struct coff_symbol *cs, unsigned int c_type,
       /* shows up with "void (*foo)();" structure members */
       return lookup_fundamental_type (current_objfile, FT_VOID);
 
-#if 0
-/* DGUX actually defines both T_ARG and T_VOID to the same value.  */
-#ifdef T_ARG
-    case T_ARG:
-      /* Shows up in DGUX, I think.  Not sure where.  */
-      return lookup_fundamental_type (current_objfile, FT_VOID);       /* shouldn't show up here */
-#endif
-#endif /* 0 */
-
 #ifdef T_VOID
     case T_VOID:
       /* Intel 960 COFF has this symbol and meaning.  */
@@ -1949,14 +1926,14 @@ coff_read_struct_type (int index, int length, int lastsym)
       struct field field;
     };
 
-  register struct type *type;
-  register struct nextfield *list = 0;
+  struct type *type;
+  struct nextfield *list = 0;
   struct nextfield *new;
   int nfields = 0;
-  register int n;
+  int n;
   char *name;
   struct coff_symbol member_sym;
-  register struct coff_symbol *ms = &member_sym;
+  struct coff_symbol *ms = &member_sym;
   struct internal_syment sub_sym;
   union internal_auxent sub_aux;
   int done = 0;
@@ -2036,22 +2013,21 @@ coff_read_struct_type (int index, int length, int lastsym)
    and create and return a suitable type object.
    Also defines the symbols that represent the values of the type.  */
 
-/* ARGSUSED */
 static struct type *
 coff_read_enum_type (int index, int length, int lastsym)
 {
-  register struct symbol *sym;
-  register struct type *type;
+  struct symbol *sym;
+  struct type *type;
   int nsyms = 0;
   int done = 0;
   struct pending **symlist;
   struct coff_symbol member_sym;
-  register struct coff_symbol *ms = &member_sym;
+  struct coff_symbol *ms = &member_sym;
   struct internal_syment sub_sym;
   union internal_auxent sub_aux;
   struct pending *osyms, *syms;
   int o_nsyms;
-  register int n;
+  int n;
   char *name;
   int unsigned_enum = 1;
 
This page took 0.029448 seconds and 4 git commands to generate.