aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--elf/cache.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5e109beace..1974243339 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-29 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/cache.c (add_to_cache): Don't loop forever with 1ULL << 63 set
+ in hwcap.
+
2002-12-28 Ulrich Drepper <drepper@redhat.com>
* misc/sys/cdefs.h (__attribute_deprecated__): New #define.
diff --git a/elf/cache.c b/elf/cache.c
index 67874b3c9e..4f72f10491 100644
--- a/elf/cache.c
+++ b/elf/cache.c
@@ -475,7 +475,7 @@ add_to_cache (const char *path, const char *lib, int flags,
new_entry->bits_hwcap = 0;
/* Count the number of bits set in the masked value. */
- for (i = 0; (~((1ULL << i) - 1) & hwcap) != 0; ++i)
+ for (i = 0; (~((1ULL << i) - 1) & hwcap) != 0 && i < 8 * sizeof (hwcap); ++i)
if ((hwcap & (1ULL << i)) != 0)
++new_entry->bits_hwcap;