Revert the previous change, as it was checked in by mistake.
authorJoel Brobecker <brobecker@gnat.com>
Fri, 3 Jan 2003 15:34:59 +0000 (15:34 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Fri, 3 Jan 2003 15:34:59 +0000 (15:34 +0000)
gdb/mdebugread.c

index 92557d28bff12f5339083986c733d6e2d71943b5..b5a15c38d7d9f0dad726ac7a81a9982b10b2f41d 100644 (file)
@@ -751,33 +751,6 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
 
     case stProc:               /* Procedure, usually goes into global block */
     case stStaticProc:         /* Static procedure, goes into current block */
-      /* Make sure this is a "real" procedure.  Otherwise, skip it.  */
-      if (sh->st == stProc && sh->sc != scText)
-        {
-          char *ext_tsym = ext_sh;
-          int keep_counting = 1;
-          SYMR tsym;
-
-          while (keep_counting)
-            {
-              ext_tsym += external_sym_size;
-              (*swap_sym_in) (cur_bfd, ext_tsym, &tsym);
-              count++;
-              switch (tsym.st)
-                {
-                  case stParam:
-                    break;
-                  case stEnd:
-                    keep_counting = 0;
-                    break;
-                  default:
-                    complaint (&symfile_complaints,
-                               "unknown symbol type 0x%x", sh->st);
-                    break;
-                }
-            }
-          break;
-        }
       s = new_symbol (name);
       SYMBOL_NAMESPACE (s) = VAR_NAMESPACE;
       SYMBOL_CLASS (s) = LOC_BLOCK;
@@ -3350,34 +3323,6 @@ parse_partial_symbols (struct objfile *objfile)
                  /* FALLTHROUGH */
 
                case stProc:
-                 /* Ignore all parameter symbol records.  */
-                 if (sh.index >= hdr->iauxMax)
-                   {
-                     /* Should not happen, but does when cross-compiling
-                        with the MIPS compiler.  FIXME -- pull later.  */
-                     index_complaint (name);
-                     new_sdx = cur_sdx + 1;    /* Don't skip at all */
-                   }
-                 else
-                   new_sdx = AUX_GET_ISYM (fh->fBigendian,
-                                           (debug_info->external_aux
-                                            + fh->iauxBase
-                                            + sh.index));
-
-                 if (new_sdx <= cur_sdx)
-                   {
-                     /* This should not happen either... FIXME.  */
-                     complaint (&symfile_complaints,
-                                "bad proc end in aux found from symbol %s",
-                                name);
-                     new_sdx = cur_sdx + 1;    /* Don't skip backward */
-                   }
-
-                  /* Make sure that this stProc entry represents a "real"
-                     procedure.  If not, ignore it.  */
-                  if (sh.st == stProc && sh.sc != scText)
-                    goto skip;
-
                  /* Usually there is a local and a global stProc symbol
                     for a function. This means that the function name
                     has already been entered into the mimimal symbol table
@@ -3400,8 +3345,30 @@ parse_partial_symbols (struct objfile *objfile)
                                         &objfile->static_psymbols,
                                    0, sh.value, psymtab_language, objfile);
 
+                 /* Skip over procedure to next one. */
+                 if (sh.index >= hdr->iauxMax)
+                   {
+                     /* Should not happen, but does when cross-compiling
+                        with the MIPS compiler.  FIXME -- pull later.  */
+                     index_complaint (name);
+                     new_sdx = cur_sdx + 1;    /* Don't skip at all */
+                   }
+                 else
+                   new_sdx = AUX_GET_ISYM (fh->fBigendian,
+                                           (debug_info->external_aux
+                                            + fh->iauxBase
+                                            + sh.index));
                  procaddr = sh.value;
 
+                 if (new_sdx <= cur_sdx)
+                   {
+                     /* This should not happen either... FIXME.  */
+                     complaint (&symfile_complaints,
+                                "bad proc end in aux found from symbol %s",
+                                name);
+                     new_sdx = cur_sdx + 1;    /* Don't skip backward */
+                   }
+
                  cur_sdx = new_sdx;
                  (*swap_sym_in) (cur_bfd,
                                  ((char *) debug_info->external_sym