On Fri, Dec 03, 2021 at 08:29:53AM +0100, Thomas Koenig wrote: > > On 01.12.21 21:54, Jakub Jelinek via Fortran wrote: > > > Inside of libgfortran, I think it should depend on some macro defined > > in libgfortran.h. > > #if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ \ > > && defined __GLIBC_PREREQ && __GLIBC_PREREQ (2, 32) > > then > > #define MATHFUNC(funcname) __ ## funcname ## ieee128 > > (i.e. use the functions that will be used when one uses e.g. > > sinl in C when compiled with -mabi=ieeelongdouble), but I'm not sure > > if those need to be declared by libgfortran or math.h declares them). > > Otherwise (when libgfortran is compiled against glibc older than 2.32) > > it should use > > #define MATHFUNC(funcname) funcname ## q > > i.e. use the libquadmath APIs). > > The current Ubuntu does not have these functions: > > ubuntu@gcc-fortran:/lib/powerpc64le-linux-gnu$ nm libm.a 2>/dev/null | grep > ieee128 > ubuntu@gcc-fortran:/lib/powerpc64le-linux-gnu$ > > Will they be supplied in the future, or with the advanced toolchain?
It is part of upstream glibc 2.32 (released Aug 2020) and later, see https://sourceware.org/git/?p=glibc.git;a=commit;h=051be01f6b41a1466b07ae4bd7f5894a8ec5fe67 distrowatch says that glibc 2.32 and later is in Ubuntu 21.04 and later. Jakub