Fix error reading ECOFF information: 'ioptMax' refers to the actual *size*
authorNick Clifton <nickc@redhat.com>
Thu, 19 Sep 2002 15:38:36 +0000 (15:38 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 19 Sep 2002 15:38:36 +0000 (15:38 +0000)
of the optimization symtab, not the number of entries.

bfd/ChangeLog
bfd/ecoff.c

index 64b9bcc..233e519 100644 (file)
@@ -4,6 +4,9 @@
        correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
        on 64 bit machines.
        (ecoff_swap_sym_in) <iss>: Likewise.
+       * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
+       ECOFF information: 'ioptMax' refers to the actual *size*
+       of the optimization symtab, not the number of entries.
 
 2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
 
index f37ea56..47b6582 100644 (file)
@@ -553,7 +553,9 @@ _bfd_ecoff_slurp_symbolic_info (abfd, ignore, debug)
   UPDATE_RAW_END (cbDnOffset, idnMax, backend->debug_swap.external_dnr_size);
   UPDATE_RAW_END (cbPdOffset, ipdMax, backend->debug_swap.external_pdr_size);
   UPDATE_RAW_END (cbSymOffset, isymMax, backend->debug_swap.external_sym_size);
-  UPDATE_RAW_END (cbOptOffset, ioptMax, backend->debug_swap.external_opt_size);
+  /* eraxxon@alumni.rice.edu: ioptMax refers to the size of the
+     optimization symtab, not the number of entries */
+  UPDATE_RAW_END (cbOptOffset, ioptMax, sizeof (char));
   UPDATE_RAW_END (cbAuxOffset, iauxMax, sizeof (union aux_ext));
   UPDATE_RAW_END (cbSsOffset, issMax, sizeof (char));
   UPDATE_RAW_END (cbSsExtOffset, issExtMax, sizeof (char));