Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 19 Jun 2020 21:29:04 -0500
From: <sidneym@...eaurora.org>
To: <musl@...ts.openwall.com>
Cc: "'Szabolcs Nagy'" <nsz@...t70.net>
Subject: RE: Hexagon DSP support



> -----Original Message-----
> From: Rich Felker <dalias@...c.org>
> Sent: Friday, June 19, 2020 5:46 PM
> To: sidneym@...eaurora.org
> Cc: 'Szabolcs Nagy' <nsz@...t70.net>; musl@...ts.openwall.com
> Subject: Re: [musl] Hexagon DSP support
> 
> On Fri, Jun 19, 2020 at 04:58:53PM -0500, sidneym@...eaurora.org wrote:
> >
> > > -----Original Message-----
> > > From: Szabolcs Nagy <nsz@...t70.net>
> > > Sent: Thursday, June 18, 2020 4:43 PM
> > > To: sidneym@...eaurora.org
> > > Cc: musl@...ts.openwall.com
> > > Subject: Re: [musl] Hexagon DSP support
> > >
> > > * sidneym@...eaurora.org <sidneym@...eaurora.org> [2020-06-18
> > > 11:37:05
> > > -0500]:
> > > > I attached the updated REPORT with warning output disabled, -w and
> > > > -fno-rounding-math (See
> > > > https://bugs.llvm.org/show_bug.cgi?id=45329)
> > > > along with the patch.  I've rebased a couple of times without any
> > > > conflicts and the git repo is here:
> > > > https://github.com/quic/musl/tree/hexagon
> > >
> > > the fmal failures are a bit concerning:
> > >
> > > fmal should be a tail call to fma if long double has the same
> > representation as
> > > double. (can you please verify this? there should be a single branch
> > instruction
> > > in fmal)
> > >
> > > there are no fma failures with the same tests so fmal should work
> > > fine
> > too.
> >
> > In the case of fma the selected function comes from
compiler-rt-builtins.
> > It looks like since fmal calls fma within the context of the c-library
> > the c-library's version is branched to.
> 
> Are you talking about how libc-test was built or how musl was built?
> This kind of replacement is not valid in either place. musl is built with
-
> ffreestanding, and libc-test is expected to be built with -fno-builtin.
> 
The link order is the reason.  The clang driver places
-lclang_rt.builtins-hexagon ahead of -lc and it happens that this library
includes an implementation of fma.  I think fma is something that was
introduced in error in compiler-rt.builtins because hexagon is the only arch
that has it.


> Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.