From Michael Snyder <Michael_Snyder@next.com>:
authorFred Fish <fnf@specifix.com>
Wed, 12 Jun 1996 03:10:51 +0000 (03:10 +0000)
committerFred Fish <fnf@specifix.com>
Wed, 12 Jun 1996 03:10:51 +0000 (03:10 +0000)
* bcache.c (print_bcache_statistics): Avoid divide-by-zero
exception if one or more objfile has no symbols, such as when
a dynamic library has been stripped.

gdb/ChangeLog
gdb/bcache.c

index af4e03a66503cbebaf2fa3ebaec85761c97d85cb..ec644c79c3e873cdcb68783a40299eb8d55be93e 100644 (file)
@@ -1,3 +1,18 @@
+Tue Jun 11 19:52:50 1996  Fred Fish  <fnf@cygnus.com>
+
+       From Michael Snyder <Michael_Snyder@next.com>:
+       * bcache.c (print_bcache_statistics): Avoid divide-by-zero
+       exception if one or more objfile has no symbols, such as when
+       a dynamic library has been stripped.
+
+Tue Jun 11 12:02:55 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+       * Makefile.in (INTERNAL_LDFLAGS):  Add in flags from configure.
+       * configure configure.in:  Only make sol-thread.o for native.
+       Also, switch to dlopened libthread_db.so.1.
+       * sol-thread.c:  Switch to using dlopen to get the thread_db
+       library.
+
 Mon Jun 10 14:17:19 1996  Fred Fish  <fnf@cygnus.com>
 
        * config/sparc/{xm-sun4sol2.h,xm-sun4os4.h} (MMAP_BASE_ADDRESS):
index ae73c11ff3cc88d9592812561d6ce0b4cf66dfd9..ede908ba51b56bc71d0991c3ef0e198866b5acc5 100644 (file)
@@ -173,16 +173,40 @@ print_bcache_statistics (bcachep, id)
   printf_filtered ("  Cached '%s' statistics:\n", id);
   printf_filtered ("    Cache hits: %d\n", bcachep -> cache_hits);
   printf_filtered ("    Cache misses: %d\n", bcachep -> cache_misses);
-  printf_filtered ("    Cache hit ratio: %d%%\n", ((bcachep -> cache_hits) * 100) /  (bcachep -> cache_hits + bcachep -> cache_misses));
+  printf_filtered ("    Cache hit ratio: ");
+  if (bcachep -> cache_hits + bcachep -> cache_misses > 0)
+    {
+      printf_filtered ("%d%%\n", ((bcachep -> cache_hits) * 100) /
+                      (bcachep -> cache_hits + bcachep -> cache_misses));
+    }
+  else
+    {
+      printf_filtered ("(not applicable)\n");
+    }
   printf_filtered ("    Space used for caching: %d\n", bcachep -> cache_bytes);
   printf_filtered ("    Space saved by cache hits: %d\n", bcachep -> cache_savings);
   printf_filtered ("    Number of bcache overflows: %d\n", bcachep -> bcache_overflows);
   printf_filtered ("    Number of index buckets used: %d\n", tcount);
   printf_filtered ("    Number of hash table buckets used: %d\n", hcount);
   printf_filtered ("    Number of chained items: %d\n", lcount);
-  printf_filtered ("    Average hash table population: %d%%\n",
-                  (hcount * 100) / (tcount * BCACHE_HASHSIZE));
-  printf_filtered ("    Average chain length %d\n", lcount / hcount);
+  printf_filtered ("    Average hash table population: ");
+  if (tcount > 0)
+    {
+      printf_filtered ("%d%%\n", (hcount * 100) / (tcount * BCACHE_HASHSIZE));
+    }
+  else
+    {
+      printf_filtered ("(not applicable)\n");
+    }
+  printf_filtered ("    Average chain length ");
+  if (hcount > 0)
+    {
+      printf_filtered ("%d\n", lcount / hcount);
+    }
+  else
+    {
+      printf_filtered ("(not applicable)\n");
+    }
   printf_filtered ("    Maximum chain length %d at %d:%d\n", lmax, lmaxt, lmaxh);
 }