Re: [PATCH 0/3]: Add math support for non LDBL_EQ_DBL architecture

Corinna Vinschen <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.