2002-06-08 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 9 Jun 2002 03:08:54 +0000 (03:08 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 9 Jun 2002 03:08:54 +0000 (03:08 +0000)
* elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
work around a long long bug in gcc 2.96 on mips.

bfd/ChangeLog
bfd/elf.c

index e9fd3f2fd4fdc8ccb5c7b344b79906ceac79bd16..d7b6138217dd0dd10677a804b4f5825c883284d8 100644 (file)
@@ -1,3 +1,8 @@
+2002-06-08  H.J. Lu <hjl@gnu.org>
+
+       * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
+       work around a long long bug in gcc 2.96 on mips.
+
 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
index dd1b0673e4b9427b3229f09e170873f1ff85d323..61b9f50b064b2e12f03060d58e736ed281dbd7f8 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4688,7 +4688,9 @@ copy_private_bfd_data (ibfd, obfd)
         pointers that we are interested in.  As these sections get assigned
         to a segment, they are removed from this array.  */
 
-      amt = (bfd_size_type) section_count * sizeof (asection *);
+      /* Gcc 2.96 miscompiles this code on mips. Don't do casting here
+        to work around this long long bug.  */
+      amt = section_count * sizeof (asection *);
       sections = (asection **) bfd_malloc (amt);
       if (sections == NULL)
        return false;