summary refs log tree commit diff
path: root/elf/dl-profile.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-profile.c')
-rw-r--r--elf/dl-profile.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/elf/dl-profile.c b/elf/dl-profile.c
index 1a4f6b3105..f67b5d08b5 100644
--- a/elf/dl-profile.c
+++ b/elf/dl-profile.c
@@ -402,7 +402,16 @@ _dl_start_profile (struct link_map *map, const char *output_dir)
 
   /* Setup counting data.  */
   if (kcountsize < highpc - lowpc)
-    s_scale = ((double) kcountsize / (highpc - lowpc)) * SCALE_1_TO_1;
+    {
+      /* XXX I've not yet verified that the second expression is really
+	 well suited but something like this is in any case necessary
+	 for targets without hardware FP support.  --drepper  */
+#if 0
+      s_scale = ((double) kcountsize / (highpc - lowpc)) * SCALE_1_TO_1;
+#else
+      s_scale = (kcountsize * SCALE_1_TO_1) / (highpc - lowpc);
+#endif
+    }
   else
     s_scale = SCALE_1_TO_1;