https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94586
--- Comment #19 from dave.anglin at bell dot net --- On 2020-04-15 2:32 p.m., sgk at troutmask dot apl.washington.edu wrote: > On Wed, Apr 15, 2020 at 06:04:08PM +0000, dave.anglin at bell dot net wrote: >> /usr/lib/dld.sl: Unresolved symbol: strtoflt128 (data) from > This should be in libquadmath. > > % nm /usr/home/kargl/work/lib/libquadmath.a | grep strtoflt > strtoflt128.o: > 00000880 T strtoflt128 > This fixes the link issues but we are still left with cosl instead of cosq. HP-UX doesn't support weak very well. diff --git a/libgfortran/intrinsics/trigd.c b/libgfortran/intrinsics/trigd.c index 81699069545..ba92fbd0cb1 100644 --- a/libgfortran/intrinsics/trigd.c +++ b/libgfortran/intrinsics/trigd.c @@ -27,6 +27,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include <math.h> +#if (_POSIX_VERSION < 200112L) +#define fmaf(a,b,c) ((a)*(b)+(c)) +#define fma(a,b,c) ((a)*(b)+(c)) +#endif /* For real x, let {x}_P or x_P be the closest representible number in the diff --git a/libgfortran/kinds-override.h b/libgfortran/kinds-override.h index baa0f7e1cb5..38e70be542a 100644 --- a/libgfortran/kinds-override.h +++ b/libgfortran/kinds-override.h @@ -34,7 +34,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see GFC_REAL_16_IS_FLOAT128 macro that is used throughout libgfortran. */ #if defined(HAVE_GFC_REAL_16) -# if defined(HAVE_GFC_REAL_10) +# if defined(HAVE_GFC_REAL_10) || defined(__hpux__) # define GFC_REAL_16_IS_FLOAT128 # if !defined(HAVE_FLOAT128) # error "Where has __float128 gone?" diff --git a/libquadmath/quadmath_weak.h b/libquadmath/quadmath_weak.h index a97c813a013..2bbd2a11233 100644 --- a/libquadmath/quadmath_weak.h +++ b/libquadmath/quadmath_weak.h @@ -23,7 +23,7 @@ Boston, MA 02110-1301, USA. */ #include "quadmath.h" -#if SUPPORTS_WEAK +#if SUPPORTS_WEAK && !defined(__hpux__) # define __qmath2(name,name2,type) \ static __typeof(type) name __attribute__ ((__weakref__(#name2))) \ __quadmath_throw;