--- src/lib/libast/sfio/sfcvt.c +++ src/lib/libast/sfio/sfcvt.c 2008-12-17 11:56:17.000000000 +0000 @@ -56,6 +56,16 @@ static char *Zero = "0"; #define _lib_signbit 1 #endif +#if defined(__ia64__) && defined(signbit) +# if defined __GNUC__ && __GNUC__ >= 4 +# define __signbitl(f) __builtin_signbitl(f) +# else +# if _lib_copysignl +# define __signbitl(f) (int)(copysignl(1.0,(f))<0.0) +# endif +# endif +#endif + #if ! _lib_signbit #if ! _ast_fltmax_double static int neg0ld(Sfdouble_t f) --- src/cmd/ksh93/features/math.sh +++ src/cmd/ksh93/features/math.sh 2012-01-20 14:23:37.587145847 +0000 @@ -130,6 +130,18 @@ echo "#include " case $_hdr_ieeefp in 1) echo "#include " ;; esac +cat <= 4 +# define __signbitl(f) __builtin_signbitl(f) +# else +# include +# if _lib_copysignl +# define __signbitl(f) (int)(copysignl(1.0,(f))<0.0) +# endif +# endif +#endif +! echo : generate the intercept functions and table entries