This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH][PR 18702] Fix wrong output of x87 registers due to truncation to double on amd64
- From: Ruslan Kabatsayev <b7 dot 10110111 at gmail dot com>
- To: gdb-patches at sourceware dot org
- Date: Sat, 21 Nov 2015 01:07:09 +0300
- Subject: [PATCH][PR 18702] Fix wrong output of x87 registers due to truncation to double on amd64
- Authentication-results: sourceware.org; auth=none
When `info float` is used on an AMD64 system, GDB prints floating-point
values of x87 registers with raw contents like 0x361a867a8e0527397ce0 or
0xc4f988454a1ddd3cfdab wrongly. This happens due to truncation to double,
after which the former becomes 0.0, and the latter becomes negative infinity.
This is caused by failed detection of x86-64 host, which results in setting
gdb_host_{float,double,long_double}_format to zeros.
This commit fixes this misdetection.
gdb/ChangeLog:
* configure.host: Fix detection of x86_64 host when setting floatformats
---
gdb/configure.host | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/configure.host b/gdb/configure.host
index 48714f4..ef265eb 100644
--- a/gdb/configure.host
+++ b/gdb/configure.host
@@ -195,7 +195,7 @@ esac
# "double" and "long double" types.
case "${host}" in
-i[34567]86-*-*)
+i[34567]86-*-*|x86_64-*-*)
gdb_host_float_format="&floatformat_ieee_single_little"
gdb_host_double_format="&floatformat_ieee_double_little"
gdb_host_long_double_format="&floatformat_i387_ext"
--
1.7.10.2