From: Hans-Peter Nilsson Date: Sun, 11 Nov 2001 22:18:01 +0000 (+0000) Subject: * elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i X-Git-Tag: cygnus_cvs_20020108_pre~721 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b959dc73d0b5b0023c2d2854c2af9f4c14ec44da;p=external%2Fbinutils.git * elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i size_t. Rename second i to j. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 47cc29a..0e60f84 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-11-11 Hans-Peter Nilsson + + * 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. diff --git a/bfd/elf-strtab.c b/bfd/elf-strtab.c index 59a25a5..44d6fc8 100644 --- a/bfd/elf-strtab.c +++ b/bfd/elf-strtab.c @@ -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);