[PATCH] gdb/doublest.c: Avoid calling ldfrexp if long double is double.

Will Newton will.newton@linaro.org
Tue Jun 11 13:33:00 GMT 2013


On 7 June 2013 21:09, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
>> Date: Fri, 07 Jun 2013 19:39:05 +0100
>> From: Will Newton <will.newton@linaro.org>
>>
>> There's no need to call ldfrexp if long double is the same size
>> as double, the standard frexp will be faster and more accurate.
>> This fixes a failure in ldbl_308.exp on ARM, where long double
>> is the same size as double.
>>
>> gdb/ChangeLog:
>>
>> 2013-06-07  Will Newton  <will.newton@linaro.org>
>>
>>       * doublest.c (convert_doublest_to_floatformat): If long
>>       double is the same size as double call frexp instead of
>>       ldfrexp.
>> ---
>>  gdb/doublest.c | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> Hmm, sounds like the real bug is in ldfrexp.  Not sure if that is
> fixable though.  How many systems are still out there that have a long
> double type, but don't have frexpl(3)?
>
> Hmm, according to
>
>   <http://www.gnu.org/software/gnulib/manual/html_node/frexpl.html>
>
> there might still be a few.  But that means we just have to include
> another gnulib module ;).

This sounds like a better approach than my patch. Is there a standard
set of steps to add a new gnulib module?

I tried adding frexpl to update-gnulib.sh and that seems to work, but
then all my systems are glibc-based so frexpl is present and correct
anyway.

Thanks,

--
Will Newton
Toolchain Working Group, Linaro



More information about the Gdb-patches mailing list