Re: [PATCH] Remove multiple defination error
Sebastian Huber <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
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 >> <[email protected] >> <mailto:[email protected]>> wrote: >> >> On 11/07/2020 00:41, Eshan dhawan wrote: >> >> > Signed-off-by: Eshan dhawan<[email protected] >> <mailto:[email protected]>> >> > --- >> > 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 : [email protected] PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.