This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][PR 18702] Fix wrong output of x87 registers due to truncation to double on amd64



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
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]