aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2012-07-25 18:27:21 +0000
committerJoel Brobecker <brobecker@gnat.com>2012-07-25 18:27:21 +0000
commit33d7655bb2b3cc12ac5401ae107a0aca33085d6e (patch)
treea45a8f48f08d796940de8a83d903bde13a7f1f12 /gdb/ChangeLog
parenta22d44ff78d262f07f777bc57098574da5afb827 (diff)
downloadgdb-33d7655bb2b3cc12ac5401ae107a0aca33085d6e.zip
gdb-33d7655bb2b3cc12ac5401ae107a0aca33085d6e.tar.gz
gdb-33d7655bb2b3cc12ac5401ae107a0aca33085d6e.tar.bz2
convert_doublest_to_floatformat: handle off-range values.
On x86_64-linux targetting AVR, we see the following issues: (gdb) print 1.6e+308 $1 = 0.89002949 (gdb) print 1.6e-308 $3 = 2.87630892 What happens is that GDB is trying to convert the value it read (as a host "long double") into a target "double" value. The routine performing the conversion does not realize that 1.6e+308 is just too large to fit in a double. Similarly, it does not notice that 1.6e-308 is too small to be represented. This patch enhances convert_doublest_to_floatformat to both handle floats that are too small and too large. gdb/ChangeLog: * doublest.c (convert_doublest_to_floatformat): If the exponent is too small, treat the value as zero. If the exponent is too large, treat the value as infinity.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b5aa871..2c1520b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2012-07-25 Joel Brobecker <brobecker@adacore.com>
+ * doublest.c (convert_doublest_to_floatformat): If the exponent
+ is too small, treat the value as zero. If the exponent is too
+ large, treat the value as infinity.
+
+2012-07-25 Joel Brobecker <brobecker@adacore.com>
+
* configure.ac: Add --enable-lmcheck configure option.
* configure: Regenerate.