newlib ieeefp.h again

Sebastian Huber sebastian.huber@embedded-brains.de
Fri Mar 24 06:05:00 GMT 2017



On 23/03/17 21:05, Craig Howland wrote:
>
>
> On 03/23/2017 02:58 AM, Sebastian Huber wrote:
>> On 23/03/17 00:17, Andrew Johnson wrote:
>>> Hi Joel & Craig,
>>>
>>> Hopefully you remember this email conversation from November:
>>>
>>> https://sourceware.org/ml/newlib/2016/msg01117.html
>>>
>>> I just built the RTEMS master branch for the uC5282 BSP, and found the
>>> same problem with the ieeefp.h header when building EPICS Base using 
>>> the
>>> result. I think I can explain what's happening.
>>>
>>> Newlib's setting for _LDBL_EQ_DBL (in newlib.h) needs to change 
>>> based on
>>> the particular CPU being compiled for. Here's some evidence:
>>
>> Yes, this definition of _LDBL_EQ_DBL is wrong, since it depends on 
>> the multilib. For example we have in the GCC build tree:
>>
>> grep _LDBL_EQ_DBL `find -name newlib.h`
>> ./m68k-rtems4.12/m68040/softfp/newlib/newlib.h:/* #undef _LDBL_EQ_DBL */
>> ...
>>
>> In the installation tree:
>>
>> grep _LDBL_EQ_DBL `find -name newlib.h`
>> ./m68k-rtems4.12/include/newlib.h:/* #undef _LDBL_EQ_DBL */
>>
>> So, only one random newlib.h is copied to the installation tree, 
>> therefore all newlib.h of the build tree must be identical.
>>
>> I would move the _LDBL_EQ_DBL definition to <ieeefp.h> based on 
>> compiler provided defines.
>>
> The primary question is whether this is truly possible or not, which 
> will depend upon both what compiler and how old of a compiler version 
> newlib wants to support.  Back in 2009 when _LDBL_EQ_DBL was added to 
> newlib.hin, this was not really possible as both float.h and compiler 
> predefines were spotty.  As long as we don't need to go back too many 
> versions, it ought to be fine to do it at build time now.
> Craig

Does "spotty" mean they are broken or not available? Maybe we should

1. define _LDBL_EQ_DBL in <ieeefp.h> by means of compiler defines

2. fall back to define_LDBL_EQ_DBL via  a 
_HIGHLY_DANGEROUS_LDBL_EQ_DBL_HINT defined via <newlib.h>

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Newlib mailing list