[PATCH 0/3]: Add math support for non LDBL_EQ_DBL architecture
Corinna Vinschen
vinschen@redhat.com
Wed Apr 5 09:23:41 GMT 2023
Hi Jennifer,
On Apr 3 15:58, Jennifer Averett wrote:
> The attached set of patches add long double support for i386, aarch64 and
> x86_64. The riscv and powerpc are supported by FreeBSD but will need more
> work to be supported by newlib. FreeBSD has separate 64 and 32 bit powerpc
> support which would have to be integrated for newlib. FreeBSD riscv support
> is 64 and there are issues with fenv.h that would have to be addressed.
Thanks for your patchset, it looks pretty well to me, though I like
to have input on this from my co-maintainer Jeff, too.
I noticed that you exclude Cygwin from the new code, which makes sense
as long as we provide our own long double math taken from Mingw-w64.
However, there's something not quite right. When trying to build I get
symbol conflicts for the fdim{f,l} and scalbln{f,l} symbols in the link
stage (paths shortend for readability):
ld: libm.a(libm_a-s_fdim.o): in function `fdimf':
newlib/libm/ld/s_fdim.c:47: multiple definition of `fdimf'; libm.a(libm_a-sf_fdim.o):newlib/libm/common/sf_fdim.c:16: first defined here
ld: libm.a(libm_a-s_fdim.o): in function `fdiml':
newlib/libm/ld/s_fdim.c:48: multiple definition of `fdiml'; libdll.a(fdiml.o):winsup/cygwin/math/fdiml.c:11: first defined here
ld: libm.a(libm_a-s_scalbln.o): in function `scalblnf':
newlib/libm/ld/s_scalbln.c:46: multiple definition of `scalblnf'; libm.a(libm_a-sf_scalbln.o):newlib/libm/common/sf_scalbln.c:34: first defined here
ld: libm.a(libm_a-s_scalbln.o): in function `scalblnl':
newlib/libm/ld/s_scalbln.c:53: multiple definition of `scalblnl'; libdll.a(scalbnl.o):winsup/cygwin/scalbnl.S:19: first defined here
The conflicts really ony occur for these four functions. Any chance
to fix these?
Thanks,
Corinna
More information about the Newlib
mailing list