diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2001-11-11 22:18:01 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@axis.com> | 2001-11-11 22:18:01 +0000 |
commit | c416ae89eea9ed2a355a30d26ec14a3b3d376ed9 (patch) | |
tree | a383ac2fa184e97fcb8df00980499a47facea8fc /bfd/elf-strtab.c | |
parent | 358376fb7b922cfb98ca7d27dc218740e3f978a0 (diff) | |
download | binutils-redhat-c416ae89eea9ed2a355a30d26ec14a3b3d376ed9.tar.gz |
* elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i
size_t. Rename second i to j.
Diffstat (limited to 'bfd/elf-strtab.c')
-rw-r--r-- | bfd/elf-strtab.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/bfd/elf-strtab.c b/bfd/elf-strtab.c index 59a25a5446..44d6fc8b29 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); |