[PATCH][PR 18702] Fix wrong output of x87 registers due to truncation to double on amd64
Ruslan Kabatsayev
b7.10110111@gmail.com
Sun Dec 6 06:30:00 GMT 2015
On 12/06/2015 01:41 AM, Andrew Burgess wrote:
> * Ruslan Kabatsayev <b7.10110111@gmail.com> [2015-12-04 19:09:46 +0300]:
>
>> 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, and adds a test to make sure future
>> commits don't introduce a regression here.
>>
>> gdb/ChangeLog:
>>
>> * configure.host: Fix detection of x86_64 host when setting
>> floatformats.
>> * testsuite/gdb.arch/i386-float.S: Add a regression test for the fix.
>> * testsuite/gdb.arch/i386-float.exp: Add checking of the test results.
>
> There's a separate ChangeLog in the gdb/testsuite directory, so you
> need to split your entry over these two files. And remember files
> names in the testsuite ChangeLog don't need to have the testsuite/
> prefix.
gdb/ChangeLog:
* configure.host: Fix detection of x86_64 host when setting
floatformats.
gdb/testsuite/ChangeLog:
* gdb.arch/i386-float.S: Add a regression test for the fix of
floatformats setup on x86_64 hosts.
* gdb.arch/i386-float.exp: Add checking of the test results for
floatformats setup on x86_64 hosts.
>
> Thanks,
> Andrew
>
>
More information about the Gdb-patches
mailing list