public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Earnshaw <Richard.Earnshaw@foss.arm.com>
To: Andy Bowery <abowery@yahoo.com>,
	"gcc-help@gcc.gnu.org" <gcc-help@gcc.gnu.org>,
	Xi Ruoyao <xry111@mengyan1223.wang>
Subject: Re: Need to build libgfortran.a and libquadmath.a
Date: Thu, 31 Mar 2022 15:21:14 +0100	[thread overview]
Message-ID: <567cc39e-e13c-3b99-0fb1-b3a4d570d478@foss.arm.com> (raw)
In-Reply-To: <763223208.228894.1648732858684@mail.yahoo.com>



On 31/03/2022 14:20, Andy Bowery via Gcc-help wrote:
>   
> Thank you Ruoyao for your answer on this.
> Does anyone in the community have experience of building 'libquadmath' on the ARM  (aarch64) platform?Particularly using gcc, are there flags that I need to set in order to get it built? Or should I obtain the ARM compiler provided by ARM (which is not free unfortunately)?
> Thanks,
> Andy Bowery    On Tuesday, 29 March 2022, 16:56:13 BST, Xi Ruoyao <xry111@mengyan1223.wang> wrote:
>   
>   On Tue, 2022-03-29 at 15:29 +0000, Andy Bowery via Gcc-help wrote:
>>   Thank you Jonathan for your quick response. I am afraid at the moment
>> I don't have access to such a multicore system. I will investigate
>> setting one up.
>> I tried a different approach and that was to build within the
>> libgfortran subfolder, by running 'configure' followed by 'make' in
>> that subfolder. I needed to make libbacktrace.la and libbacktrace.a
>> available. However this worked and 'libgfortran.a' was created.
>> So I tried the same approach in the libquadmath subfolder in order to
>> build 'libquadmath.a'. So in this subfolder I ran:
>> automake./configuremake
>> However all I got was the following output and no files created:
>> make  all-am
>> make[1]: Entering directory '/home/root/gcc/libquadmath'
>>
>> make  DO=all multi-do # make
>>
>> make[2]: Entering directory '/home/root/gcc/libquadmath'
>>
>> make[2]: Leaving directory '/home/root/gcc/libquadmath'
>> make[1]: Leaving directory '/home/root/gcc/libquadmath'
>>
>> What should I do here? I presume that this is what the higher Makefile
>> in gcc runs in this subfolder. So if I was run 'make' of the gcc
>> folder all the through, I presume that it wouldn't make the file
>> 'libquadmath.a' either. How do I get it to make libquadmath.a using
>> the Makefile in the libquadmath subfolder?
> 
> I don't think this is supported by GCC building system.  libquadmath,
> like other GCC target libraries, is only expected to be built with the
> exact same GCC version in the release tarball.  Using another compiler
> may cause failure.
> 
> For this specific issue, take a look at configure.ac:
> 
> AM_CONDITIONAL(BUILD_LIBQUADMATH, [test "x$libquad_cv_have_float128" = xyes])
> 
> So, if your compiler does not support __float128, libquadmath building
> system will do nothing.
> 
>  From https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html:
> 
>      __float128 is available on i386, x86_64, IA-64, and hppa HP-UX, as
>      well as on PowerPC GNU/Linux targets that enable the vector scalar
>      (VSX) instruction set.
> 
> So I guess __float128 is simply not available for your target.  Then
> there is no way to build libquadmath for it.

The AArch64 port of GCC provides _Float128, but it would appear it does 
not provide __float128.  Perhaps this is because the standards have 
started to move towards the former and the latter is some GNU extension?

Perhaps you could hack this by building with -D__float128=_Float128.

R.

  reply	other threads:[~2022-03-31 14:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <222147991.846192.1648491515241.ref@mail.yahoo.com>
2022-03-28 18:18 ` Andy Bowery
2022-03-28 19:52   ` Jonathan Wakely
2022-03-29 15:29     ` Andy Bowery
2022-03-29 15:57       ` Xi Ruoyao
2022-03-31 13:20         ` Andy Bowery
2022-03-31 14:21           ` Richard Earnshaw [this message]
2022-03-31 14:21           ` Jonathan Wakely
2022-03-31 14:22             ` Jonathan Wakely

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=567cc39e-e13c-3b99-0fb1-b3a4d570d478@foss.arm.com \
    --to=richard.earnshaw@foss.arm.com \
    --cc=abowery@yahoo.com \
    --cc=gcc-help@gcc.gnu.org \
    --cc=xry111@mengyan1223.wang \
    /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.
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 read-only IMAP folder(s) and NNTP newsgroup(s).