svn commit: r257818 - in head/lib/msun: . src

Ian Lepore ian at FreeBSD.org
Thu Nov 7 21:42:14 UTC 2013


On Thu, 2013-11-07 at 21:20 +0000, Steve Kargl wrote:
> Author: kargl
> Date: Thu Nov  7 21:20:34 2013
> New Revision: 257818
> URL: http://svnweb.freebsd.org/changeset/base/257818
> 
> Log:
>   Fix bulding libm on platforms with LDBL_MANT_DIG == 53.
>   
>   Reported by:	ian
> 
> Modified:
>   head/lib/msun/Makefile
>   head/lib/msun/src/s_round.c
> 
> Modified: head/lib/msun/Makefile
> ==============================================================================
> --- head/lib/msun/Makefile	Thu Nov  7 21:16:32 2013	(r257817)
> +++ head/lib/msun/Makefile	Thu Nov  7 21:20:34 2013	(r257818)
> @@ -71,7 +71,7 @@ COMMON_SRCS= b_exp.c b_log.c b_tgamma.c 
>  	s_lround.c s_lroundf.c s_lroundl.c s_modff.c \
>  	s_nan.c s_nearbyint.c s_nextafter.c s_nextafterf.c \
>  	s_nexttowardf.c s_remquo.c s_remquof.c \
> -	s_rint.c s_rintf.c s_round.c s_roundf.c s_roundl.c \
> +	s_rint.c s_rintf.c s_round.c s_roundf.c \
>  	s_scalbln.c s_scalbn.c s_scalbnf.c s_signbit.c \
>  	s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c \
>  	s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_tgammaf.c s_trunc.c s_truncf.c \
> @@ -101,7 +101,7 @@ COMMON_SRCS+=	e_acoshl.c e_acosl.c e_asi
>  	s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cosl.c s_cprojl.c \
>  	s_csqrtl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \
>  	s_frexpl.c s_logbl.c s_logl.c s_nanl.c s_nextafterl.c \
> -	s_nexttoward.c s_remquol.c s_rintl.c s_scalbnl.c \
> +	s_nexttoward.c s_remquol.c s_rintl.c  s_roundl.c s_scalbnl.c \
>  	s_sinl.c s_tanl.c s_truncl.c w_cabsl.c
>  .endif
>  
> 
> Modified: head/lib/msun/src/s_round.c
> ==============================================================================
> --- head/lib/msun/src/s_round.c	Thu Nov  7 21:16:32 2013	(r257817)
> +++ head/lib/msun/src/s_round.c	Thu Nov  7 21:20:34 2013	(r257818)
> @@ -52,3 +52,7 @@ round(double x)
>  		return (-t);
>  	}
>  }
> +
> +#if (LDBL_MANT_DIG == 53)
> +__weak_reference(round, roundl);
> +#endif

I don't think that's a complete fix.  I got a linker "undefined
reference" error when testing your patch.  I decided to make sure it
wasn't a -DNO_CLEAN artifact and did a fresh build, and it just failed:

--- games.all__D ---
/local/build/staging/freebsd/bb/obj/arm.armv6/local/build/staging/freebsd/bb/src/tmp/usr/lib/libm.so: undefined reference to `roundl'

The complete log is here:

http://people.freebsd.org/~ian/make.log

-- Ian




More information about the svn-src-head mailing list