Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Nov 2012 23:43:45 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Dimitry Andric <dim@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r242879 - in head/lib: libc/gen msun/src
Message-ID:  <20121110214345.GT73505@kib.kiev.ua>
In-Reply-To: <201211102122.qAALMAnO014246@svn.freebsd.org>
References:  <201211102122.qAALMAnO014246@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--99MdDuYC93zIKUQv
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Nov 10, 2012 at 09:22:10PM +0000, Dimitry Andric wrote:
> Author: dim
> Date: Sat Nov 10 21:22:10 2012
> New Revision: 242879
> URL: http://svnweb.freebsd.org/changeset/base/242879
>=20
> Log:
>   Only define isnan, isnanf, __isnan and __isnanf in libc.so, not in
>   libc.a and libc_p.a.  In addition, define isnan in libm.a and libm_p.a,
>   but not in libm.so.
>  =20
>   This makes it possible to statically link executables using both isnan
>   and isnanf with libc and libm.
>  =20
>   Tested by:	kargl
>   MFC after:	1 week
>=20
> Modified:
>   head/lib/libc/gen/isnan.c
>   head/lib/msun/src/s_isnan.c
>=20
> Modified: head/lib/libc/gen/isnan.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/lib/libc/gen/isnan.c	Sat Nov 10 21:09:17 2012	(r242878)
> +++ head/lib/libc/gen/isnan.c	Sat Nov 10 21:22:10 2012	(r242879)
> @@ -35,6 +35,7 @@
>   *     binary compat until we can bump libm's major version number.
>   */
> =20
> +#ifdef PIC
>  __weak_reference(__isnan, isnan);
>  __weak_reference(__isnanf, isnanf);
> =20
> @@ -55,3 +56,4 @@ __isnanf(float f)
>  	u.f =3D f;
>  	return (u.bits.exp =3D=3D 255 && u.bits.man !=3D 0);
>  }
> +#endif /* PIC */
>=20
> Modified: head/lib/msun/src/s_isnan.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/lib/msun/src/s_isnan.c	Sat Nov 10 21:09:17 2012	(r242878)
> +++ head/lib/msun/src/s_isnan.c	Sat Nov 10 21:22:10 2012	(r242879)
> @@ -30,8 +30,9 @@
> =20
>  #include "fpmath.h"
> =20
> -/* Provided by libc */
> -#if 0
> +/* Provided by libc.so */
> +#ifndef PIC
> +#undef isnan
>  int
>  isnan(double d)
>  {
> @@ -40,7 +41,7 @@ isnan(double d)
>  	u.d =3D d;
>  	return (u.bits.exp =3D=3D 2047 && (u.bits.manl !=3D 0 || u.bits.manh !=
=3D 0));
>  }
> -#endif
> +#endif /* !PIC */
> =20
>  int
>  __isnanf(float f)
So you broke ABI for libm ?

--99MdDuYC93zIKUQv
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEARECAAYFAlCeypAACgkQC3+MBN1Mb4gQBACfX3Lbm8p1JdV2Sn8achQSsHEO
dxwAn1K1VSurCuOH3Y8Z4yxwxPh/QaaZ
=o0Bs
-----END PGP SIGNATURE-----

--99MdDuYC93zIKUQv--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121110214345.GT73505>