Need to build libgfortran.a and libquadmath.a

Andy Bowery abowery@yahoo.com
Thu Mar 31 13:20:58 GMT 2022


 
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.
-- 
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University
  


More information about the Gcc-help mailing list