(print_symbol): The index field of a global symbol is the symbol table index of the...
authorJim Wilson <wilson@gcc.gnu.org>
Tue, 8 Mar 1994 01:06:13 +0000 (17:06 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Tue, 8 Mar 1994 01:06:13 +0000 (17:06 -0800)
(print_symbol): The index field of a global symbol
is the symbol table index of the corresponding local symbol, not
an index into the aux table.
(print_file_desc): Print out size of line number
information rather than repeating line number count.
(print_file_desc): The cbLineOffset field of a PDR
is relative to the cbLineOffset field of the FDR.  Also, when
computing line_end of the last PDR, use cbLineOffset, not
ilineBase.

From-SVN: r6711

gcc/mips-tdump.c

index f31a92be57bc75f8b523e44190d3d89576f55623..843aa937c6e021e07e85bef37ebb58eebf18c60c 100644 (file)
@@ -957,11 +957,7 @@ print_symbol (sym_ptr, number, strbase, aux_base, ifd)
                    aux_base[index].isym, type_to_string (aux_base, index+1));
          }
        else                    /* global symbol */
-         {
-           used_ptr[index] = 1;
-           printf ("      Type: %s\n",
-                   type_to_string (aux_base, index));
-         }
+         printf ("      Local symbol: %d\n", index);
 
        if (want_scope)
          {
@@ -1161,7 +1157,7 @@ print_file_desc (fdp, number)
         width, "Line numbers",
         (ulong) fdp->cbLineOffset,
         (ulong) fdp->cline,
-        (ulong) fdp->cline,
+        (ulong) fdp->cbLine,
         (ulong) (fdp->cbLineOffset + sym_hdr.cbLineOffset));
 
   printf("    %-*s %11lu %11lu %11lu %11lu\n",
@@ -1294,14 +1290,15 @@ print_file_desc (fdp, number)
        {
          int delta, count;
          long cur_line = proc_ptr->lnLow;
-         uchar *line_ptr = ((uchar *)lines) + proc_ptr->cbLineOffset;
+         uchar *line_ptr = (((uchar *)lines) + proc_ptr->cbLineOffset
+                            + fdp->cbLineOffset);
          uchar *line_end;
 
          if (pdi == fdp->cpd + fdp->ipdFirst - 1)      /* last procedure */
-           line_end = ((uchar *)lines) + fdp->cbLine + fdp->ilineBase;
+           line_end = ((uchar *)lines) + fdp->cbLine + fdp->cbLineOffset;
          else                                          /* not last proc. */
-           line_end = ((uchar *)lines) + proc_desc[pdi+1].cbLineOffset;
-
+           line_end = (((uchar *)lines) + proc_desc[pdi+1].cbLineOffset
+                       + fdp->cbLineOffset);
 
          printf ("\n\tThere are %lu bytes holding line numbers, starting at %lu.\n",
                  (ulong) (line_end - line_ptr),