* elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i
authorHans-Peter Nilsson <hp@axis.com>
Sun, 11 Nov 2001 22:18:01 +0000 (22:18 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Sun, 11 Nov 2001 22:18:01 +0000 (22:18 +0000)
size_t.  Rename second i to j.

bfd/ChangeLog
bfd/elf-strtab.c

index 47cc29a..0e60f84 100644 (file)
@@ -1,3 +1,8 @@
+2001-11-11  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i
+       size_t.  Rename second i to j.
+
 Sat Nov 10 08:56:02 2001  Jeffrey A Law  (law@cygnus.com)
 
        * binary.c: Include safe-ctype.h after bfd.h and sysdep.h.
index 59a25a5..44d6fc8 100644 (file)
@@ -349,7 +349,13 @@ _bfd_elf_strtab_finalize (tab)
 {
   struct elf_strtab_hash_entry **array, **a, **end, *e;
   htab_t lasttab = NULL, last4tab = NULL;
-  bfd_size_type size, amt, i;
+  bfd_size_type size, amt;
+
+  /* GCC 2.91.66 (egcs-1.1.2) on i386 miscompiles this function when i is
+     a 64-bit bfd_size_type: a 64-bit target or --enable-64-bit-bfd.
+     Besides, indexing with a long long wouldn't give anything but extra
+     cycles.  */
+  size_t i;
 
   /* Now sort the strings by length, longest first.  */
   array = NULL;
@@ -380,7 +386,7 @@ _bfd_elf_strtab_finalize (tab)
     {
       register hashval_t hash;
       unsigned int c;
-      unsigned int i;
+      unsigned int j;
       const unsigned char *s;
       PTR *p;
 
@@ -389,7 +395,7 @@ _bfd_elf_strtab_finalize (tab)
        {
          s = e->root.string + e->len - 1;
          hash = 0;
-         for (i = 0; i < 4; i++)
+         for (j = 0; j < 4; j++)
            {
              c = *--s;
              hash += c + (c << 17);