Re: Need to build libgfortran.a and libquadmath.a

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux