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

Joel Sherrill <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAF9ehCVcPk09-ufMHzfud83YjJqEN_i6p7vTipnU80KLxqvMNw@mail.gmail.com>
On Wed, Apr 5, 2023 at 4:23 AM Corinna Vinschen <[email protected]> wrote:

> 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 would assume at least Jeff's input on something like this. :)

Kudos to Jennifer for taking my half-finished second attempt at this and
pushing it to something that is much much closer.

>
> 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.
>

What needs to happen for Cygwin/Mingw_w64? Honestly, we didn't discuss
that at all.


>
> 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?
>

We chatted and those will be fixed in the next round.

Anything else you think needs tidying up?

--joel

>
>
> 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.