[PATCH] Remove multiple defination error
Sebastian Huber
sebastian.huber@embedded-brains.de
Mon Jul 13 05:48:40 GMT 2020
On 13/07/2020 07:36, Sebastian Huber wrote:
> On 11/07/2020 19:18, Eshan Dhawan wrote:
>>
>>
>> On Sat, Jul 11, 2020 at 8:46 PM Sebastian Huber
>> <sebastian.huber@embedded-brains.de
>> <mailto:sebastian.huber@embedded-brains.de>> wrote:
>>
>> On 11/07/2020 00:41, Eshan dhawan wrote:
>>
>> > Signed-off-by: Eshan dhawan<eshandhawan51@gmail.com
>> <mailto:eshandhawan51@gmail.com>>
>> > ---
>> > newlib/libm/machine/arm/fenv-vfp.c | 7 ++++-
>> > newlib/libm/machine/arm/fenv.c | 47
>> +++++++++++++++++++-----------
>> > 2 files changed, 36 insertions(+), 18 deletions(-)
>>
>> What are the design goals of this implementation? Should it work with
>> some sort of run time VFP detection? Should it select the support
>> using
>> builtin defines?
>>
>> It used the GCC flags to detect VPF
>> if VPF is not selected all the symbols of vfp won't appear :)
>>
>>
>> I would use builtin defines only and then just use a single file.
>>
>> I tried converting into a single file but the file becomes too complex
>> to handle and check for errors. :)
>
> Complexity is always a bit subjective.
>
> How did you test the ARM implementation? I doubt the soft-float support
> works at all. FreeBSD ships its own soft-float library. Newlib uses the
> one from libgcc by default. They are not compatible.
>
> I guess the MIPS soft-float fenv support has this issue as well.
>
> Having an GCC incompatible soft-float fenv support in Newlib makes no
> sense to me. How can we fix this? Disable it completely or return some
> run time errors?
>
> Maybe we should remove the ARM fenv support from Newlib until these
> issues are fixed and a working implementation is available.
I noticed that the PowerPC fenv support unconditionally assumes that a
floating-point unit is available. Not all PowerPC processors support a
floating-point unit and some applications may intentionally use
soft-float. Using this code may result in an unimplemented exception if
MSR[FP]=1, or an FP Unavailable exception if MSR[FP]=0.
If this is a desirable behaviour, then we can use the same on ARM. Just
provide the VFP implementation. If you use the stuff in other setups you
get an exception.
--
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