mailing list of musl libc
 help / color / mirror / code / Atom feed
From: SIMONE MIONE <205212@studenti.unimore.it>
To: Rich Felker <dalias@libc.org>
Cc: noloader@gmail.com, musl@lists.openwall.com
Subject: Re: [musl] musl how to use hard float with aarch64-none-elf-gcc
Date: Tue, 1 Mar 2022 09:36:44 +0100	[thread overview]
Message-ID: <CAOUaTh-JMF6BK8_U2KTiMjOTubBTAbnjwYU-tyy8z=B9oDb8kA@mail.gmail.com> (raw)
In-Reply-To: <20220225180114.GZ7074@brightrain.aerifal.cx>

[-- Attachment #1: Type: text/plain, Size: 4159 bytes --]

My problem is I don't know how to implement such functions. I mean,
functions like "__extenddftf2" and so on.
Does someone know how to do that? Does someone have some reference I can
check to implement those functions?

I already have integrated newlib into my system and I didn't have these
issues. Now I want to integrate musl but I can't because of this. What am I
missing?

Il giorno ven 25 feb 2022 alle ore 19:01 Rich Felker <dalias@libc.org> ha
scritto:

> On Fri, Feb 25, 2022 at 04:21:59PM +0100, SIMONE MIONE wrote:
> > And what if I don't want quad precision?
>
> Then you don't have to use it, but at least some minimal amount of the
> support code for it will be linked if you're using printf, since
> linking can't see what format strings you're using with printf.
>
> > I mean, when I try to print a float, vfprintf casts the float to a double
> > (and that's ok), but it seems like musl uses double as long double, so it
> > tries to cast the double to long double.
> > Is it true?
>
> Yes, the vfprintf converts all types up to the largest width/precision
> one when loading them so that there are not duplicate code paths. In
> the case of floating point, this is completely inconsequential because
> only a very small number of operations are performed on the floating
> point type to extract the exponent and mantissa and rounding
> direction. After that it's all integer arithmetic. And of course the
> result is not affected by this because all values of the narrower type
> are representable in the wider type (that's the whole point).
>
> > Can I use a double (or float) as a double precision instead of
> > quad precision?
>
> In short, no. There is no defined or supported ABI for aarch64 like
> that.
>
> In theory it would be possible to define, with assistance from the
> tooling (compiler etc), an ABI for aarch64 where long double is just a
> copy of double, but I'm unclear what value you'd be hoping to get out
> of that. Saving a small amount of .text size?
>
> Rich
>
>
> > Il giorno mer 16 feb 2022 alle ore 15:57 Rich Felker <dalias@libc.org>
> ha
> > scritto:
> >
> > > On Wed, Feb 16, 2022 at 12:59:13PM +0100, SIMONE MIONE wrote:
> > > > Thank you all for your reply.
> > > > I meant when I add musl's lib*.a into my makefile, the compiler
> complains
> > > > about "undefined reference to __addtf3" (and others). Isn't that
> > > > soft-float? Or emulation float?
> > >
> > > It's the implementation of long double which is IEEE quad in the
> > > aarch64 ABI.
> > >
> > > > My supervisor told me "we already have float implementation so we
> don't
> > > > need those functions". So I was wondering if I need to disable it in
> some
> > > > way.
> > >
> > > No, you need them because there is no fpu implementation of quad.
> > >
> > >
> > > > Il giorno mer 16 feb 2022 alle ore 12:32 Jeffrey Walton <
> > > noloader@gmail.com>
> > > > ha scritto:
> > > >
> > > > > On Wed, Feb 16, 2022 at 6:29 AM Szabolcs Nagy <nsz@port70.net>
> wrote:
> > > > > >
> > > > > > * Jeffrey Walton <noloader@gmail.com> [2022-02-16 05:24:48
> -0500]:
> > > > > > > On Wed, Feb 16, 2022 at 4:51 AM SIMONE MIONE <
> > > > > 205212@studenti.unimore.it> wrote:
> > > > > > > >
> > > > > > > > I am trying to integrate musl in a baremetal environment. I
> > > already
> > > > > have float support but I can't manage to disable soft-float by
> musl.
> > > > > > > >
> > > > > > > > I configure with:
> > > > > > > > ./configure --target=aarch64-none-elf --enable-debug
> > > --disable-shared
> > > > > > > > And simple compile with:
> > > > > > > > make
> > > > > > > >
> > > > > > > > Does anyone know how to use hardfloat instead of soft float?
> Is
> > > > > there any option or flag? Thank you
> > > > > > >
> > > > > > > The GCC options for hard-floats are -mfpu=neon
> -mfloat-abi=hard. In
> > > > > > > later versions of GCC, you can also use -mfpu=auto (sometimes).
> > > > > >
> > > > > > that's for 32bit arm
> > > > > >
> > > > > > there is no soft float abi for aarch64, so i'm not sure what's
> going
> > > on.
> > > > >
> > > > > Oh, you're right My bad. I did not notice it was Aarch64.
> > > > >
> > > > > Jeff
> > > > >
> > >
>

[-- Attachment #2: Type: text/html, Size: 5833 bytes --]

  reply	other threads:[~2022-03-01  8:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-16  9:50 SIMONE MIONE
2022-02-16 10:24 ` Jeffrey Walton
2022-02-16 11:29   ` Szabolcs Nagy
2022-02-16 11:32     ` Jeffrey Walton
2022-02-16 11:59       ` SIMONE MIONE
2022-02-16 14:57         ` Rich Felker
2022-02-25 15:21           ` SIMONE MIONE
2022-02-25 16:41             ` Damian McGuckin
2022-02-25 16:48               ` SIMONE MIONE
2022-02-25 18:01             ` Rich Felker
2022-03-01  8:36               ` SIMONE MIONE [this message]
2022-03-01 13:10                 ` Rich Felker
2022-03-25  9:08                   ` SIMONE MIONE

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOUaTh-JMF6BK8_U2KTiMjOTubBTAbnjwYU-tyy8z=B9oDb8kA@mail.gmail.com' \
    --to=205212@studenti.unimore.it \
    --cc=dalias@libc.org \
    --cc=musl@lists.openwall.com \
    --cc=noloader@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).